项目背景:基于SpringMVC创建的Web Application,部署在tomcat9.0上
GET请求
- 打开tomcat根目录/conf/server.xml
- 找到标签
- 添加URLEncoding="utf-8"属性
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"
redirectPort="8443" URLEncoding="utf-8"/>
POST请求
在web.xml中设置过滤器
<!--设置编码过滤器-->
<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>
<!--设置request和response都使用这个过滤器-->
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<!--设置拦截哪些请求进行过滤-->
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<!--拦截规则
这里的springmvc是我在web.xml中预先设置好的<servlet>
这里的规则意思是拦截符合springmvc这一servlet中定义的所有url
<url-pattern></url-pattern> 根据url请求进行过滤
<servlet-name></servlet-name> 具体指定过滤哪个servlet
-->
<servlet-name>springmvc</servlet-name>
</filter-mapping>