Spring Boot MVC错误编码的POST请求

Spring Boot MVC错误编码的POST请求,第1张

Spring Boot MVC错误编码的POST请求

在深入研究许多过滤器链并在其中移动了字符编码之后,终于找到了问题。另一个过滤器是在启动字符编码之前更改编码。

我只是从spring security手中获得了过滤器,然后将其手动添加为bean来为我做过滤:

@Beanpublic FilterRegistrationBean filterRegistrationBean() {    FilterRegistrationBean registrationBean = new FilterRegistrationBean();    CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();    characterEncodingFilter.setEncoding("UTF-8");    registrationBean.setFilter(characterEncodingFilter);    return registrationBean;}

2天或搜索和尝试,只是一个简单的答案。很难找到答案

-更新-

如果您使用的是Spring Boot
1.2+,则完全不需要CharacterEncoding。默认情况下,它处于理想位置,字符编码等于utf8。因此,下次,只要设置属性(如有)即可!要设置的属性是:

# HTTP encoding (HttpEncodingProperties)spring.http.encoding.charset=UTF-8 # the encoding of HTTP requests/responsesspring.http.encoding.enabled=true # enable http encoding supportspring.http.encoding.force=true # force the configured encoding

-更新2 —

来自Tomcat Wiki:

Tomcat8
从8.0.0(具体来说是8.0.0-RC3)开始,
URIEncoding
元素上的attribute
的默认值取决于“严格遵守servlet”设置。URIEncoding的默认值(严格符合性已关闭)为now
UTF-8
。如果启用了“严格遵守servlet”,则默认值为
ISO-8859-1


概括地说,不需要在Tomcat Config neigter中设置UriEncoding。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5621735.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存