Everything is a contribution

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

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

          ??? 今天跟項(xiàng)目組做集成的時(shí)候發(fā)現(xiàn)一個(gè)很奇怪的亂碼問題,web.xml的filter、jsp頁(yè)面均進(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í)行,所以上面的配置會(huì)導(dǎo)致遇見*.do的url請(qǐng)求,先進(jìn)行SecurityFilter的過濾器處理,這時(shí)候沒有做編碼處理,已經(jīng)是亂碼,到下面的filter處理時(shí)已經(jīng)時(shí)亂碼,再做編碼處理已經(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) 評(píng)論(2)  編輯  收藏 所屬分類: Java開發(fā)

          評(píng)論

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

          <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ù)  更多評(píng)論   

          不錯(cuò)呢
          2010-04-01 10:52 | Nassir
          主站蜘蛛池模板: 宁阳县| 吴堡县| 上虞市| 南开区| 宁陵县| 水城县| 屏山县| 兴海县| 钟山县| 彩票| 家居| 丹巴县| 阜阳市| 海城市| 察哈| 全南县| 文水县| 从化市| 临城县| 奉节县| 新和县| 修水县| 南岸区| 循化| 鄄城县| 中宁县| 天祝| 邮箱| 大安市| 黄山市| 和林格尔县| 红河县| 乌鲁木齐县| 白山市| 承德市| 中江县| 东乡县| 唐海县| 平凉市| 得荣县| 瑞金市|