<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    小方的Java博客

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      27 隨筆 :: 17 文章 :: 115 評論 :: 0 Trackbacks
    問題提出:看了不少文章處理中文,比如:在 jsp里寫
    //?傳統(tǒng)方式?
    <%@?page?contentType="text/html;?charset=gb2312"?%>?
    <html>?
    <body>?
    <form?method=post?action=test.jsp>?
    <input?type=text?name=your_name>?
    </form>?
    <%=?new?String(request.getParameter("your_name").getBytes("8859_1"),?"GB2312")?%>?
    </body>?
    </html>?

    //?新的方式?
    <%@?page?contentType="text/html;?charset=gb2312"?%>?
    <%?request.setCharacterEncoding("GB2312");?%>?
    <html>?
    <body>?
    <form?method=post?action=test.jsp>?
    <input?type=text?name=your_name>?
    </form>?
    <%=?request.getParameter("your_name")?%>?
    </body>?
    </html>?
    那是相當(dāng)不好的方法,現(xiàn)在介紹一個朋友教我的方法:

    問題解決方法:
    步驟1:先寫一個servlet? EncodingFilter.java
    ?1import?javax.servlet.FilterChain;
    ?2import?javax.servlet.ServletRequest;
    ?3import?javax.servlet.ServletResponse;
    ?4import?java.io.IOException;
    ?5import?javax.servlet.Filter;
    ?6import?javax.servlet.http.HttpServletRequest;
    ?7import?javax.servlet.ServletException;
    ?8import?javax.servlet.FilterConfig;
    ?9
    10public?class?EncodingFilter?implements?Filter?{
    11
    12????private?String?targetEncoding?=?"gb2312";
    13????protected?FilterConfig?filterConfig;
    14
    15????public?void?init(FilterConfig?config)?throws?ServletException?{
    16????????this.filterConfig?=?config;
    17????}

    18
    19????public?void?doFilter(
    20????????ServletRequest?srequest,
    21????????ServletResponse?sresponse,
    22????????FilterChain?chain)
    23????????throws?IOException,?ServletException?{
    24
    25????????HttpServletRequest?request?=?(HttpServletRequest)?srequest;
    26????????request.setCharacterEncoding(targetEncoding);?//把請求用指定的方式編碼
    27????????//?把處理發(fā)送到下一個過濾器
    28????????chain.doFilter(srequest,?sresponse);
    29????}

    30
    31????public?void?destroy()?{
    32????????this.filterConfig?=?null;
    33????}

    34
    35????public?void?setFilterConfig(final?FilterConfig?filterConfig)?{
    36????????this.filterConfig?=?filterConfig;
    37????}

    38}

    39

    步驟2:在web.xml里這樣寫
    <filter>
    ????????
    <filter-name>EncodingFilter</filter-name>
    ????????
    <display-name>EncodingFilter</display-name>
    ????????
    <filter-class>com.itthinker.payroll.common.EncodingFilter</filter-class>
    ????
    </filter>
    ????
    <filter-mapping>
    ????????
    <filter-name>EncodingFilter</filter-name>
    ????????
    <url-pattern>/*</url-pattern>
    ????
    </filter-mapping>

    總結(jié):
    這樣的話,任何映射地址全部會先加載EncodingFilter,中文處理就搞定了,不用那么麻煩在每個jsp文件寫那么多重復(fù)代碼了,很好地做到了,代碼可復(fù)用性。當(dāng)然?page?contentType="text/html;?charset=gb2312"
    還是要的

    posted on 2006-06-08 17:44 方佳瑋 閱讀(490) 評論(4)  編輯  收藏 所屬分類: 其他技術(shù)

    評論

    # re: 什么才是最好處理中文方法 2006-06-08 21:02 thinkbase
    GB2312 已經(jīng)過時來, 推薦了解一下什么叫做 UTF-8  回復(fù)  更多評論
      

    # re: 什么才是最好處理中文方法 2006-06-08 21:50 方佳瑋
    好的,謝謝,我是新手,成長中  回復(fù)  更多評論
      

    # re: 什么才是最好處理中文方法[未登錄] 2007-02-09 12:26 xmlspy
    還有一個重要的
    那個filter一定要在web.xml配置文件中第一位,否則...... 哈哈,你就折騰吧  回復(fù)  更多評論
      

    # re: 什么才是最好處理中文方法 2007-02-09 22:02 方佳瑋
    多謝樓上提醒  回復(fù)  更多評論
      

    主站蜘蛛池模板: 亚洲一本之道高清乱码| 免费v片在线观看无遮挡| 4399影视免费观看高清直播| a视频在线观看免费| 少妇性饥渴无码A区免费| 国产综合免费精品久久久| 国产乱妇高清无乱码免费| 一个人看的hd免费视频| 国产精品免费大片一区二区| 一级做a爰片久久毛片免费陪 | 丁香五月亚洲综合深深爱| 国产精品亚洲二区在线观看| 亚洲国产精品无码久久久久久曰| 亚洲综合色成在线播放| 亚洲愉拍99热成人精品热久久| 亚洲国产一成人久久精品| 久久av无码专区亚洲av桃花岛| 亚洲麻豆精品果冻传媒| 亚洲免费视频网址| 亚洲精品无码久久久久久| 春暖花开亚洲性无区一区二区 | 久久香蕉国产线看观看亚洲片| 内射干少妇亚洲69XXX| 亚洲激情电影在线| 亚洲一区二区三区国产精华液| 亚洲AV成人一区二区三区观看 | 亚洲va精品中文字幕| 亚洲人成电影网站免费| 免费看一级毛片在线观看精品视频| www永久免费视频| 国产精品免费高清在线观看| 亚洲视频免费在线播放| 妞干网免费观看视频| 又爽又黄无遮挡高清免费视频| 国产gv天堂亚洲国产gv刚刚碰| 亚洲精品亚洲人成在线麻豆| 亚洲综合av一区二区三区| 免费的黄色的网站| 国产成人精品免费久久久久| 免费人成在线视频| 亚洲午夜无码AV毛片久久|