您现在的位置是:首页 >技术教程 >ssm框架之SpringMVC:乱码问题网站首页技术教程
ssm框架之SpringMVC:乱码问题
简介ssm框架之SpringMVC:乱码问题
一种修改tomcat配置文件
如果tomcat乱码修改Tomcat的conf的server.xml文件加上 URIEncoding=“UTF-8”
添加一个URIEncoding=“UTF-8”
- tomcat 如果7.0 不这样设置,无论get还是post后台都显示乱码。
- tomcat如果是8.0版本,只有post后台显示是乱码
一种过滤器来实现
其实这个乱码在聊servlet的时候聊过,如果想了解可以看传送阵
SpringMVC可以通过配置文件来设置编码:在web.xml中添加:
<web-app>
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<!--配置springMVC的编码过滤器--请求时-->
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<!--配置springMVC的编码过滤器请求 请求+响应 但是一般两个都写 -->
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
....
</web-app>
这个肯定是一个过滤器,这个没有疑问。如果对过滤器不太了解的话可以看前面文章过滤器
但是看的话:
当然这个过滤器是重写了Filter的方法的:
为什么在配置文件中要写:
<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>
这个需要看下其构造方法:
至于方法是如果走的,自己可以通过IDEA查看即可,就不再截图了。
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。