1. 程式人生 > >javaweb基礎第二十一課:session

javaweb基礎第二十一課:session

大綱:      

  1. session簡介
  2. session工作原理
    1. session的建立
    2. session的使用
  3. session時效
  4. session失效

 

 

  這節課我們來講session,大綱已經寫好了

 

  1. session簡介

我們知道cookie是瀏覽器(客戶端)儲存在本地的資料

session就是服務端(伺服器)儲存(不在本地,在伺服器裡)的資料

 

  1. session的工作原理
    1. session的建立

- session在第一次呼叫request.getSession()時建立

- session建立的同時會建立一個name為JSESSIONID(助記: J SESSION ID)的cookie儲存在瀏覽器裡

- 每次瀏覽器訪問該專案時都會帶著那個cookie

    1. session 的使用

- 每次獲取session時都會去瀏覽器裡找JSESSIONID

- 如果找到JSESSIONID,則查詢有沒有對應的session,如果沒有,建立新的session,並設定JSESSIONID,如果找到了,直接返回找到的session

- 如果沒找到JSESSIONID,建立session,並設定JSESSIONID

  1. session時效

預設是30分鐘,

注意這個過期時間是指距離最後一次使用session的時間,當距離最後一次使用session後一直沒使用session超過session時效,則session會失效

 

可在web.xml裡設定session過期時間

<session-config>

    <session-timeout>30</session-timeout>

</session-config>

session-timeout的單位是分鐘

  1. session失效
    1. session過期(太久沒用,超過時效了)
    2. 呼叫session.invalidate()使session強制失效
    3. 專案解除安裝
    4. 伺服器宕機

 總結:

session是jsp四大域之一

session對應的java類是HttpSession

session的建立或獲取通過request.getSession()

session的建立必然伴隨名為JSESSIONID的cookie建立