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