日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

javaweb开发后端常用技术_Web后端开发(11)——Session会话技术

發布時間:2025/3/20 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 javaweb开发后端常用技术_Web后端开发(11)——Session会话技术 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Session

學過了Cookie客戶端會話技術,下面我們來學習Session服務器端會話技術。

Session概念

Session是服務器端會話技術,在一次會話的多次請求間共享數據,將數據保存在服務器端的HttpSession對象中。

在計算機專業術語中,Session是指一個終端用戶與交互系統進行通信的時間間隔,通常指從注冊進入系統到注銷退出系統之間所經過的時間。以及如果需要的話,可能還有一定的操作空間。

Session快速入門

①獲取HttpSession對象

HttpSession session = request.getSession();

②使用HttpSession對象

(1)存儲數據:

void setAttribute(String name, Object value)

(2)獲取數據:

Object getAttribute(String name)

(3)刪除數據

void removeAttribute(String name)

Session原理

Session的實現是依賴于Cookie的。

(1)當一個session第一次被啟用時,一個獨一的標識被存儲于本地的cookie中。

(2)當瀏覽器再次訪問時,會帶有包含上述標識的Cookie請求頭。

(3)服務器看到該請求頭后會尋找該標識的Session對象,進而獲取其中的數據。

Session細節

①當客戶端關閉后,服務器不關閉,兩次獲取session是否為同一個?

默認情況下:不是。如果需要相同,則可以創建Cookie,鍵為JSESSIONID,設置最大存活時間,讓cookie持久化保存。

Cookie cookie = new Cookie("JSESSIONID",session.getId());cookie.setMaxAge(60*60);response.addCookie(cookie);

②客戶端不關閉,服務器關閉后,兩次獲取的session是同一個嗎?

不是同一個,但是要確保數據不丟失。tomcat自動完成以下工作:

  • session的鈍化:在服務器正常關閉之前,將session對象系列化到硬盤上

  • session的活化:在服務器啟動后,將session文件轉化為內存中的session對象即可。

③Session什么時候被銷毀?

  • 服務器關閉

  • session對象調用invalidate() 。

  • session默認失效時間 30分鐘

  • 選擇性配置修改

    <session-config> <session-timeout>30session-timeout>session-config>

    Session的特點

    • session用于存儲一次會話的多次請求的數據,存在服務器端

    • session可以存儲任意類型,任意大小的數據

    Session與Cookie的區別

    • Session存儲數據在服務器端,Cookie在客戶端;

    • Session沒有數據大小限制,Cookie有;

    • Session數據安全,Cookie相對于不安全;

    總結

    以上是生活随笔為你收集整理的javaweb开发后端常用技术_Web后端开发(11)——Session会话技术的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。