Session解析及執行

2021-07-15 15:46:53 字數 1238 閱讀 4433

當瀏覽器訪問伺服器時:會將本地的cookie傳送過去,其中有乙個鍵值位jsessionid=32位16進製制數的值,伺服器會根據該值去session池查詢session物件,以此判斷是否  

為一次會話,即同一使用者。

當第一次訪問伺服器時不傳送cookie,伺服器會建立乙個session物件,將其對應的key值(32位數),來建立新的cookie,當做jsessionid的值,寫入瀏覽器。其中cookie物件

的setage預設為-1,告知瀏覽器不儲存該cookie,當瀏覽器關閉時,cookie失效,一次會話結束。

流程圖:

獲取session物件:

request.getsession();

利用session記錄資料:

request.getsession().setattribute("name", "session--"+name);

//把cookie技術和session技術聯合起來做應用的乙個例子---※功能:讓使用者在關閉瀏覽器之後,如果10分鐘之內能夠登入本站,還能訪問到session中的資訊

//向客戶端寫乙個key為"jsessionid"用value為sessionid的cookie,

cookie c = new cookie("jsessionid",request.getsession().getid());

c.setmaxage(60*10);//10分鐘後過期

c.setpath( request.getcontextpath() );//許可權給本站內的所有網頁或servlet

response.addcookie(c);

獲取資訊:

request.getsession().getattribute("name");

伺服器之所以知道當前使用者為同乙個是由於jsessionid對應的session物件,伺服器對session物件管理30分鐘,未在請求則刪除,也可以手動刪除(即安全退出)

//安全退出---只要讓session物件無效就可以了

request.getsession().invalidate();

session物件刪除,即便瀏覽器發來cookie中有jsessionid,池中已經沒有,會當做新使用者重新寫入cookie

session原理解析

首先session跟cookies都是會會話進行跟蹤,session通過在伺服器端記錄資訊來記錄,cookies通過在客戶端記錄資訊來記錄。在此只對session進行分析 session是記錄在伺服器記憶體中的,每當乙個使用者通過瀏覽器第一次進行訪問時進行建立 需要注意只有訪問jsp,servlet...

session執行機制

session機制是一種伺服器端的機制,伺服器使用一種類似於雜湊表 的結構 也可能就是使用 雜湊表 來儲存資訊。當程式需要為某個客戶端的請求建立乙個session的時候,伺服器首先檢查這個客戶端的請求裡是否已包含了乙個session標識 稱為sessionid,如果已包含乙個sessionid則說明...

session執行機制

session是內建物件,cookie不是 session 會話 客戶端第一次請求伺服器時,伺服器會產生乙個session物件 用於儲存該客戶的資訊 並且每乙個session物件會有乙個唯一的sessionid 用於區分其他的session 服務端又會產生乙個cookie,並且該cookie的nam...