如果会话过期,如何重定向到登录页面?

时间:2016-04-17 18:27:46

标签: java jsp session tomcat servlets

    HttpSession session = request.getSession();
    User user = (User)session.getAttribute("user");
    if(user == null){
        response.sendRedirect("login.jsp");
    }
    System.out.println(user);

我在servlet中编写此代码并将其部署在Tomcat Server中。会话到期后,将自动创建会话,但“user”属性将变为null。但页面不会重定向到“login.jsp”,并且“*”会在控制台上打印出来。

我正在使用MyEclipse IDE。

1 个答案:

答案 0 :(得分:0)

那是因为没有布尔参数的getSession()调用会创建另一个会话。

执行此操作:HttpSession session = request.getSession(false);

此外,请确保在发送任何其他标头之前放置此代码段,以避免混淆浏览器。

但是,有关更全面的解决方案,请参阅@ BalusC的评论

相关问题