CharacterEncodingFilter 失效[通俗易懂]

CharacterEncodingFilter 失效[通俗易懂]characterEncodingFilter      org.springframework.web.filter.CharacterEncodingFilter               encoding         UTF-8                     forceEncoding         t

大家好,又见面了,我是你们的朋友全栈君。

<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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158264.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号