问答详情
源自:7-1 总结

关于java过滤器

老师的代码中没有执行 chain.doFilter(request, response);那是怎么放行的?

@Override

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {

System.out.println("start----doFilter--FirstFilter");

//  chain.doFilter(request, response);

HttpServletRequest req =(HttpServletRequest) request;

HttpServletResponse response2 =(HttpServletResponse) response;

//重定向

//response2.sendRedirect(req.getContextPath()+"/mian.jsp");

//转发

req.getRequestDispatcher("main.jsp").forward(request, response);

// req.getRequestDispatcher("main.jsp").include(request, response);

System.out.println("end------doFilter--FirstFilter");

}


提问者:丶子非鱼 2017-05-08 08:05

个回答

  • 中二病也要写程序
    2017-05-08 22:21:52
    已采纳

    这里不是放行,是生成进行请求转发。如果没有forward过滤器,那么生成的forward请求将直接访问资源。如果还有forward过滤器,再重新进行过滤判断。