struts1为什么会话在session.invalidate()之后不为null

时间:2013-05-20 11:50:33

标签: struts-1

即使我使会话无效,也意味着我在session.invalidate()类中调用了signoutAction(struts action);为什么会话obj仍然不为空?

如果我打印会话对象,则显示会话的类名。如果会话不为空,如何阻止最终用户单击后退按钮以预览上一页。

有时我会根据当前用户是否为null进行检查,如果用户为null,则我使用response.sendRedirect()方法重定向到登录页面,但response.sendRedirect()方法无效。< / p>

Cam有人帮帮我吗?

2 个答案:

答案 0 :(得分:1)

对对象的方法调用不能使调用者中此对象的引用无效。调用后会话不为空,但它无效。

如果尝试在会话失效后从会话中获取属性,则会出现IllegalStateException。

如果用户向服务器发送新请求,它将获得一个新会话,因为旧会话已失效。

答案 1 :(得分:0)

Struts会在处理动作类时创建新会话。这就是框架代码。 这就是你调用invalidate方法时没有得到null的原因。