java---Interceptor Filter

java—Interceptor Filter

Insert picture description here
AFilter interceptor: the
first level of interception, A intercepts requests to access Servlet

@WebFilter("/as")
public class AFilter implements Filter {
    
    
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
    
    
        System.out.println("A出生了");
    }
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
    
    
        System.out.println("A进来了");
        filterChain.doFilter(servletRequest,servletResponse);//放行,执行过滤器链中的下一个过滤器,如果没有下一个过滤器,则放行
        System.out.println("A结束拦截");
    }
    @Override
    public void destroy() {
    
    
        System.out.println("A销毁了");
    }
}

Servlet code:

@WebServlet("/as")
public class AServlet extends HttpServlet {
    
    
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    
        System.out.println("AServlet进来了");
      //转发到
      user.jsprequest.getRequestDispatcher("/users/user.jsp").forward(request,response);
    }
}

BFilter interceptor The
second layer of interception, B interception, the process of servlet forwarding to jsp

@WebFilter(value = "/users/user.jsp" , dispatcherTypes = DispatcherType.FORWARD)
public class BFilter implements Filter {
    
    
    public void destroy() {
    
    
        System.out.println("B出生了");
    }
    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
    
    
        System.out.println("B进来了");
        chain.doFilter(req, resp);
        System.out.println("B结束拦截");
    }
    public void init(FilterConfig config) throws ServletException {
    
    
        System.out.println("B销毁了");
    }
}

Guess you like

Origin blog.csdn.net/weixin_44889894/article/details/114002749