Cookie 不是 JSP 內置對象,而是由 Netscape 公司發(fā)明,用來跟蹤用戶會話(session)的方式。 Cookie 由服務器生成并發(fā)送給瀏覽器(客戶端),瀏覽器會將其以文本文件的形式存儲在某個目錄下。 例如,IE 瀏覽器把 cookie 信息保存在類似于 C://windows//cookies 的目錄下,當用戶再次訪問某個網(wǎng)站時,服務器就會要求瀏覽器查找并返回之前發(fā)送的 cookie 信息,來識別此用戶。 識別用戶通常有以下步驟: 1、服務器把 cookie 信息發(fā)送到瀏覽器,例如:用戶 ID、用戶名稱等信息。 2、瀏覽器在本地存儲這些信息。 3、瀏覽器再次向服務器發(fā)送請求時,它會同時將本地存儲的 cookie 信息一同發(fā)送給服務器,然后服務器使用這些信息來識別用戶或其它。 cookie 的作用表現(xiàn)在以下方面: 對特定對象的追蹤,如用戶的訪問次數(shù)、最后訪問時間等。 統(tǒng)計網(wǎng)頁的瀏覽次數(shù)。 在 cookie 有效期內,記錄用戶的登錄信息,簡化下一次的登錄過程。 實現(xiàn)各種個性化服務,如”最近瀏覽過的商品“。 注意:由于 cookie 會將用戶的個人信息保存在客戶端,如用戶名、計算機名、以及瀏覽和登錄的網(wǎng)站等。這些信息可能會包含一些比較敏感的內容,所以從安全角度來說,使用 cookie 存在著一定的風險,因此不建議在 cookie 中保存比較重要或隱私的內容。 cookie方法cookie 常用方法如下:
JSP使用cookieJSP 使用 cookie 主要分為以下幾個步驟。 1)創(chuàng)建 cookie 對象 創(chuàng)建 cookie 對象,name 代表 cookie 的名稱,value 表示該名稱對應的值,語法如下: cookie cookie = new cookie(String name,String value);1復制代碼類型:[java] 注意:name 和 value 中不能包含空格和以下字符: [ ] ( ) = , " / ? @ : ;1復制代碼類型:[java] 2)寫入 cookie 創(chuàng)建 cookie 對象后,調用 response.addCookie() 方法寫入 cookie,代碼如下: response.addcookie(cookie);1復制代碼類型:[java] 3)設置 cookie 有效期 調用 setMaxAge() 方法設置 cookie 的有效期(單位:秒),如將 cookie 有效期設置為 24 小時,代碼如下: cookie.setMaxAge(60*60*24); 1復制代碼類型:[java] 4)讀取cookie 調用 request.getCookies() 方法讀取 cookie,該方法返回 HTTP 請求中的 cookie 對象數(shù)組,需要通過遍歷進行訪問。 session和cookie的區(qū)別session 和 cookie 的區(qū)別如下:
實際開發(fā)中,需要根據(jù)不同的業(yè)務需求來選擇采用哪種技術,例如,用戶的用戶名和密碼等敏感信息不能使用 cookie 存儲,淘寶購物的”最近瀏覽過的商品“,則可以使用 cookie 存儲在客戶端。 |
|