这篇文章主要介绍了Java 语言(一种计算机语言,尤用于创建网站)字符编码过滤器案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
一、什么是CharacterEncodingFilter
官方解释如下
是春天内置过滤器的一种,用来指定请求或者响应的编码格式。在网开发中经常被从来使用
二、CharacterEncodingFilter的用法
在web.xml中的配置
过滤器
过滤器名称字符编码过滤器/过滤器名称
过滤级组织。spring框架。网络。过滤器。字符编码过滤器/过滤器类
初始化参数
参数名称编码/param-name
参数值utf-8/参数值
/init-param
初始化参数
param-nameforceEncoding/param-name
参数值真实/参数值
/init-param
/过滤器
过滤映射
过滤器名称字符编码过滤器/过滤器名称
全球资源定位器(Uniform Resource Locator)模式/*/url模式
/过滤器-映射
其中编码用来指定编码格式,强制编码表示是否强制反应的编码格式也是编码格式
三、CharacterEncodingFilter 原理
服务器启动的时候就会创建Filter,将init-param中的参数加载,注入到CharacterEncodingFilter 类中,浏览器每次发送请求都会经过这个过滤器,然后调用doFilterInternal
CharacterEncodingFilter 类图
可以看到字符编码过滤器继承OncePerRequestFilter,OncePerRequestFilter是个抽象类,其中的抽象方法doFilterInternal被字符编码过滤器实现,同时OncePerRequestFilter实现了doFilter方法,调用了doFilterInternal方法。
doFilterInternal方法
@覆盖
受保护的void doFilterInternal(
HttpServletRequest请求、HttpServletResponse响应、滤波器链过滤器链)
引发ServletException,IOException {
if (this.encoding!=null(这个。强制编码| |请求。get character encoding()==null)){
请求。setcharacterencoding(this。编码);
if (this.forceEncoding) {
回应。setcharacterencoding(this。编码);
}
}
filterChain.doFilter(请求,响应);
}
到此这篇关于Java 语言(一种计算机语言,尤用于创建网站)字符编码过滤器案例详解的文章就介绍到这了,更多相关Java 语言(一种计算机语言,尤用于创建网站)字符编码过滤器内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。