首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >CharacterEncodingFilter 失效[通俗易懂]

CharacterEncodingFilter 失效[通俗易懂]

作者头像
全栈程序员站长
发布于 2022-09-14 08:11:59
发布于 2022-09-14 08:11:59
1.4K0
举报

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

<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.cn/158264.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年7月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
CharacterEncodingFilter 详解
是spring内置过滤器的一种,用来指定请求或者响应的编码格式。在web开发中经常被从来使用
全栈程序员站长
2022/09/19
5120
CharacterEncodingFilter 详解
GET、POST编码问题
GET请求、POST经常会出现中文乱码的问题,最好约定前后端的编码,一般为UTF-8。但是这里面也是有坑的。 后端设置编码为UTF-8的推荐方式: SpringMVC配置过滤器: <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <ini
欠扁的小篮子
2018/07/04
7330
JavaWeb三大组件之Filter学习详解
JavaWeb三大组件之Filter学习详解 Filter基本上可以说存在所有的JavaWeb项目中,比如最基本的一个请求参数的编码CharacterEncodingFilter,大家一般都会配置下
一灰灰blog
2018/02/06
8490
JavaWeb三大组件之Filter学习详解
Spring mvc 内置编码过滤器原理解析
在Spring mvc框架中是如何解决从页面传来的字符串的编码问题的呢? 下面我们来看看Spring框架给我们提供过滤器CharacterEncodingFilter。 web.xml 中 添加如下配置: <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-clas
java404
2018/05/18
1.3K0
Spring 配置请求过滤器,编码格式设为UTF-8,避免中文乱码
public void setEncoding(java.lang.String encoding)
WindWant
2020/09/11
2.2K0
characterEncodingFilter作用[通俗易懂]
characterEncoding表示编码方式,enabled表示是否启用编码,分别从初始化参数中取值。
全栈程序员站长
2022/09/07
4360
Web.xml配置说明
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/149544.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/05
7260
Spring Boot遇到的某些问题
在spring整合thymeleaf模板后,页面中文将显示乱码,需要设置web.xml和springmvc-servlet.xml配置才能使中文不乱码。
Dream城堡
2018/09/10
8750
tomcat解决GET请求中文参数乱码
通常,在使用Spring MVC框架的应用程序中,为了解决中文参数乱码的问题,都会添加如下过滤器配置:
编程随笔
2019/09/11
2.4K0
webservice中文乱码处理_java取session乱码问题
在写webservice接口的时候,从各种客户端传来的中文部分有乱码。从网上查了很多,包括万能的CSDN,上边都千篇一律的说是设置编码格式。这些都没用,要是编码格式能解决,怎么可能会部分乱码呢。还有的说是soap协议包什么的,不支持特殊字符等等,这些都不能解决我的问题。 结果我多日来的搜索终于解决了。在此记录一下。如果有此需求的朋友就可以看看,或许有用。 最后再次感谢万能的互联网,帮我解决了大问题!!!
全栈程序员站长
2022/11/10
1.7K0
SpringMVC配置字符过滤器的两种方式
一、在web.xml中配置 <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>orgspringframeworkwebfilterCharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </in
凡人飞
2020/09/20
1.3K0
SpringMVC中文乱码 controller乱码
注意: form表单提交方式为必须为post,get方式下面spring编码过滤器不起效果
traffic
2020/04/09
6.2K0
SpringMVC乱码或前台乱码解决办法
以及 form表单提交方式为必须为post 修改web.xml,增加编码过滤器,如下(注意,需要设置forceEncoding参数值为true)
試毅-思伟
2018/09/06
1.7K0
Jsp开发中遇到的中文乱码问题及解决方法
Jsp开发中遇到的中文乱码问题及解决方法 对于程序员来说,乱码问题真的很头疼,下面列举几种常见的乱码供大家学习参考。  1.数据库编码不一致导致乱码   解决方法:   首先查看数据库编码,输入: show variables like "%char%";   确认编码一致,如果不一致,可输入: SET character_set_client='utf8'; SET character_set_connection='utf8'; SET character_set_results='utf8';  
用户1289394
2018/02/26
1.5K0
JSP开发过程遇到的中文乱码问题及解决方法
JSP开发过程遇到的中文乱码问题及解决方法 1.数据库编码不一致导致乱码 解决方法: 首先查看数据库编码,输入: show variables like "%char%"; 确认编码一致,如果不一致,可输入: SET character_set_client='utf8'; SET character_set_connection='utf8'; SET character_set_results='utf8'; 也可设置成gbk编码; 也可以在安装Mysql目录下修改my.ini文件 default-ch
用户1289394
2018/02/26
1.1K0
JavaWeb springMVC开发 URL中文参数不显示结果
在tomcat->conf->server.xml中添加URIEncoding=“UTF-8”:
zhangheng
2020/04/28
7290
springMVC工作原理和创建简单实例
1、客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交给DispatcherServlet.
全栈程序员站长
2022/06/30
3480
springMVC工作原理和创建简单实例
SpringMVC传递参数乱码解决,web.xml中配置编码过滤器
web.xml中配置编码过滤器 编码过滤器 <!-- 编码过滤--> <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding<
2020/10/23
7180
4. SpringMVC获取请求参数
将 HttpServletRequest 作为控制器方法的形参 , 此时 HttpServletRequest 类型的参数表示封装了当前请求的请求报文的对象
捞月亮的小北
2023/12/01
2090
4. SpringMVC获取请求参数
SpringMVC系列知识:(六)乱码的问题
我们前段传到后端的是中文,前段也是utf-8。但是在后端接收到的就是乱码。这个不是前段的问题,是后端的java代码出现了问题。我们可以在controller层输出一下接收到的前段数据,就可以看到输出的是乱码。所以,我们解决的时候就是在controller层解决乱码的问题。
一写代码就开心
2020/11/19
4100
相关推荐
CharacterEncodingFilter 详解
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档