项目配置单点登录之后客户端添加出现乱码,找了很多资料,最终发现是过滤器先后顺序问题,分享一下
采用的顺序如下:
1、struts乱码过滤器
<filter>
<filter-name>struts2-cleanup</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ActionContextCleanUp
</filter-class>
</filter>
<!-- Struts2 filter begin -->
<filter-mapping>
<filter-name>struts2-cleanup</filter-name>
<url-pattern>*.dadao</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<!-- Struts2 filter end -->
2、spring乱码过滤器
<filter>
<filter-name>encodingFilter</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>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.dadao</url-pattern>
</filter-mapping>
其他过滤器配置在这两个过滤器之后,特别是sso的filter,务必在这之后,否则出现乱码