在提交参数请求时post访问方式中文会出现乱码;get提交则不会
传统的servlet处理中,在doGet()\doPost()方法中定义请求编码:
request.setCharacterEncoding(“utf-8”);
在springmvc,需使用过滤器处理乱码问题 框架中的有现成的(CharacterEncodingFilter),当然也可以自定义
接收参数-过滤器解决乱码问题
CharacterEncodingFilter在spring-web包里面的,项目中有这个依赖便可以直接使用
方法步骤:
在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>
<!--强制请求对象(HTTPServletRequest)使用encoding编码的值-->
<init-param>
<param-name>forceRequestEncoding</param-name>
<param-value>true</param-value>
</init-param>
<!--强制应答对象(HTTPServletResponse)使用encoding编码的值-->
<init-param>
<param-name>forceResponseEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<!--强制所有的请求先通过过滤器处理-->
<url-pattern>/*</url-pattern>
</filter-mapping>