HttpSession會話狀態的生命周期


[轉]

HttpSession會話狀態的生命周期
瀏覽器訪問服務器時,服務器會創建一個session對象(有一個sessionId)。服務器在默認的情況下,會將sessionId以cookie的機制發送給瀏覽器。當瀏覽器再次訪問服務器時,會將sessionId發送給服務器,服務器依據sessionId就可以找到對應的session對象。服務器以此方式管理用戶的狀態。

        獲取session對象的方式有兩種:
一、HttpSession session = request.getSession(boolean flag);當flag = true時,服務器會先查看請求中是否包含sessionId,如果有,則依據sessionId去查找對應的session對象,如果找到返回該對象。如果找不到,則會創建一個新的session對象。當flag = false時,服務器會先查看請求中是否包含sessionId,如果沒有,返回null。如果有返回sessionId對應的session對象。
二、HttpSession session = request.getSession()與方式一中request.getSession(true)等價。Session生命周期,Servlet容器從創建Session對象到銷毀的過程。Servlet容器會依據Session對象設置的存活時間,在達到Session時間后將Session對象銷毀。

        設置Session存活時間的方式有三種:
一、session.setMaxInactiveInterval(interval)方法體內的參數interval為秒。
二、web.xml里配置如下信息

        <session-config>

              <session-timeout>時間長度(單位為分鍾)</session-timeout>

</session-config>
三、在tomcat/conf/server.xml中定義defaultSessionTimeOut=時間長度(分鍾)

三種方式中當值為-1時,session永不失效。三種方式的優先級為:第一種方式>第二種方式>第三種方式

————————————————
版權聲明:本文為CSDN博主「zhangjinpeng66」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/zhangjinpeng66/article/details/10449979


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM