基于Tomcat容器开发spring web项目,会遇到web请求中的中文乱码问题,所以,以下,基于web中的两种客户端网页请求方式:POST和GET 进行中文乱码解决。
*****************************************************************
(1)POST
要想解决POST方式提交的客户端请求中的中文乱码问题,需要在项目的web.xml中配置过滤器。具体的配置如下:
<!-- POST方式的字符过滤器解决中文乱码问题 -->
<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>
==========================================
(2)GET
对于Get方式的客户端请求,中文乱码解决方式有两种:(基于tomcat容器)
①修改tomcat配置文件server.xml,添加编码与工程编码一致,如下:
<Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
②对于传入的URL请求进行重新编码
String username = new String(request.getParameter("username").getBytes("ISO8859-1"),"utf-8");
ISO8859-1是tomcat的默认编码,需要将编码后的内容按照utf-8编码。