本篇内容主要讲解“Session域生命周期是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Session域生命周期是什么”吧!
Session存储在服务器的内存中(为了高速存取)。
Sessinon在用户访问第一次访问服务器时创建,需要注意只有访问JSP、Servlet等程序时才会创建Session,只访问HTML、IMAGE等静 态资源并不会创建Session,可调用request.getSession(true)强制生成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域生命周期是什么”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。