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

调用信息:

posted @ 2017-04-18 08:32  l.shane  阅读(215)  评论(0编辑  收藏  举报