會話技術一Session學習筆記
阿新 • • 發佈:2018-11-10
上次我們介紹了Cookie技術了,今天介紹下Session技術(建議cookie一起看)
Session技術是將資料儲存在伺服器端的技術,會為每個客戶端都建立一塊記憶體空間 儲存客戶的資料,但客戶端需要每次都攜帶一個標識ID去伺服器中尋找屬於自己的內 存空間。所以說Session的實現是基於Cookie,Session需要藉助於Cookie儲存客 戶的唯一性標識JSESSIONID
第一步:Session是在什麼時候建立的,怎麼建立的
HttpSession session = request.getSession();
此方法會獲得專屬於當前會話的Session物件,如果伺服器端沒有該會話的Session 物件會建立一個新的Session返回,如果已經有了屬於該會話的Session直接將已有 的Session返回(實質就是根據JSESSIONID判斷該客戶端是否在伺服器上已經存在 session了)使用者第一次執行這句,伺服器端會給使用者分配一個session的空間,(這個是伺服器內部實現,不用程式設計師操作)並且返回JSESSIONID(理解成一個id)通過cookie給客戶端,客戶端通過這個Cookie攜帶的id來確定服務端是否給分配了session空間。
第二步:Session怎麼儲存資料
session.setAttribute("name", "jerry");//在session區域儲存資料
Object attribute = session.getAttribute("name");//從session區域取出資料
面試題
Session的生命週期
第一次執行request.getSession()建立了Session
Session過期(Session的存在時間可以改)
session被手動摧毀,session.invalidate()
伺服器被關閉session也會關掉