Everything is a contribution

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

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

          ??? 今天跟項目組做集成的時候發(fā)現(xiàn)一個很奇怪的亂碼問題,web.xml的filter、jsp頁面均進行了編碼設(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先后順序進行執(zhí)行,所以上面的配置會導(dǎo)致遇見*.do的url請求,先進行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 閱讀(3764) 評論(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
          主站蜘蛛池模板: 长垣县| 旬阳县| 海阳市| 平定县| 阿拉善左旗| 黄石市| 隆安县| 平山县| 普兰店市| 罗江县| 两当县| 平泉县| 七台河市| 沙坪坝区| 新营市| 门头沟区| 贺兰县| 台北市| 叙永县| 驻马店市| 龙南县| 蓬莱市| 汽车| 梅州市| 黑龙江省| 读书| 普格县| 郧西县| 阿拉善右旗| 伊宁市| 莱西市| 邯郸县| 滨州市| 临夏县| 新昌县| 平果县| 贵定县| 渭南市| 拜城县| 宣化县| 通州市|