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

          1。在web.xml上面的發布如下:
          <filter>
          ??????
          <filter-name>SetCharsetEncodingFilter</filter-name>? //這個是類名
          ??????
          <filter-class>org.SetCharacter</filter-class>??????? //這個是類的位置
          ??????
          <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>?? //這個代表所有的文件遇到過濾器都要被攔截
          ??</filter-mapping>

          2。過濾的這個類如下:
          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) 評論(2)  編輯  收藏 所屬分類: JAVA

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

          1.以”/’開頭和以”/*”結尾的是用來做路徑映射的。

          2.以前綴”*.”開頭的是用來做擴展映射的。

          3.“/” 是用來定義default servlet映射的。

          4.剩下的都是用來定義詳細映射的。比如: /aa/bb/cc.action
            回復  更多評論
            

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

          常用鏈接

          留言簿(4)

          隨筆分類

          隨筆檔案

          好友的blog

          搜索

          •  

          積分與排名

          • 積分 - 117458
          • 排名 - 500

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 吉安县| 阳西县| 民勤县| 瑞安市| 曲松县| 锦州市| 黔南| 曲麻莱县| 靖江市| 敦化市| 卓尼县| 元谋县| 崇仁县| 临漳县| 吉木萨尔县| 墨江| 百色市| 吐鲁番市| 武城县| 宽甸| 盖州市| 福建省| 西昌市| 乌恰县| 通河县| 来凤县| 巫山县| 沧州市| 德安县| 长白| 垣曲县| 溧水县| 连平县| 巴青县| 莱西市| 延寿县| 哈巴河县| 江北区| 浦东新区| 基隆市| 濮阳县|