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

          ? 上周更新了一下myblog,添加了一個(gè)Filter,做統(tǒng)計(jì)訪問(wèn)用??墒呛髞?lái)發(fā)現(xiàn)出現(xiàn)亂碼問(wèn)題了。找了很久都沒(méi)有找到問(wèn)題。debug的時(shí)候看到 CharacterEncodingFilter確實(shí)是執(zhí)行了。不過(guò)就是沒(méi)有效果。執(zhí)行之前是ISO-8859-1編碼的,執(zhí)行之后還是, CharacterEncodingFilter就沒(méi)有起到作用。后來(lái)終于找到問(wèn)題的原因了。原來(lái)是Filter配置先后順序的原因。
          ?????? 剛開(kāi)始的配置是這樣的:

          ???? < 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 >

          ? 先經(jīng)過(guò)那個(gè)統(tǒng)計(jì)的filter然后再經(jīng)過(guò)編碼的filter。這樣的話編碼的filter就不起作用了。只要吧編碼的filter放到最前面就沒(méi)有問(wèn)題了。改成這樣就好。

          ???? < 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 >


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

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

          FeedBack:
          # re: 又是亂碼問(wèn)題-Filter 配置也很重要
          2006-12-27 16:43 | virtualf
          其實(shí)本質(zhì)是設(shè)置request字符集前不能做任何的讀取參數(shù)操作(請(qǐng)查看javaee doc)  回復(fù)  更多評(píng)論
            
          # re: 又是亂碼問(wèn)題-Filter 配置也很重要
          2006-12-28 13:15 | BeanSoft
          對(duì), 在第一個(gè) request.getParameter() 被調(diào)用之前設(shè)置的 characterEncoding() 才有效, 如果讀取過(guò)了, 之后的設(shè)置就無(wú)效果了.  回復(fù)  更多評(píng)論
            
          # re: 又是亂碼問(wèn)題-Filter 配置也很重要
          2007-01-04 14:55 | 莫多
          以前都沒(méi)有注意。
          今天才注意到servlet的doc里面有寫(xiě)過(guò)。
          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  回復(fù)  更多評(píng)論
            

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

          常用鏈接

          留言簿(1)

          隨筆分類(27)

          隨筆檔案(22)

          Friends

          搜索

          •  

          積分與排名

          • 積分 - 62542
          • 排名 - 845

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 兴义市| 南通市| 尉犁县| 镇雄县| 尼木县| 焦作市| 皋兰县| 昭平县| 天水市| 康平县| 射洪县| 集安市| 勃利县| 南乐县| 尤溪县| 泸溪县| 固原市| 林周县| 宾川县| 广汉市| 景德镇市| 阳东县| 衡阳市| 湖州市| 昌乐县| 江西省| 磐安县| 大关县| 葫芦岛市| 甘德县| 丰顺县| 彩票| 英山县| 连南| 泽库县| 靖州| 民和| 松原市| 汝城县| 天祝| 浮山县|