Session生命周期

翻译 2013年12月03日 09:24:12
以前在使用的时候没怎么注意,今天又回过头来仔细研究研究了一下Session的生命周期。

  Session存储在服务器端,一般为了防止在服务器的内存中(为了高速存取),Sessinon在用户访问第一次访问服务器时创建

  1. 服务器会把长时间没有活动的Session从服务器内存中清除,此时Session便失效。Tomcat中Session的默认失效时间为20分钟。

  2. 调用Session的invalidate方法。

  虽然Session保存在服务器,对客户端是透明的,它的正常运行仍然需要客户端浏览器的支持。这是因为Session需要使用Cookie作为识别标志。HTTP协议是无状态的,Session不能依据HTTP连接来判断是否为同一客户,因此服务器向客户端浏览器发送一个名为JSESSIONID的Cookie,它的值为该Session的id(也就是HttpSession.getId()的返回值)。Session依据该Cookie来识别是否为同一用户。

  该Cookie为服务器自动生成的,它的maxAge属性一般为-1,表示仅当前浏览器内有效,并且各浏览器窗口间不共享,关闭浏览器就会失效。因此同一机器的两个浏览器窗口访问服务器时,会生成两个不同的Session。但是由浏览器窗口内的链接、脚本等打开的新窗口(也就是说不是双击桌面浏览器图标等打开的窗口)除外。这类子窗口会共享父窗口的Cookie,因此会共享一个Session。

相关文章推荐

7.SessionManager(session生命周期管理)

SessionManager负责管理shiro自己封装的session的生命周期。 为什么shiro要自己封装session? 1.可以为任意应用提供session支持,不依赖于底层容器 2.简...

温故而知新之session生命周期详解

参考文献:http://www.cnblogs.com/binger/archive/2013/03/19/2970171.html

Session生命周期讨论

Session生命周期讨论 博客分类:  软件技术 Session生命周期用户退出时间序列化  文章级别:Java初级    预备技能点:JSP内置对象, 监听器, 序列化...

有关session生命周期

session对象生命周期详解

Hibernate学习--Session生命周期的不同状态

前言总结一下Session的不同状态。Session的生命周期不同状态三种状态Hibernate生命周期中java对象的三种状态: 1、临时状态(transient):用new语句创建,还没有被持...

Spring、Hibernate 事务流程分析-Session生命周期

TransactionInterceptor(Spring事务架构的具体使用场景) -> invoke方法: 方法意图大致为获取当前方面的事务属性,然后调用父类TransactionAs...
  • yczz
  • yczz
  • 2014年02月12日 16:53
  • 996

浏览器关闭,Session生命周期

今天想和大家分享一个关于Session的话题: 当浏览器关闭时,Session就被销毁了? 我们知道Session是JSP的九大内置对象(也叫隐含对象)中的一个,它的作用是可以保 存当前用户的状态...

session生命周期

Session保存在服务器端。为了获得更高的存取速度,服务器一般把Session放在内存里。每个用户都会有一个独立的Session。如果Session内容过于复杂,当大量客户访问服务器时可能会导致内存...
  • cjs998
  • cjs998
  • 2012年06月13日 12:01
  • 662

java Session生命周期讨论

Session生命周期讨论 Session生命周期用户退出时间序列化  文章级别:Java初级    预备技能点:JSP内置对象, 监听器, 序列化           在程序开发的...

JSP九大内置对象、四大作用域以及session的生命周期

JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应):    1.request对象(作用域)    客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Session生命周期
举报原因:
原因补充:

(最多只允许输入30个字)