大家好,又见面了,我是你们的朋友全栈君。
<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>/web/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
该方式为什么对POST而对GET无效呢?
不妨看看CharacterEncodingFilter内的实现 doFilterInternal
该方法调用
request.setCharacterEncoding(this.encoding);
而该方法的说明
Overrides the name of the character encoding used in the body of this request. This method must be called prior to reading request parameters or reading input using getReader().
注意到没,只对body起作用。
而get方式的请求参数在hearder里
post方式的请求参数在body里
原因自然清晰了。http://blog.csdn.net/untager/article/details/6334163
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/158264.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...