Filter快速入门
1、定义类,实现Filter接口,并重写其所有方法
public class FilterDemo1 implements Filter{
public void init(FilterConfig filterConfig) throws ServletException {
}
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
}
public void destroy() {
}
}
2、配置Filter拦截资源的路径:类上定义@WebFilter注解
@WebFilter("/*")
3、在doFilter方法中输出一句话,并放行
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("filter被执行了·····");
//放行
//filterChain.doFilter(servletRequest,servletResponse);
}
在把doFilter注解后,Web资源被拦截
放行后
Filter使用细节
Filter拦截路径配置
1、拦截具体的资源 /index.jsp
2、拦截目录 /user/*
3、后缀名拦截:/.jsp
4、拦截所有资源:/
Filter过滤链,一个Web可以配置多个过滤器,这个过滤器称为过滤器链
注解配置的Filter,优先级按照过滤器类名的自然排序(ABC这种)