即使我使会话无效,也意味着我在session.invalidate()
类中调用了signoutAction
(struts action);为什么会话obj仍然不为空?
如果我打印会话对象,则显示会话的类名。如果会话不为空,如何阻止最终用户单击后退按钮以预览上一页。
有时我会根据当前用户是否为null进行检查,如果用户为null,则我使用response.sendRedirect()
方法重定向到登录页面,但response.sendRedirect()
方法无效。< / p>
Cam有人帮帮我吗?
答案 0 :(得分:1)
对对象的方法调用不能使调用者中此对象的引用无效。调用后会话不为空,但它无效。
如果尝试在会话失效后从会话中获取属性,则会出现IllegalStateException。
如果用户向服务器发送新请求,它将获得一个新会话,因为旧会话已失效。
答案 1 :(得分:0)
Struts会在处理动作类时创建新会话。这就是框架代码。 这就是你调用invalidate方法时没有得到null的原因。