更新時(shí)間:2021-11-18 10:30:25 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1000次
Session存儲(chǔ)在服務(wù)器的內(nèi)存中(為了高速存取)。
Sessinon在用戶訪問第一次訪問服務(wù)器時(shí)創(chuàng)建,需要注意只有訪問JSP、Servlet等程序時(shí)才會(huì)創(chuàng)建Session,只訪問HTML、IMAGE等靜 態(tài)資源并不會(huì)創(chuàng)建Session,可調(diào)用request.getSession(true)強(qiáng)制生成Session。
1.服務(wù)器會(huì)把長時(shí)間沒有活動(dòng)的Session從服務(wù)器內(nèi)存中清除,此時(shí)Session便失效。Tomcat中Session的默認(rèn)失效時(shí)間為20分鐘。
2.調(diào)用Session的invalidate方法。
HttpSession session = request.getSession();
session.invalidate();//注銷該request的所有session
3.session的過期時(shí)間是從什么時(shí)候開始計(jì)算的?是從一登錄就開始計(jì)算還是說從停止活動(dòng)開始計(jì)算?
答:從session不活動(dòng)的時(shí)候開始計(jì)算,如果session一直活動(dòng),session就總不會(huì)過期。
從該Session未被訪問,開始計(jì)時(shí); 一旦Session被訪問,計(jì)時(shí)清0;
4.設(shè)置session的失效時(shí)間
1)web.xml中
<session-config>
<session-timeout>30</session-timeout>
</session-config>
2)在程序中手動(dòng)設(shè)置
session.setMaxInactiveInterval(30 * 60);//設(shè)置單位為秒,設(shè)置為-1永不過期
3)tomcat也可以修改session過期時(shí)間,在server.xml中定義context時(shí)采用如下定義:
<Context path="/livsorder"
docBase="/home/httpd/html/livsorder" defaultSessionTimeOut="3600"
isWARExpanded="true"
isWARValidated="false" isInvokerEnabled="true" isWorkDirPersistent="false"/>
[注]:若要移除Session中特定的值,可以調(diào)用removeAttribute方法,但request中的SessionID仍不變,只是其中的值發(fā)生了改變, Session還是原來的Session。
request.getSession().removeAttribute("xxx");
以上就是關(guān)于“Session域生命周期詳解”的介紹,如果您想了解更多相關(guān)知識(shí),可以關(guān)注一下動(dòng)力節(jié)點(diǎn)的Spring Session教程,里面的內(nèi)容詳細(xì),適合小白學(xué)習(xí),希望對(duì)大家的學(xué)習(xí)會(huì)有所幫助。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743