struts2 Session生命周期

ssh项目,控制器使用的Struts2,action实现了SessionAware接口,用户登录后,用户信息信息保存在session中,为什么当关闭浏览器后重新打开浏览器session中的值仍然存在啊?用户sessionid不是存储到浏览器cookie进程中的吗?关闭浏览器后id就没有了,不应该打开浏览器还能取到session的值才对啊,求助大神

4个回答

关闭浏览器后打开任务管理器,看看是不是所有的浏览器进程都关闭了。再不行注销下windows登入,看看session是否没有了。
如果还有,说明你哪里错了,写到浏览器永久的cookie了。

LONG_Yi_1994
小诸葛的博客 非常感谢!
接近 3 年之前 回复
LONG_Yi_1994
小诸葛的博客 然后没等我结束进程,它自己就消失了,再打开浏览器session中的值确实没有了
接近 3 年之前 回复
LONG_Yi_1994
小诸葛的博客 问题解决了,是浏览器进程的问题,我用的搜狗浏览器,关闭浏览器后打开任务管理器仍然可以看到搜狗浏览器的进程,
接近 3 年之前 回复

每次打开浏览器,会携带上cookie信息,服务器端会根据cookie中的sessionid获取对应的session,
这个要看你的cookie生命周期设置了多长。

仔细看下,你先给session取出来打印出日志,看看浏览器关闭后重新打开,session中的值和以前那个值是不是一样的。先排除session存储值的问题,
再看是否本地缓存之类的问题或是cookie

这个是和浏览器的版本有关系 。 老版本的浏览器是 session自动没有了, IE10以上版本的浏览器就带有保存session的功能

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐