当前端JSP页面和JAVA代码中使用了不同的字符集进行编码的时候就会出现表单提交的数据中文乱码的问题,这时需要在WEB-INF目录下的web.xml文件中配置一个过滤器。
<filter>
<filter-name>springUtf8Encoding</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>springUtf8Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
其中encoding用来设置编码格式,forceEncoding设置为true则强制覆盖之前的编码格式。
运行Tomcat,Eclipse控制台爆出了org.springframework.web.filter.CharacterEncodingFilter这个类找不到的错误。
根据探查,发现在Tomcat运行时时候,Eclipse自动将Maven依赖包删除了。
这时,我们需要点击Add,添加Java Build Path Entries下的Maven依赖包。
然后,点击Apply,即将Maven依赖包加载上了。