通常指从注册进入系统到注销退出系统之间所经过的时间。以及如果需要的话,可能还有一定的操作空间。
推荐课程:java教程。
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的失效时间
a)web.xml中
<session-config> <session-timeout>30</session-timeout></session-config>
b)在程序中手动设置
session.setmaxinactiveinterval(30 * 60);//设置单位为秒,设置为-1永不过期
c)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的生命周期是什么的详细内容。
