Everything is a contribution

          走過Java的點點滴滴,與大家共勉~
          隨筆 - 21, 文章 - 0, 評論 - 10, 引用 - 0
          數(shù)據(jù)加載中……

          web.xml的filter執(zhí)行順序?qū)е碌膩y碼,切記!

          ??? 今天跟項目組做集成的時候發(fā)現(xiàn)一個很奇怪的亂碼問題,web.xml的filter、jsp頁面均進(jìn)行了編碼設(shè)置, 反復(fù)調(diào)試發(fā)現(xiàn)引起bug的原因是web.xml的下面幾行:
          ??? <filter-mapping>
          ??????? <filter-name>SecurityFilter</filter-name>
          ??????? <url-pattern>*.do</url-pattern>
          ??? </filter-mapping>

          ??? <filter-mapping>
          ??????? <filter-name>CharacterEncoding</filter-name>
          ??????? <url-pattern>*.do</url-pattern>
          ??? </filter-mapping>

          ??? <filter-mapping>
          ??????? <filter-name>CharacterEncoding</filter-name>
          ??????? <url-pattern>*.jsp</url-pattern>
          ??? </filter-mapping>

          根據(jù)servlet2.3規(guī)范filter執(zhí)行是按照web.xml配置的filter-mapping先后順序進(jìn)行執(zhí)行,所以上面的配置會導(dǎo)致遇見*.do的url請求,先進(jìn)行SecurityFilter的過濾器處理,這時候沒有做編碼處理,已經(jīng)是亂碼,到下面的filter處理時已經(jīng)時亂碼,再做編碼處理已經(jīng)沒有用處。

          修正方式,調(diào)整filter-mapping順序,如下:

          ??? <filter-mapping>
          ??????? <filter-name>CharacterEncoding</filter-name>
          ??????? <url-pattern>*.do</url-pattern>
          ??? </filter-mapping>

          ??? <filter-mapping>
          ??????? <filter-name>CharacterEncoding</filter-name>
          ??????? <url-pattern>*.jsp</url-pattern>
          ??? </filter-mapping>

          ??? <filter-mapping>
          ??????? <filter-name>SecurityFilter</filter-name>
          ??????? <url-pattern>*.do</url-pattern>
          ??? </filter-mapping>

          posted on 2007-01-31 17:04 Kevin Xia 閱讀(3758) 評論(2)  編輯  收藏 所屬分類: Java開發(fā)

          評論

          # re: web.xml的filter執(zhí)行順序?qū)е碌膩y碼,切記![未登錄]  回復(fù)  更多評論   

          <filter-mapping>
          <filter-name>EncodingFilter</filter-name>
          <url-pattern>/*</url-pattern>
          </filter-mapping>
          我門都是這樣寫的 不知道 這樣有什么問題
          每次 提交表單是亂碼
          然后刷新一下 顯示就是好的了
          email:gcc1984629@163.com
          2007-08-17 14:45 | cc

          # re: web.xml的filter執(zhí)行順序?qū)е碌膩y碼,切記!  回復(fù)  更多評論   

          不錯呢
          2010-04-01 10:52 | Nassir
          主站蜘蛛池模板: 广西| 承德市| 阿巴嘎旗| 云林县| 洛阳市| 海丰县| 呼玛县| 长乐市| 侯马市| 尚志市| 兴城市| 东平县| 长岛县| 二连浩特市| 孝昌县| 南漳县| 建瓯市| 陇西县| 京山县| 石景山区| 农安县| 平谷区| 抚州市| 乳源| 曲阜市| 澜沧| 分宜县| 湟源县| 赤城县| 沂水县| 洪江市| 鲁甸县| 城步| 乌兰浩特市| 连云港市| 饶平县| 大新县| 湘乡市| 南靖县| 阿拉善左旗| 盘山县|