系统检查用户是否登录,用Filter实现,在Filter中从session中取user,如果取到了就说明用户已经登录,继续执行业务,如果从session中如不到user,则表示用户没有登录或者session登录后超过了session锁定时间,总是是需要重新登录的。请问如何在Filter的doFilter()方法中跳转到登录页面login.jsp中去呢?

解决方案 »

  1.   

    跳转页面不是在fiter中做的啊,你对fiter理解有问题哦例如,你访问一个servlet,而这个servlet进行一些处理之后是转到login.jsp的,而这个servlet是满足fiter的url-pattern的,也就是说访问这个servlet的时候先会经过fiter,如果fiter通过登录条件的话,就会执行这个servlet,然后再转到login.jsp,其中fiter有一句dochain(request,respose)会传递到servlet,不知道有没有说清楚,哈哈
      

  2.   

    那如果我在doFilter()方法中,判断session中的user为空,直接return;而不执行chain.doFilter(request, response)方法;会怎么样呢?
      

  3.   

    建议楼主先搞懂什么是filter,什么事servlet
      

  4.   

    if(session.getAttribute("user")!=null)
       arg2.doFilter(request, response);
    else
       response.sendRedirect("URL");
    这样吧
      

  5.   

    判断一下你要的值
    比如这个session的user
    符合你的要求的,进下一个链
    不符合的sendRedirect出去,并且加上个return
      

  6.   

    chain.doFilter(request, response);