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