更新時間:2021-11-18 10:30:25 來源:動力節點 瀏覽1008次
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域生命周期詳解”的介紹,如果您想了解更多相關知識,可以關注一下動力節點的Spring Session教程,里面的內容詳細,適合小白學習,希望對大家的學習會有所幫助。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習