关于浏览器关闭后session是否被删除的问题
来源:互联网 发布:层次聚类算法 编辑:程序博客网 时间:2024/05/16 13:00
先上结论:session不会因为浏览器的关闭而消失!!!!!!
session的生命周期:
创建: 当某一用户调用了servlet的request.getsession(true)时,session被创建,并把session对象被保存在服务器中
销毁: 当发生以下三种情况时 session对象被销毁
(1) 用户距离上次发出请求的时间大于session的存活时间(session.setMaxInactiveInterval(interval))
(2) 调用session的 invalidate()方法
(3) 服务器关闭
http是无状态的连接,服务器并不知道浏览器什么时候关闭的,所以也不会根据浏览器的状态来做出相应
但为什么又会出现关闭浏览器后session被销毁的假象呢?
这是由于session是基于cookie实现的,session在被创建后,会生成一个唯一的sessionid返回给浏览器 并保存在浏览器的cookie中,
接下来客户再次调用getsession(),服务器便会从客户端发送过来的cookie中查找name为sessionid的cookie是否存在, 若是存在 则通过该cookie的值来找到用户之前创建的session,若是不存在则创建一个新的session.然而保存sessionid的cookie默认是会话级别的,是保存在浏览器的内存中的,当浏览器关闭时这个cookie也就消失了,所以再次打开一个新的浏览器 由于这个时候并不存在名为sessionid的cookie,所以服务器便会创建一个新的session,但是原来的session还是存在的!也就是说这时候服务器中一共存在两个session
- 关于浏览器关闭后session是否被删除的问题
- 关于关闭浏览器后清除session的问题
- 关闭浏览器后的session
- 关于浏览器关闭之后session就变了的问题
- J2EE-session在浏览器关闭后失效问题
- 对关闭浏览器后Session对象就清除的解释
- 在不小心关闭浏览器后,如何还能访问关闭浏览器前的session信息
- hibernate关于session的关闭问题
- hibernate关于session的关闭问题
- hibernate关于session的关闭问题
- hibernate关于session的关闭问题
- 关于session监听浏览器关闭服务器执行destory的证实
- 关闭浏览器后Session失效原因分析
- 关闭浏览器后Session失效原因分析
- 关闭浏览器后Session失效原因分析
- 浏览器关闭使session失效的问题的解决方法
- 浏览器关闭时 清除服务端相应SESSION的问题
- 浏览器端禁用Cookie后,无法获取Session的问题
- U盘怎么分区合并
- 使用Java如何让需求在指定时间内生效
- 32位操作系统下各种数据类型所占有的字节数
- Cocoa pods的安装使用
- 关于下拉框切换取值的例子
- 关于浏览器关闭后session是否被删除的问题
- Two Sum 计算两数和是否满足目标
- HashMap的工作原理
- 第四专题 Problem C
- 摄像机标定矫正畸变
- 卡特兰数变形之Unique Binary Search Trees II
- 关于live555的总结
- 怎样编辑操作PDF文件
- 国外大神分享:给程序员的实用编程7+1条小贴士