javaweb基礎第二十一課:session
阿新 • • 發佈:2019-01-13
大綱:
- session簡介
- session工作原理
- session的建立
- session的使用
- session時效
- session失效
這節課我們來講session,大綱已經寫好了
- session簡介
我們知道cookie是瀏覽器(客戶端)儲存在本地的資料
session就是服務端(伺服器)儲存(不在本地,在伺服器裡)的資料
- session的工作原理
- session的建立
- session在第一次呼叫request.getSession()時建立
- session建立的同時會建立一個name為JSESSIONID(助記: J SESSION ID)的cookie儲存在瀏覽器裡
- 每次瀏覽器訪問該專案時都會帶著那個cookie
-
- session 的使用
- 每次獲取session時都會去瀏覽器裡找JSESSIONID
- 如果找到JSESSIONID,則查詢有沒有對應的session,如果沒有,建立新的session,並設定JSESSIONID,如果找到了,直接返回找到的session
- 如果沒找到JSESSIONID,建立session,並設定JSESSIONID
- session時效
預設是30分鐘,
注意這個過期時間是指距離最後一次使用session的時間,當距離最後一次使用session後一直沒使用session超過session時效,則session會失效
可在web.xml裡設定session過期時間
<session-config> <session-timeout>30</session-timeout> </session-config>
session-timeout的單位是分鐘
- session失效
- session過期(太久沒用,超過時效了)
- 呼叫session.invalidate()使session強制失效
- 專案解除安裝
- 伺服器宕機
總結:
session是jsp四大域之一
session對應的java類是HttpSession
session的建立或獲取通過request.getSession()
session的建立必然伴隨名為JSESSIONID的cookie建立