Filter过滤器
对客户端发出来的请求进行过滤,浏览器发出,然后服务器派servlet处理。
在中间就可以过滤,其实过滤器起到的是拦截的作用。
Filter执行顺序
- 客户端发出请求,先经过过滤器,如果过滤器放行,才会得到servlet
- 如果有多个过滤器,那么他们会按照注册的映射顺序来排队。
Filter细节
- init方法的参数FilterConfig,可以用于获取filter在注册的名字以及初始化参数。
(其实这里的设计的初衷与ServletConfig是一样的) - 如果想放行,那么在doFilter方法里面操作,使用参数 chain
- <url-pattern>/*</url-pattern>写法格式与servlet一样
1. 全路径匹配 以/ 开始 /LoginServlet
2. 以目录匹配 以/开始 以 星号 结束 /demo01/星号
3. 以后缀名匹配 以星号开始,以后缀名结束 星号.jsp 星号.do - 针对dipatcher设置
REQUEST:只要是请求过来,都拦截,默认是REQUEST
FORWARD:只要是转发都拦截
ERROR:页面出错发生跳转
INCLUDE:包含页面的时候就拦截