姿姿霸霸~~!
          貴在堅持!
          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 閱讀(1376) 評論(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

          搜索

          •  

          積分與排名

          • 積分 - 118088
          • 排名 - 499

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 扬中市| 平南县| 灵宝市| 巴林左旗| 宝丰县| 板桥市| 临桂县| 海晏县| 东丰县| 安阳市| 平度市| 宁陵县| 田阳县| 郓城县| 西华县| 江西省| 普洱| 宜宾市| 青岛市| 北安市| 金秀| 黔西县| 会昌县| 和田市| 永城市| 武邑县| 南木林县| 三门县| 德钦县| 盘锦市| 红原县| 夏河县| 平定县| 婺源县| 荔浦县| 绥阳县| 井陉县| 安泽县| 丰台区| 泽普县| 米脂县|