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>

你可能感兴趣的:(filter,J2EE)