Filter(过滤器)
其实就是对客户端发出来的请求进行过滤。 浏览器发出,然后服务器派servlet处理。 在中间就可以过滤,其实过滤器起到的是拦截的作用。
- 作用
1 | 1. 对一些敏感词汇进行过滤(敏感词汇) |
Filter使用
定义一个类实现Filter
1 | //构造方法 |
new注册过滤器(url-pattern可以更改)
在web.xml里面注册,注册的手法与servlet基本一样。
1 | <filter> |
url-pattern 写法格式
1. 全路径匹配 以 / 开始
/LoginServlet
2. 以目录匹配 以 / 开始 以 * 结束
/demo01/*
3. 以后缀名匹配 以 * 开始 以后缀名结束
*.jsp *.html *.do
dispatcher 设置
REQUEST : 只要是请求过来,都拦截,默认就是REQUEST
FORWARD : 只要是转发都拦截。
ERROR : 页面出错发生跳转
INCLUDE : 包含页面的时候就拦截。
Filter生命周期
- 创建
在服务器启动的时候就创建。
- 销毁
服务器停止的时候。
Filter执行顺序
客户端发出请求,先经过过滤器,如果过滤器放行,那么才能到servlet。
如果有多个过滤器, 那么他们会按照注册的映射顺序 来 排队。只要有一个过滤器,不放行,那么后面排队的过滤器以及咱们的servlet都不会收到请求。