概述
过滤器的作用
实现对web资源请求的拦截,完成特殊的操作,尤其是对请求的预处理
应用场景
1.Web资源权限访问控制
2.请求字符集编码处理
3.内容敏感字符词汇过滤
4.响应信息压缩
过滤器的工作流程
Java过滤器概述图解过滤器的生命周期
1.web应用程序启动时,web服务器创建Filter的实例对象,以及对象的初始化
2.当请求访问与过滤器关联的Web资源时,过滤器拦截请求,完成指定功能。
3.Filter对象创建后会驻留在内run,在web应用移除或服务器停止时才销毁。
4.过滤器的创建和销毁由Web服务器负责
过滤器的实现步骤
1.编写java类实现Filter接口,并实现其doFilter方法。
2.在web.xml文件中对filter类进行注册,并设置所拦截的资源。
过滤器链
1.在一个web应用中,多个过滤器组合起来称之为一个过滤器链。
2.过滤器的调用顺序取决于过滤器在web.xml文件中的注册顺序
过滤器的实现
导入包
javax.servlet.Filter
方法
init(Filter argO)对过滤器的创建进行一些初始化的操纵
doFilter(ServletRequest request,ServletResponse reponse,FilterChain chain)
doFilter中包含
//中文编码过滤器的实现,使用init方法获得XML中的配置情况
request.setCharacterEncoding(config.getInitParameter("charset")/"utf-8");
destroy()结束时调用
xml文件配置过滤器
1.注册过滤器
<filter>
<filter-name></filter-name>
<filter-class></filter-class>
</filter>//定义过滤器的名字告诉服务器哪个类作为过滤器//路径
2.拦截请求映射
<filter-mapping>
<filter-name></filter-name>//指定过滤器,做拦截映射
<url-pattern></url-pattern>//映射配置
</filter-mapping>
其他配置
<filter>
<param>charst<</param>//设置字符集格式
<param-value>utf-8</filter-mapping>
</filter>
子元素dispatcher
REQUEST 默认
INCLUDE
FORWARD
ERROR
<filter-mapping>
<filter-name></filter-name>
<url-pattern></url-pattern>
<dispatcher>ERROR</dispatcher>
<filter-mapping>
<error-page>
<error-code>404</error-code>
<location>/作为404错误的页面</location>
</error-page>
ERROR 404 /作为404错误的页面
网友评论