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。
答案 0 :(得分:0)
那是因为没有布尔参数的getSession()
调用会创建另一个会话。
执行此操作:HttpSession session = request.getSession(false);
此外,请确保在发送任何其他标头之前放置此代码段,以避免混淆浏览器。
但是,有关更全面的解决方案,请参阅@ BalusC的评论