J2EE的web.xml中filter-mapping的位置導致的亂碼問題
一、發現問題
調整了一下web.xml中filter-mapping的位置,運行項目時發現中文亂碼。
二、思考過程
以前項目都是好的,為何在調整了位置時候出現亂碼。應該是filter-mapping的位置的問題。
三、解決問題
根據servlet2.3規範filter執行是按照web.xml配置的filter-mapping先後順序進行執行。先出現的filter-mapping的過濾器先執行。我剛剛調整位置之後,編碼過濾器被調整到不是第1個,導致請求交給其他過濾器的時候就出現亂碼了。所以編碼過濾器要放在第一個。
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>SecurityFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
最後更新:2017-04-03 16:49:10