web.xml中filter加載順序出現的問題


剛剛遇到了一個問題,項目中需要用到characterEncodingFilter和HiddenHttpMethodFilter,但是post請求還是會中文亂碼,找了半天原因,后來發現,filter加載是有順序的,假如characterEncodingFilter配置在HiddenHttpMethodFilter前面亂碼就不見了,如果配置在后面中文亂碼問題就還是會出現,也就是不起效。我也不知道具體是為什么,但是通過斷點發現這個web.xml中確實是按照你寫的先后順序來執行的,估計是HiddenHttpMethodFilter中有轉過碼,導致filter中再設置編碼已經無效。

 

 

 

<!--亂碼-->

<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<!--REST風格過濾器-->
<filter>
<filter-name>HiddenHttpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HiddenHttpMethodFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM