Filter的生命周期
Filter在服务器开启的时候创建,在服务器关闭的时候销毁。
Filter的执行顺序
Filter根据在配置中的先后顺序来确定执行顺序
Filter的放行通过
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException, ServletException {
System.out.println("来到过虑器了。。。");
chain.doFilter(request, response);
}
doFilter方法之后的代码是请求响应返回时候执行的,但一般很少用就是了
只要有一个Filter不放行,后面的过滤器都不会收到,相应的Servlet也不会收到。
Filter的初始化配置可以像Servlet从Web.xml配置文件中获取初始化数据,但一般都是直接给数据的多,用到的少。
<url-pattern>/*</url-pattern> 写法格式与servlet一样。
1. 全路径匹配 以 / 开始
/LoginServlet
2. 以目录匹配 以 / 开始 以 * 结束
/demo01/*
3. 以后缀名匹配 以 * 开始 以后缀名结束
*.jsp *.html *.do
4. 针对 dispatcher 设置
REQUEST : 只要是请求过来,都拦截,默认就是REQUEST
FORWARD : 只要是转发都拦截。
ERROR : 页面出错发生跳转
INCLUDE : 包含页面的时候就拦截。