今天在写代码的时候,有一个查询接口,用的是http的get请求方式,在本地测试通过后,发到测试环境,发现测试环境调用查询的结果有点让我意外,经过在代码里面输出数据调试,发现是因为乱码造成的。
查看了下代码里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>
<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>
上面的这段配置只针对post请求。
get请求需要在tomcat的server.xml文件中加上URIEncoding="UTF-8"。