天天看點

Java中的Session對象

什麼是Session

Session作用

細節

  1. 當用戶端關閉後,伺服器不關閉,兩次擷取session是否為同一個?

    * 預設情況下。不是。

    * 如果需要相同,則可以建立Cookie,鍵為JSESSIONID,設定最大存活時間,讓cookie持久化儲存。

    Cookie c = new Cookie(“JSESSIONID”,session.getId());

    c.setMaxAge(60*60);

    response.addCookie©;

  1. 用戶端不關閉,伺服器關閉後,兩次擷取的session是同一個嗎?
  • 不是同一個,但是要確定資料不丢失。tomcat自動完成以下工作
  • session的鈍化:
  • 在伺服器正常關閉之前,将session對象系列化到硬碟上
  • session的活化:
  • 在伺服器啟動後,将session檔案轉化為記憶體中的session對象即可。
  1. session什麼時候被銷毀?
  1. 伺服器關閉
  2. session對象調用invalidate() 。
  3. session預設失效時間 30分鐘

    選擇性配置修改

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

session的特點

  1. session用于存儲一次會話的多次請求的資料,存在伺服器端
  2. session可以存儲任意類型,任意大小的資料

session與Cookie的差別

  1. session存儲資料在伺服器端,Cookie在用戶端
  2. session沒有資料大小限制,Cookie有
  3. session資料安全,Cookie相對于不安全

新建立一個公衆号 Rockey小何同學 想互相交流的同學可以關注一下哈! 感謝支援!