一、发现问题
调整了一下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>
本文转自IT徐胖子的专栏博客51CTO博客,原文链接http://blog.51cto.com/woshixy/1339422如需转载请自行联系原作者
woshixuye111