JPBC ing: 留言板之二:處理jsp中出現的中文亂碼問題--字符過濾器

          ??????在參數傳遞過程中,經常會碰到中文亂碼問題,有好多種解決方法,其中一種就是用到過濾器。

          CharacterEncodingFilter.java
          package?filter;

          import?java.io.IOException;

          import?javax.servlet.Filter;
          import?javax.servlet.FilterChain;
          import?javax.servlet.FilterConfig;
          import?javax.servlet.ServletException;
          import?javax.servlet.ServletRequest;
          import?javax.servlet.ServletResponse;
          /**
          ?*?jsp中文亂碼的Filter過濾器
          ?*?
          @author?nonels
          ?*
          ?
          */


          public?class?CharacterEncodingFilter?implements?Filter?{
          ????
          protected?String?encoding;????//????字符編碼
          ????protected?boolean?ignore;????//????是否忽略大小寫
          ????public?void?init(FilterConfig?filterConfig)?throws?ServletException?{
          ????????encoding?
          =?filterConfig.getInitParameter("encoding");
          ????????String?value?
          =?filterConfig.getInitParameter("ignore");
          ????????
          if?(value?==?null)?{
          ????????????ignore?
          =?true;
          ????????}
          ?else?if?(value.equalsIgnoreCase("true"))?{
          ????????????ignore?
          =?true;
          ????????}
          ?else?if?(value.equalsIgnoreCase("yes"))?{
          ????????????ignore?
          =?true;
          ????????}

          ????}


          ????
          public?void?doFilter(ServletRequest?request,?ServletResponse?response,
          ????????????FilterChain?filterChain)?
          throws?IOException,?ServletException?{
          ????????
          if?(ignore?==?true?||?encoding?!=?null)?{
          ?????????????request.setCharacterEncoding(encoding);
          ?????????????filterChain.doFilter(request,?response);
          ????????}

          ????}


          ????
          public?void?destroy()?{
          ????????encoding?
          =?null;
          ????}

          ????

          }


          XML中的配置加上以下:
          ??????<filter>
          ????????
          <filter-name>CharacterEncodingFilter</filter-name>
          ????????
          <filter-class>filter.CharacterEncodingFilter</filter-class>
          ????????
          <init-param>
          ????????????
          <param-name>ignore</param-name>
          ????????????
          <param-value>true</param-value>
          ????????
          </init-param>
          ????????
          <init-param>
          ????????????
          <param-name>encoding</param-name>
          ????????????
          <param-value>GBK</param-value>
          ????????
          </init-param>
          ????
          </filter>
          ????
          <filter-mapping>
          ????????
          <filter-name>CharacterEncodingFilter</filter-name>
          ????????
          <url-pattern>/*</url-pattern>
          ????
          </filter-mapping>

          posted on 2008-10-16 23:51 nonels 閱讀(551) 評論(0)  編輯  收藏 所屬分類: J2EE

          <2008年10月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          導航

          統計

          常用鏈接

          留言簿(2)

          隨筆分類(16)

          隨筆檔案(16)

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 科尔| 五家渠市| 元阳县| 淮滨县| 无棣县| 平利县| 上高县| 景洪市| 同心县| 睢宁县| 建阳市| 思南县| 泸溪县| 红安县| 凤山县| 十堰市| 济南市| 开鲁县| 陇川县| 华容县| 湖州市| 荃湾区| 平昌县| 凌海市| 陕西省| 沙洋县| 耿马| 井研县| 武川县| 舞阳县| 子洲县| 萝北县| 大新县| 泾川县| 铁岭县| 无棣县| 老河口市| 贡觉县| 久治县| 搜索| 轮台县|