是的,写的有问题doChain()后续处理你没有写

解决方案 »

  1.   

    doChain()后续处理是什么意思?我只知道Filter里面有 init(),doFilter(),destroy() 三个方法能说明一下怎么使用doChain()方法吗?
    补充一下,验证未登陆用户只能用Filter过滤吗?
      

  2.   

    public class Loginfiletr extends HttpServlet implements Filter { public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain filterChain) throws IOException, ServletException {
     HttpServletRequest req=(HttpServletRequest)request;
             HttpSession session =req.getSession();
             String str=(String)session.getAttribute("DL");
             if(str!=null&&str.equals("true")){
                 filterChain.doFilter(request, response);
             }else{
                 HttpServletResponse rep=(HttpServletResponse)response;
                 String path=req.getContextPath();
                 rep.sendRedirect(path+"/login.jsp");
             } } public void init(FilterConfig arg0) throws ServletException {
    // TODO Auto-generated method stub
    }
    public Loginfiletr() {
    super();
    } public void destroy() {
    super.destroy(); // Just puts "destroy" string in log
    // Put your code here
    }
    public void init() throws ServletException {
    // Put your code here
    }
    }在WEB。XML
    里设置好你过滤所拦截的请求~!如:<filter-mapping>
    <filter-name>loginfiletr</filter-name>
    <url-pattern>/guanli/*</url-pattern>
    </filter-mapping>
      

  3.   

    这样还是无限循环啊,else{ 
                 HttpServletResponse rep=(HttpServletResponse)response; 
                 String path=req.getContextPath(); 
                 rep.sendRedirect(path+"/login.jsp"); 
             } rep.setRedirect("login.jsp");之后又进到Filter里面了
      

  4.   

    过滤器你还没弄懂怎么使用吧?
    web.xml里设置好要过滤的页面,至于你说的连登陆页面都过滤了,那就要把登陆页面跟你要过滤的页面放到不同的文件夹下面