Spring 解决编码问题-CharacterEncodingFilter
来源:互联网 发布:华为和高通的差距 知乎 编辑:程序博客网 时间:2024/05/21 15:02
项目中经常会遇到编码问题,Spring框架给我们提供过滤器CharacterEncodingFilter来解决编码问题。
1、结构:
可以看到其继承GenericFilterBean和OncePerRequestFilter,也就是说,这个过滤器就是针对于每次浏览器请求进行过滤的,然后再其之上添加了父类没有的功能即处理字符编码。
2.官方解释:
Servlet 2.3/2.4 Filter that allows one to specify a character encoding for requests. This is useful because current browsers typically do not set a character encoding even if specified in the HTML page or form. (这句话就说你在html页面或表单中设置编码是没有用的)
This filter can either apply its encoding if the request does not already specify an encoding, or enforce this filter's encoding in any case ("forceEncoding"="true").(只要你设置了foreEncoding=true,则在代码中设置编码格式没用,)In the latter case, the encoding will also be applied as default response encoding on Servlet 2.4+ containers (although this will usually be overridden by a full content type set in the view).
3.如何使用
下面来看看如何在web.xml中配置:
4.源码赏析
当Servlet容器启动的时候,会读取web.xml中对于过滤器的配置信息,
在这里就能看到为什么设置foreEncoding为true会覆盖掉request.getCharacterEncoding()中的方法了吧,呵呵,还是那句话,源码之前了无秘密,只有深入到源代码之中才能看清本质。
- Spring 解决编码问题-CharacterEncodingFilter
- 【Spring进阶】Spring重写CharacterEncodingFilter完全解决编码问题
- Spring的编码过滤器CharacterEncodingFilter
- 解决中文乱码用spring经典编码过滤器 org.springframework.web.filter.CharacterEncodingFilter
- 解决中文乱码用spring经典编码过滤器org.springframework.web.filter.CharacterEncodingFilter
- 解决中文乱码用spring经典编码过滤器org.springframework.web.filter.CharacterEncodingFilter
- CharacterEncodingFilter (spring中的filter设置编码)
- Spring中的字符编码过滤器(CharacterEncodingFilter)
- Spring的CharacterEncodingFilter过滤字符编码
- Spring boot http编码配置(CharacterEncodingFilter)
- Spring框架对从页面传来的字符串得编码问题(CharacterEncodingFilter)
- 乱码解决、CharacterEncodingFilter与Spring Web Security
- 编码过滤器类CharacterEncodingFilter
- CharacterEncodingFilter 字符编码过滤器
- org.springframework.web.filter.CharacterEncodingFilter 配置 解决乱码问题
- Spring MVC过滤器-字符集过滤器(CharacterEncodingFilter)中文乱码问题
- spring编码过滤器解决乱码问题
- CharacterEncodingFilter by Spring class
- 关于全志A20播放视频时透明控件变成黑色毛刺的问题
- WPF中的几种处理线程的工作方式:
- 掌握选项特点--提高SAT阅读
- Mongodb在Linux下的安装和启动和配置
- iOS时间前后获取
- Spring 解决编码问题-CharacterEncodingFilter
- 忽略时间,以'帧'为概念的重力系统(通过updatePosition来更新位置代替MoveTo)
- UML之用例图
- 权限项目总结(四) shiro 授权
- HTML5 video 跨浏览器兼容的方法
- TaskTriggerType 根据事件类型来确定节点
- spring 的 AOP详解
- 生成表记录的SQL语句
- 测试博文测试博文测试博文