-
http協議無狀態性
-
保存用戶狀態的兩大機制
-
Cookie簡介
-
Cookie的創建與使用
-
Session與cookie的對比
6-1 http協議的無狀態性
無狀態是指,當瀏覽器發送請求給服務器的時候,服務器會響應。但當同一個瀏覽器再次發送請求時,服務器不會知道是剛纔那個瀏覽器。
簡單說,服務器【不會保存用戶狀態】,不會記得客戶端是否訪問過,所以這就是無狀態協議
6-2 Cookie概述
保存用戶狀態的兩大機制 :1、Session 2、Cookie
cookie:是web服務器保存在客戶端的一系列文本信息。
典型應用一:判斷註冊用戶是否已經登錄網站。 典型應用二:保存用戶瀏覽記錄。
cookie的作用: 1、對特定對象的追蹤。 2、保存用戶網頁瀏覽記錄與習慣。 3、簡化登錄
安全風險:容易泄露用戶信息
6-3 JSP頁面中創建與使用Cookie
1、創建Cookie: Cookie newCookie = new Cookie(String key,String value);
2、寫入Cookie: response.addCookie(newCookie);
3、讀取Cookie: Cookie[] cookie = request.getCookies();
常用方法:
1. setMaxAge( int expiry ) 設置cookie的有效期,以秒爲單位 getMaxAge() 獲取cookie的有效時間,以秒爲單位
2. setValue(String value) 在cookie創建後,對cookie進行賦值 getValue() 獲取cookie的值
3. getName() 獲取cookie的名稱
4.setValue()和getValue()涉及的都是字符串,對應前面提到的 Cookie是web服務器保存在客戶端的文本文件。
解決Cookie無法保存中文字符串的問題
1.java.net包下的URLEncoder類來進行編碼 public static encode(String string, String enco);
2.URLDecoder類進行解碼 URLDecoder.decode(String string, String enco);
6-5 Session與Cookie的對比