Session 的生命周期

本文深入探讨了Web应用中Session的概念、作用及其生命周期管理,包括Session的创建、使用、超时与失效机制,以及如何在web.xml和web.config中进行配置。了解Session的生命周期有助于开发者更高效地管理用户会话,提升用户体验。
摘要由CSDN通过智能技术生成

        初学JSP中九大内置对象,了解到session对象,看到很多关于session对象的生命周期的讨论。想必这一定是一个重要的知识点。在今后的学习和工作中,一定会有极其重要的地位。为了便于以后的深入了解和回顾,经过老师的讲解和网上资料的补充,特在此整理一下当前关于session对象的生命周期的理解。有什么错误,望各位大神不吝,积极指正和补充。

       Web中的Session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。需要注意的是,一个Session的概念需要包括特定的客户端,特定的服务器端以及不中断的操作时间。A用户和C服务器建立连接时所处的Session同B用户和C服务器建立连接时所处的Session是两个不同的Session。

  当以下4种情况发生其一时,session以及其中的数据就会清空:

1、用户关闭正在使用的浏览器;

2、关闭网页服务器;

3、用户未向服务器提出请求超过预设的时间,Tomcat服务器的预设时间为30分钟;

4、运行程序结束了session。


   注意,当浏览器关闭时,不会向服务器发送消息,这次会话关联的所有会话数据并不会马上被清除,直到该会话超过预设时间才会被删除。当用户再次打开浏览器时,服务器无法将新的请求与以前的会话关联起来,因此会创建一个新的session对象。


    Session的超时时间为maxInactiveInterval属性,可以通过对应的getMaxInactiveInterval()获取,通过     setMaxInactiveInterval(longinterval)修改。


  Session的超时时间也可以在web.xml中修改。另外,通过调用Sessioninvalidate()方法可以使Session失效。


    <session-config> 

          <session-timeout>60</session-timeout>     <!--单位:分钟--> 

    </session-config>

 注意:<session-timeout>参数的单位为分钟,而 setMaxInactiveInterval(int s)  单位为秒。

 web.config里设置<sessionState timeout="30"></sessionState>


 注意:新开的浏览器窗口会生成新的Session,但子窗口除外。子窗口会共用父窗口的Session。例如,在链接上右  击,在弹出的快捷菜单中选择"在新窗口中打开"时,子窗口便可以访问父窗口的Session

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值