姿姿霸霸~~!
          貴在堅(jiān)持!
          posts - 106,  comments - 50,  trackbacks - 0
          亂碼是j2ee中一個(gè)比較常見(jiàn)的問(wèn)題。遇到1,2個(gè)情況下,可以用new String(request.getParameter(xxx).getBytes("ISO-8859-1"),"UTF-8")來(lái)解決。遇到多的情況下,就最好用過(guò)濾器了。
          1個(gè)過(guò)濾器只需要注意2個(gè)地方,類和在web.xml上面的發(fā)布。

          1。在web.xml上面的發(fā)布如下:
          <filter>
          ??????
          <filter-name>SetCharsetEncodingFilter</filter-name>? //這個(gè)是類名
          ??????
          <filter-class>org.SetCharacter</filter-class>??????? //這個(gè)是類的位置
          ??????
          <init-param>
          ??????????
          <param-name>encoding</param-name>
          ??????????
          <param-value>utf-8</param-value>
          ??????
          </init-param>
          ??
          </filter>
          ??
          <filter-mapping>
          ??????
          <filter-name>SetCharsetEncodingFilter</filter-name>
          ??????
          <url-pattern> /* </url-pattern>?? //這個(gè)代表所有的文件遇到過(guò)濾器都要被攔截
          ??</filter-mapping>

          2。過(guò)濾的這個(gè)類如下:
          package?org;

          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;

          public?class?SetCharacter?implements?Filter?{
          ????
          protected?String?encoding?=?null;
          ????
          protected?FilterConfig?filterConfig?=?null;
          ????
          protected?boolean?ignore?=?true;

          ????
          public?void?init(FilterConfig?arg0)?throws?ServletException?{
          ????????
          this.encoding?=?arg0.getInitParameter("encoding");
          ????????String?value?
          =?arg0.getInitParameter("imnore");
          ????????
          if(value==null){
          ????????????
          this.ignore?=?true;
          ????????}
          else?if?(value.equalsIgnoreCase("true")){
          ????????????
          this.ignore?=?true;
          ????????}
          else?if(value.equalsIgnoreCase("yes")){
          ????????????
          this.ignore?=?true;
          ????????}

          ????????
          ????}


          ????
          public?void?doFilter(ServletRequest?arg0,?ServletResponse?arg1,?FilterChain?arg2)?throws?IOException,?ServletException?{
          ????????
          if(ignore||(arg0.getCharacterEncoding()?==?null)){
          ????????????String?encoding?
          =selectEncoding(arg0);
          ????????????
          if(encoding!=null)
          ????????????????arg0.setCharacterEncoding(encoding);
          ????????}

          ????????arg2.doFilter(arg0,arg1);
          ????}


          ????
          private?String?selectEncoding(ServletRequest?arg0)?{
          ????????
          return?(this.encoding);
          ????}


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


          }

          posted on 2007-01-04 23:00 xrzp 閱讀(1368) 評(píng)論(2)  編輯  收藏 所屬分類: JAVA

          FeedBack:
          # re: j2EE中的過(guò)濾器的用法(過(guò)濾亂碼)
          2008-08-14 17:22 | zhongshi
          請(qǐng)問(wèn)一下,加入有一個(gè)<url-pattern> temp </url-pattern>這樣的標(biāo)簽,那么temp表示的是什么。表示的是那一個(gè)程序,他的名字是什么呢
          temp是怎樣體現(xiàn)URL的呢?   回復(fù)  更多評(píng)論
            
          # re: j2EE中的過(guò)濾器的用法(過(guò)濾亂碼)
          2008-08-16 21:09 | sure_xx
          在web.xml文件中,以下語(yǔ)法用于定義映射:

          1.以”/’開頭和以”/*”結(jié)尾的是用來(lái)做路徑映射的。

          2.以前綴”*.”開頭的是用來(lái)做擴(kuò)展映射的。

          3.“/” 是用來(lái)定義default servlet映射的。

          4.剩下的都是用來(lái)定義詳細(xì)映射的。比如: /aa/bb/cc.action
            回復(fù)  更多評(píng)論
            

          <2007年1月>
          31123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          常用鏈接

          留言簿(4)

          隨筆分類

          隨筆檔案

          好友的blog

          搜索

          •  

          積分與排名

          • 積分 - 117458
          • 排名 - 500

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 庄河市| 玉林市| 延津县| 合肥市| 牙克石市| 磴口县| 南阳市| 台中市| 山东省| 思南县| 措美县| 龙山县| 肥西县| 连城县| 广西| 陕西省| 仁布县| 永安市| 江城| 安丘市| 阳原县| 宁国市| 同心县| 廉江市| 辽源市| 双桥区| 平乡县| 汤阴县| 佛坪县| 浙江省| 澳门| 遂平县| 行唐县| 石城县| 信丰县| 青阳县| 东丰县| 图们市| 和田县| 湾仔区| 邯郸市|