Filter
快速入门
1.定义类,实现Filter接口,并重写其所有抽象方法
public class MyFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
}
@Override
public void destroy() {
}
2.设置需要拦截的资源 在类上使用注解实现
@WebFilter("/*")
public class MyFilter implements Filter {
3.放行 在doFilter()方法里面
filterChain.doFilter(servletRequest,servletResponse);
执行流程
使用细节
拦截路径的配置
@WebFilter("/*")
过滤器链
一个Web应用,可以配置多个过滤器,这多个过滤器称为过滤器链
注解配置的Filter,优先级按照过滤器类名(字符串)的自然排序
Listener
使用ServletContextListener
1.定义类,实现ServletContextListener,重写所有抽象方法
2.在类上加注解@WebListener 不用添加路径