1.打开浏览器,登录某网站.
2.session 在服务器端创建.
3.关掉浏览器,再次访问该网站,提示没有登录.
request是无连接的.也就是说,我打开网页,页面加载完成后,连接已经断掉了.
服务器端是如何知道我关闭浏览器的,从而清楚session对象.
好像有个windows.onclose类似的方法,你可以查查看,然后向后台发一个invalid session的请求。不过如果是浏览器崩溃的话就不知道怎么办了。
session死亡 发生在以下情况:
1.session的持有者(即客户端浏览器)在最大无活动等待时间(MaxInactiveInterval)内无任何响应或请求
2.session被调用invalidate()方法强制弊了
3.jsp服务器重起或发生中断(此时应该是所有session都当了)
用户关闭浏览器后标志着
a.session将不再发送请求到服务器
b.该session将不会有人调用他的invalidate()方法
所以,此时只能等待session自己超时死亡,如果设置了该session的MaxInactiveInterval为-1,那么这个session只有在第3种情况下才能死了.