javax.servlet.Filter 过滤器使用的疑问

import javax.servlet.Filter;
//已经登录 或 或文件上传
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain fc) throws IOException, ServletException {

        HttpServletRequest hreq = (HttpServletRequest) request;
        HttpSession session = hreq.getSession();

        String toUrl = hreq.getRequestURL().toString();
        int result  = toUrl.indexOf("!upload");

 

         if (( result==-1) {

              request.getRequestDispatcher("/login.jsp").forward(request, response);

        }else{
            //已经登录 或 或文件上传
            fc.doFilter(request, response);
        }
    }

 

 

请问下fc.doFilter(request, response);  是调用过滤器执行接下来的其他过滤器吗

 

过滤器就类似于struts2中的拦截器,都是由一些任务链或者说是责任链组成,这是一种典型的责任链模式,fc.doFilter(request, response);意思是调用下一个过滤器,如果没有下一个过滤器,就会进入自己的程序中执行相应的servlet方法或action方法

请问下fc.doFilter(request, response); 是调用过滤器执行接下来的其他过滤器吗

是的,调用过滤器链的下一个或如果没有过滤器了调用相应的servlet