spring请求乱码问题解决方式
首先分析一下为什么行程乱码,因为html前台页面一般都是UTF-8编码,但是在传输过程中默认使用ISO-8859-1的解码方式,这样造成编码和解码的方式不同,行程乱码,通过分析也就可以得到解决办法,改变传输的解码方式:
- 如果是Get方式请求乱码,改Tomecat配置文件即可解决
在tomcat的service配置文件中修改
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
改为
<Connector URLEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
- 如果是post请求方式,在web.xml中配置一下spring给我门提供的过滤器
<filter>
<filter-name>encoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<servlet-name>springMvc</servlet-name>
</filter-mapping>
其中servlet name为我们定义的servlet的name
<servlet>
<servlet-name>springMvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/springmvc-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>