JavaWeb【过滤器】
定义:
服务器端组件,可以截取用户端的请求和响应,并对这些信息做过滤。
课程概要:
1、工作原理
2、生命周期
1、web.xml配置
- 注意:url-pattern配置路径前面需要加"/",否则服务器会启动失败。/*代表所有页面都需要过滤
2、init()
初始化方法,过滤器创建后将调用该方法,可以读取web.xml中的参数
Eclipse创建过滤器时会自动加注解 @WebFilter("/FirstFilter") ,会使过滤器初始化2遍,销毁2遍
3、doFilter()
核心方法,当用户请求URL时,web容器优先调用该方法,FilterChain参数可以调用chain.doFilter(),将请求传给下一个过滤器或目标资源
4、destroy()
Web容器在销毁过滤器时使用该方法,释放资源
3、过滤器链
3、分类
1、Request(默认)
当直接请求,或重定向response.sendRedirect()时,会触发此类型过滤器
2、Forward
当转发request.dispatcher().forward()时,会触发此类型过滤器
3、Include
当转发request.dispatcher().Include()时,会触发此类型过滤器
4、Error
目标资源通过声明式异常处理机制调用时,触发此过滤器
5、Async
异步处理
4、实例
过滤器链
web.xml
filter1
filter2
index.jsp
调用信息: