Rory's Blog
          Happy study,Happy work,Happy life
          posts - 22,  comments - 46,  trackbacks - 0

          ? 上周更新了一下myblog,添加了一個Filter,做統計訪問用。可是后來發現出現亂碼問題了。找了很久都沒有找到問題。debug的時候看到 CharacterEncodingFilter確實是執行了。不過就是沒有效果。執行之前是ISO-8859-1編碼的,執行之后還是, CharacterEncodingFilter就沒有起到作用。后來終于找到問題的原因了。原來是Filter配置先后順序的原因。
          ?????? 剛開始的配置是這樣的:

          ???? < filter-mapping >
          ????????
          < filter-name > requestCounterFilter </ filter-name >
          ????????
          < url-pattern > *.jhtml </ url-pattern >
          ????
          </ filter-mapping >
          ??
          ????
          < filter-mapping >
          ????????
          < filter-name > encodingFilter </ filter-name >
          ????????
          < url-pattern > /dwr/* </ url-pattern >
          ????
          </ filter-mapping >
          ????
          ????
          < filter-mapping >
          ????????
          < filter-name > encodingFilter </ filter-name >
          ????????
          < url-pattern > *.jhtml </ url-pattern >
          ????
          </ filter-mapping >
          ????
          ????
          < filter-mapping >
          ????????
          < filter-name > encodingFilter </ filter-name >
          ????????
          < url-pattern > *.jsp </ url-pattern >
          ????
          </ filter-mapping >

          ? 先經過那個統計的filter然后再經過編碼的filter。這樣的話編碼的filter就不起作用了。只要吧編碼的filter放到最前面就沒有問題了。改成這樣就好。

          ???? < filter-mapping >
          ????????
          < filter-name > encodingFilter </ filter-name >
          ????????
          < url-pattern > /dwr/* </ url-pattern >
          ????
          </ filter-mapping >
          ????
          ????
          < filter-mapping >
          ????????
          < filter-name > encodingFilter </ filter-name >
          ????????
          < url-pattern > *.jhtml </ url-pattern >
          ????
          </ filter-mapping >
          ????
          ????
          < filter-mapping >
          ????????
          < filter-name > encodingFilter </ filter-name >
          ????????
          < url-pattern > *.jsp </ url-pattern >
          ????
          </ filter-mapping >
          ????
          ????
          < filter-mapping >
          ????????
          < filter-name > requestCounterFilter </ filter-name >
          ????????
          < url-pattern > *.jhtml </ url-pattern >
          ????
          </ filter-mapping >


          以后大家一定要注意啊。順序問題也是很重要的。
          創造共用協議:署名,非商業,保持一致?? 除經特別注明外,本文章版權歸莫多泡泡所有.
          署名,非商業用途,保持一致.???somebody(莫多)

          posted on 2006-12-27 10:37 莫多 閱讀(2691) 評論(3)  編輯  收藏 所屬分類: Other

          FeedBack:
          # re: 又是亂碼問題-Filter 配置也很重要
          2006-12-27 16:43 | virtualf
          其實本質是設置request字符集前不能做任何的讀取參數操作(請查看javaee doc)  回復  更多評論
            
          # re: 又是亂碼問題-Filter 配置也很重要
          2006-12-28 13:15 | BeanSoft
          對, 在第一個 request.getParameter() 被調用之前設置的 characterEncoding() 才有效, 如果讀取過了, 之后的設置就無效果了.  回復  更多評論
            
          # re: 又是亂碼問題-Filter 配置也很重要
          2007-01-04 14:55 | 莫多
          以前都沒有注意。
          今天才注意到servlet的doc里面有寫過。
          public void setCharacterEncoding(java.lang.String env)
          throws java.io.UnsupportedEncodingExceptionOverrides the name of the character encoding used in the body of this request. This method must be called prior to reading request parameters or reading input using getReader().
          Parameters:
          a - String containing the name of the chararacter encoding.
          Throws:
          java.io.UnsupportedEncodingException - if this is not a valid encoding  回復  更多評論
            

          <2006年12月>
          262728293012
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          常用鏈接

          留言簿(1)

          隨筆分類(27)

          隨筆檔案(22)

          Friends

          搜索

          •  

          積分與排名

          • 積分 - 62268
          • 排名 - 845

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 二连浩特市| 揭西县| 安达市| 葫芦岛市| 湘阴县| 荔波县| 延川县| 玛纳斯县| 肃北| 沅江市| 西峡县| 勃利县| 沿河| 陆良县| 镇江市| 永善县| 余江县| 佛坪县| 泰宁县| 安西县| 洮南市| 仁布县| 新晃| 洪洞县| 涟源市| 普兰县| 迁安市| 辽阳市| 江都市| 阜阳市| 广丰县| 获嘉县| 海丰县| 南岸区| 察雅县| 荔波县| 淄博市| 凌海市| 黄大仙区| 都江堰市| 濉溪县|