Springmvc(一)请求参数乱码问题

请求参数乱码问题

post 请求方式:

在 web.xml 中配置一个过滤器
<!-- 配置 springMVC 编码过滤器 --> 
<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> 
<!-- 启动过滤器 --> 
<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>
 在 springmvc 的配置文件中可以配置,静态资源不过滤:
<!-- location 表示路径,mapping 表示文件,**表示该目录下的文件以及子目录的文件 -->
<mvc:resources location="/css/" mapping="/css/**"/>
<mvc:resources location="/images/" mapping="/images/**"/>
<mvc:resources location="/scripts/" mapping="/javascript/**"/>

get 请求方式:

tomacat 对 GET 和 POST 请求处理方式是不同的,GET 请求的编码问题,要改 tomcat 的 server.xml
配置文件,如下:
<Connector connectionTimeout="20000" port="8080"
protocol="HTTP/1.1" redirectPort="8443"/>
改为:
<Connector connectionTimeout="20000" port="8080"
protocol="HTTP/1.1" redirectPort="8443"
useBodyEncodingForURI="true"/>
如果遇到 ajax 请求仍然乱码,请把:
useBodyEncodingForURI="true"改为 URIEncoding="UTF-8"
即可。

猜你喜欢

转载自blog.csdn.net/weixin_44883727/article/details/107906098