<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ù)  更多評論
      

    主站蜘蛛池模板: 精品亚洲AV无码一区二区三区| 又大又硬又粗又黄的视频免费看 | 67pao强力打造国产免费| 亚洲性无码av在线| 国产中文字幕免费观看| 精品国产麻豆免费人成网站| 亚洲另类精品xxxx人妖| 亚洲一级黄色视频| 91九色精品国产免费| 国产亚洲美女精品久久久久| 亚洲午夜在线电影| 国产成人免费片在线观看 | 成在人线AV无码免费| 99久久婷婷免费国产综合精品| 亚洲狠狠ady亚洲精品大秀| 免费国产成人高清在线观看麻豆| 免费高清国产视频| 国产99久久亚洲综合精品 | 99视频在线免费观看| 中文日韩亚洲欧美制服| 亚洲国产成人一区二区精品区 | 日本不卡视频免费| 亚洲免费人成在线视频观看| 国产精品亚洲а∨无码播放麻豆| 久久精品国产亚洲av麻豆色欲| 亚洲成网777777国产精品| 日韩精品成人无码专区免费| 国产成人无码精品久久久久免费| 亚洲一区二区三区高清不卡| 亚洲另类激情综合偷自拍 | 亚洲伊人久久大香线蕉影院| 国产亚洲精久久久久久无码77777| AV免费网址在线观看| 18禁男女爽爽爽午夜网站免费| jizz在线免费播放| 美女18一级毛片免费看| 亚洲高清一区二区三区| 91情国产l精品国产亚洲区 | 国产成人亚洲精品电影| 亚洲日韩AV一区二区三区四区| 亚洲天天做日日做天天欢毛片|