javaWeb學習筆記之關於Cookie和Session
阿新 • • 發佈:2020-08-05
1、儲存會話的兩種方式
-
cookie
客戶端技術(響應,請求)
-
session
服務端技術,可以儲存使用者的會話資訊
常見場景:登入一個網站,關掉時候下次進入可以不用登入
2、Cookie
- 從請求中拿到cookie資訊
- 服務端響應給客戶端cookie
Cookie[] cookies = req.getCookies(); //獲得Cookie cookie.getName(); //獲得cookie中的key cookie.getValue(); //獲得cookie中的vlaue new Cookie("lastLoginTime", System.currentTimeMillis()+""); //新建一個cookie cookie.setMaxAge(24*60*60); //設定cookie的有效期 resp.addCookie(cookie); //響應給客戶端一個cookie
cookie:一般會儲存在本地使用者目錄下appdata中
考點:一個網站的cookie是否會有上限
- 一個cookie只能儲存一個資訊
- 一個web站點可以給瀏覽器傳送多個cookie,最多存放20個
- cookie的大小有限制(4kb)
- 300個cookie是瀏覽器上限
刪除cookie
- 不設定有效期,關閉瀏覽器,自動失效
- 設定有效時間為0
編碼解碼
URLEncoder.encode("測試","utf-8");
URLDecoder.decode(cookie.getValue(),"UTF-8")
3、Session
什麼是session:
- 伺服器會給每一個使用者(瀏覽器)建立一個Session物件;
- 一個Seesion獨佔一個瀏覽器,只要瀏覽器沒有關閉,這個Session就存在;
- 使用者登入之後,整個網站它都可以訪問,例如 儲存使用者的資訊;儲存購物車的資訊…..
Session和Cookie的區別
- Cookie是把使用者的資料寫給使用者的瀏覽器(客戶端),由瀏覽器儲存
- Session是把使用者的資料寫到使用者獨佔的Session中,伺服器端儲存(儲存重要的資訊,減少伺服器資源的浪費)
- Session物件由伺服器建立
使用Session: