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

    主站蜘蛛池模板: 免费一级毛suv好看的国产网站| 亚洲一本之道高清乱码| 国产精品亚洲产品一区二区三区| 免费日韩在线视频| 天堂亚洲免费视频| 久久久久亚洲av毛片大| 亚洲AV午夜福利精品一区二区 | 好看的亚洲黄色经典| 亚洲高清国产拍精品26U| 日韩亚洲AV无码一区二区不卡| 亚洲同性男gay网站在线观看| 亚洲精品综合在线影院| 国产成人 亚洲欧洲| 国产免费久久精品99久久| 日本视频在线观看永久免费| 久久久久久免费视频| 免费大香伊蕉在人线国产| 免费看国产曰批40分钟| 久久综合亚洲色HEZYO社区| 亚洲中文无码永久免| 日本高清不卡中文字幕免费| 69式互添免费视频| 免费国产小视频在线观看| 亚洲精品午夜视频| 美女黄网站人色视频免费| 免费看搞黄视频网站| 午夜老司机免费视频| 亚洲精品无码乱码成人 | 野花香高清视频在线观看免费| 全免费a级毛片免费**视频| 亚洲一区二区三区在线观看精品中文| 久久精品九九亚洲精品| selaoban在线视频免费精品| 最近中文字幕大全中文字幕免费 | 啊v在线免费观看| 中文字幕无码亚洲欧洲日韩| 亚洲a一级免费视频| 国产美女做a免费视频软件| 亚洲福利在线观看| 羞羞的视频在线免费观看| 在线天堂免费观看.WWW|