首页 > 其他 > 详细

浏览器关闭后,Session就销毁了吗?

时间:2019-06-26 16:32:40      阅读:42      评论:0      收藏:0      [点我收藏+]

标签:invalid   信息   可能   创建   九大内置对象   重新   内置对象   开始   但是   

https://blog.csdn.net/QQ1012421396/article/details/70842148

话题:
       当浏览器关闭后,Session就销毁了吗?
答案:
        存在于浏览器上的唯一标识符JSESSIONID(sessionid)消失了,但是服务器中存放的sessionid并没有立马销毁。
分析:
       我们知道Session是JSP的九大内置对象(也叫隐含对象)中的一个,它的作用是可以保存当前用户的状态信息,初学它的时候,认为Session的生命周期是从打开一个浏览器窗口发送请求到关闭浏览器窗口,但其实这种说法是不正确的!当一个Session开始时,Servlet容器会创建一个HttpSession对象,那么在HttpSession对象中,可以存放用户状态的信息,Servlet容器为HttpSession对象分配一个唯一标识符即Sessionid,Servlet容器把Sessionid作为一种Cookie保存在客户端的浏览器 中用户每次发出Http请求时,Servlet容器会从HttpServletRequest对象中取出Sessionid,然后根据这个Sessionid找到相应的HttpSession对象,从而获取用户的状态信息。

       其实让Session结束生命周期,有以下两种办法:

       一个是Session.invalidate()方法,不过这个方法在实际的开发中,并不推荐,可能在强制注销用户的时候会使用;

       一个是当前用户和服务器的