Cookie和Session-学习笔记03【Session快速入门、Session细节】
- Java后端 學習路線 筆記匯總表【黑馬程序員】
目錄
第5節 Session快速入門
會話技術_Session_快速入門
會話技術_Session_原理分析
第6節 Session細節
會話技術_Session_細節1
會話技術_Session_細節2
鈍化、活化 操作 ——?Tomcat服務器
鈍化、活化 操作 —— idea
會話技術_Session_細節3_sessio
會話技術_Session_特點
第5節 Session快速入門
會話技術_Session_快速入門
Session:主菜
1. 概念:服務器端會話技術,在一次會話的多次請求間共享數據,將數據保存在服務器端的對象中。(HttpSession)
2. 快速入門:
?? ?1. 獲取HttpSession對象:
?? ??? ?HttpSession session = request.getSession();
?? ?2. 使用HttpSession對象:
?? ??? ?Object getAttribute(String name)
?? ??? ?void setAttribute(String name, Object value)
?? ??? ?void removeAttribute(String name)
??
會話技術_Session_原理分析
Session:主菜
1. 概念
2. 快速入門
3. 原理
?? ?* Session的實現是依賴于Cookie的。
第6節 Session細節
會話技術_Session_細節1
Session:主菜
1. 概念
2. 快速入門
3. 原理
4. 細節:
?? ?1. 當客戶端關閉后,服務器不關閉,兩次獲取session是否為同一個?【默認情況下,不是!】
?? ??? ?* 默認情況下,不是。
?? ??? ?* 如果需要相同,則可以創建Cookie,鍵為JSESSIONID,設置最大存活時間,讓cookie持久化保存。
?? ??? ??? ?Cookie c = new Cookie("JSESSIONID",session.getId());
?? ??? ??? ?c.setMaxAge(60*60);
?? ??? ??? ?response.addCookie(c);
?? ?2. 客戶端不關閉,服務器關閉后,兩次獲取的session是同一個嗎?【不是同一個!】
?? ?3. session什么時候被銷毀?【服務器關閉;session對象調用invalidate() ;session默認失效時間(30分鐘)】
會話技術_Session_細節2
Session:主菜
1. 概念
2. 快速入門
3. 原理
4. 細節:
?? ?1. 當客戶端關閉后,服務器不關閉,兩次獲取session是否為同一個?【默認情況下,不是!】
?? ?2. 客戶端不關閉,服務器關閉后,兩次獲取的session是同一個嗎?【不是同一個!】
?? ??? ?* 不是同一個,但是要確保數據不丟失。tomcat自動完成以下工作
?? ??? ??? ?* session的鈍化:
?? ??? ??? ??? ?* 在服務器正常關閉之前,將session對象系列化到硬盤上(序列化)。
?? ??? ??? ?* session的活化:
?? ??? ??? ??? ?* 在服務器啟動后,將session文件轉化為內存中的session對象即可(反序列化)。
?? ?3. session什么時候被銷毀?【服務器關閉;session對象調用invalidate() ;session默認失效時間(30分鐘)】
鈍化、活化 操作 ——?Tomcat服務器
比如:在京東購物網站,用戶張三將一款手機添加進了購物車。京東購物網站服務器重啟,用戶張三的購物車數據丟失,用戶體驗不好,容易丟失客戶流量。
將項目打包為war包,部署到Tomcat下,用shutdown.bat正常關閉服務器,重啟服務器時,Tomcat會自動讀取上一次會話保留的session信息。兩次session不是同一個,但內容一樣。
附:此集視頻 時長 12:09,內容較多!
鈍化、活化 操作 —— idea
idea只能做到session的鈍化,但做不到session的活化(部署項目,一般不會在idea上部署)。
會話技術_Session_細節3_sessio
Session:主菜
1. 概念
2. 快速入門
3. 原理
4. 細節:
?? ?1. 當客戶端關閉后,服務器不關閉,兩次獲取session是否為同一個?【默認情況下,不是!】
?? ?2. 客戶端不關閉,服務器關閉后,兩次獲取的session是同一個嗎?【不是同一個!】
?? ?3. session什么時候被銷毀?
?? ??? ?1. 服務器關閉
?? ??? ?2. session對象調用invalidate() 。
?? ??? ?3. session默認失效時間(30分鐘)
?? ??? ??? ?選擇性配置修改?? ?
?? ??? ??? ?<session-config>
?? ??? ??? ??? ?<session-timeout>30</session-timeout>
?? ??? ??? ?</session-config>
會話技術_Session_特點
Session:主菜
1. 概念
2. 快速入門
3. 原理
4. 細節
5. session的特點
?? ?1. session用于存儲一次會話的多次請求的數據,存在服務器端。
?? ?2. session可以存儲任意類型,任意大小的數據。
?? ?* session與Cookie的區別:
?? ??? ?1. session存儲數據在服務器端,Cookie在客戶端。
?? ??? ?2. session沒有數據大小限制,Cookie有數據大小限制。
?? ??? ?3. session數據安全,Cookie相對不安全。
總結
以上是生活随笔為你收集整理的Cookie和Session-学习笔记03【Session快速入门、Session细节】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Cookie和Session-学习笔记0
- 下一篇: Cookie和Session-学习笔记0