一般的ssm框架中的乱码问题可通过在web.xml中配置过滤器解决:
<filter>
<filter-name>encoding</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>encoding</filter-name>
<servlet-name>springmvc</servlet-name>
</filter-mapping>
但是设置拦截器只能解决请求体中的乱码,不能解决请求头中的乱码问题;也就是说只能解决post请求的乱码问题,不能解决get请求的乱码问题。解决get请求中的乱码,需要在服务器的server.xml的Connector 标签中添加URIEncoding="UTF-8":
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="8443"/>