专注Java教育12年 全国咨询/投诉热线:400-8080-105

首页 hot资讯 Session域生命周期详解

Session域生命周期详解

更新时间:2021-11-18 10:30 来源:动力节点 浏览36次

Session的生命周期

Session存储在服务器的内存中(为了高速存取)。

Session何时生效

Sessinon在用户访问第一次访问服务器时创建,需要注意只有访问JSP、Servlet等程序时才会创建Session,只访问HTML、IMAGE等静 态资源并不会创建Session,可调用request.getSession(true)强制生成Session。

Session何时失效

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

2.调用Session的invalidate方法。

HttpSession session = request.getSession();
session.invalidate();//注销该request的所有session

3.session的过期时间是从什么时候开始计算的?是从一登录就开始计算还是说从停止活动开始计算?

答:从session不活动的时候开始计算,如果session一直活动,session就总不会过期。

从该Session未被访问,开始计时; 一旦Session被访问,计时清0;

4.设置session的失效时间

1)web.xml中

<session-config>
    <session-timeout>30</session-timeout>
</session-config>

2)在程序中手动设置

session.setMaxInactiveInterval(30 * 60);//设置单位为秒,设置为-1永不过期

3)tomcat也可以修改session过期时间,在server.xml中定义context时采用如下定义:

<Context path="/livsorder"
docBase="/home/httpd/html/livsorder"   defaultSessionTimeOut="3600"
isWARExpanded="true"   
isWARValidated="false" isInvokerEnabled="true"   isWorkDirPersistent="false"/>

[注]:若要移除Session中特定的值,可以调用removeAttribute方法,但request中的SessionID仍不变,只是其中的值发生了改变, Session还是原来的Session。

request.getSession().removeAttribute("xxx");

以上就是关于“Session域生命周期详解”的介绍,如果您想了解更多相关知识,可以关注一下动力节点的Spring Session教程,里面的内容详细,适合小白学习,希望对大家的学习会有所帮助。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>

返回顶部