1.环境介绍
我们在项目开发时,经常会碰到发送请求,返回中文乱码的情况。
常规解决方案:
在方法体中加入 "request.setCharacterEncoding("utf-8");"
但在Spring MVC中我们使用web项目中的解决方法,可能并不能解决其乱码问题。
2.解决方案
2.1 配置Filter
本文不做赘述,与2.2配置相同。
如遇问题,详见文章:启动Spring MVC项目报错java.lang.AbstractMethodError_a1489540461的博客-CSDN博客
2.2 使用MVC框架中提供的CharacterEncodingFilter类
我们只需要在web.xml中配置过滤器即可:
<!-- 配置Spring MVC的乱码过滤器-->
<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>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
注意!!!
<url-pattern>/*</url-pattern> 中配置一定要加入" * "号。
原因:" / " 匹配所有请求,不包括.jsp
" /* " 匹配所有请求,包含.jsp