![第6章使用Cookie記錄信息_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/25/ce5c6814-57b5-404e-8e90-76d8f67ab81d/ce5c6814-57b5-404e-8e90-76d8f67ab81d1.gif)
![第6章使用Cookie記錄信息_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/25/ce5c6814-57b5-404e-8e90-76d8f67ab81d/ce5c6814-57b5-404e-8e90-76d8f67ab81d2.gif)
![第6章使用Cookie記錄信息_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/25/ce5c6814-57b5-404e-8e90-76d8f67ab81d/ce5c6814-57b5-404e-8e90-76d8f67ab81d3.gif)
![第6章使用Cookie記錄信息_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/25/ce5c6814-57b5-404e-8e90-76d8f67ab81d/ce5c6814-57b5-404e-8e90-76d8f67ab81d4.gif)
![第6章使用Cookie記錄信息_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/25/ce5c6814-57b5-404e-8e90-76d8f67ab81d/ce5c6814-57b5-404e-8e90-76d8f67ab81d5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第第6 6章章 使用使用CookieCookie記錄信息記錄信息本章學(xué)習(xí)目標(biāo):了解Cookie的基本概念掌握在JSP中創(chuàng)建Cookie的方法掌握在JSP中讀寫Cookie的方法掌握設(shè)置Cookie存在期限的方法了解Cookie的安全問題6.1 Cookie的概念和特性的概念和特性6.2 在在JSP中使用中使用Cookie6.3 Cookie對(duì)象的應(yīng)用實(shí)例對(duì)象的應(yīng)用實(shí)例6.4 Cookie的安全問題的安全問題6.1 Cookie6.1 Cookie的概念和特性的概念和特性Cookie是設(shè)計(jì)交互式網(wǎng)頁的一項(xiàng)重要技術(shù),它可以將一些簡短的數(shù)據(jù)存儲(chǔ)在用戶的計(jì)算機(jī)上,這些存放在用戶計(jì)算機(jī)上的變量數(shù)據(jù),稱為
2、Cookie。當(dāng)瀏覽器向服務(wù)器提出網(wǎng)頁瀏覽請(qǐng)求時(shí),服務(wù)器根據(jù)存儲(chǔ)在用戶計(jì)算機(jī)上面的Cookie內(nèi)容,針對(duì)此瀏覽器顯示其專門的內(nèi)容。6.1.1 6.1.1 什么是什么是CookieCookieCookie是服務(wù)器發(fā)送給瀏覽器的體積非常小的純文本信息,用戶以后訪問同一個(gè)Web服務(wù)器時(shí)瀏覽器會(huì)把他們?cè)瓨影l(fā)送給服務(wù)器。通過讓服務(wù)器讀取他原先保存到客戶端的信息,網(wǎng)站能夠?yàn)闉g覽者提供一系列的方便,例如在線交易過程中標(biāo)識(shí)用戶身份、安全需求不高的場合避免用戶重復(fù)輸入名字和密碼、門戶網(wǎng)站的主頁制定、有針對(duì)性地投放廣告,等等。Cookie數(shù)據(jù)存儲(chǔ)的功能由瀏覽器本身所提供,因此Cookie功能都必須要有瀏覽器的支持
3、才行,一般通用的瀏覽器,例如IE都支持此功能。當(dāng)用戶打開的網(wǎng)頁中包含Cookie程序代碼,此時(shí)服務(wù)器端會(huì)建立Cookie數(shù)據(jù),然后將這個(gè)Cookie傳送到客戶端用戶的計(jì)算機(jī)上。Cookie示意圖6.1.2 Cookie的常見用途Cookie的常見用途如:(1)網(wǎng)站瀏覽人數(shù)管理 (2)按照用戶的喜好定制網(wǎng)頁外觀(3)在電子商務(wù)站點(diǎn)中實(shí)現(xiàn)諸如“購物籃”等功能 Cookies給網(wǎng)站和用戶帶來的好處非常多: Cookie能使站點(diǎn)跟蹤特定訪問者的訪問次數(shù)、最后訪問時(shí)間和訪問者進(jìn)入站點(diǎn)的路徑。Cookie能告訴在線廣告商廣告被點(diǎn)擊的次數(shù) ,從而可以更精確的投放廣告。Cookie有效期限未到時(shí),Cookie
4、能使用戶在不鍵入密碼和用戶名的情況下進(jìn)入曾經(jīng)瀏覽過的一些站點(diǎn)。Cookie能幫助站點(diǎn)統(tǒng)計(jì)用戶個(gè)人資料以實(shí)現(xiàn)各種各樣的個(gè)性化服務(wù)。6.1.3 對(duì)Cookie進(jìn)行適當(dāng)設(shè)置6.2 6.2 在在JSPJSP中使用中使用CookieCookie6.2.1創(chuàng)建創(chuàng)建CookieCookie是由Javax.servlet.http.Cookie類所衍生出來的對(duì)象,建立Cookie的語法如下:Cookie objCookie = new Cookie(indexValue,stringValue) 從上面的語法中可以看出,一個(gè)Cookie對(duì)象必須包含有一個(gè)特定的indexValue索引值與字符串類型的數(shù)據(jù)內(nèi)容s
5、tringValue。例如:Cookie c = new Cookie(mycookie,Cookie Test);建立了Cookie之后,該Cookie數(shù)據(jù)還必須傳送到客戶端,用addCookie方法發(fā)送一個(gè)HTTP Header。傳送的方式為:response.addCookie(objCookie)。6.2.2 6.2.2 讀寫讀寫CookieCookie1.寫寫Cookie對(duì)Cookie進(jìn)行操作首先是將Cookie保存到客戶端。在JSP編程中,利用response對(duì)象,通過addCookie方法將Cookie寫入客戶端。語法如下:response.addCookie(cookie);例
6、如:2.讀讀Cookie將Cookie保存到客戶端,就是為了以后得到其中保存的數(shù)據(jù)。調(diào)用HttpServletRequest的getCookies得到一個(gè)Cookie對(duì)象的數(shù)組語法如下:Cookie 數(shù)組變量名request.getCookies();在客戶端傳來的Cookie數(shù)據(jù)類型都是數(shù)組類型,因此要得到其中某一項(xiàng)指定的Cookie對(duì)象,需要遍歷數(shù)組來找。%Cookie Cookiesrequest.getCookies();/創(chuàng)建一個(gè)Cookie對(duì)象數(shù)組if(Cookies=null out.print(none any Cookie );else for (int i=0;i Cook
7、ies.length;i+)/設(shè)立一個(gè)循環(huán),來訪問Cookie對(duì)象數(shù)組的每一個(gè)元素 if(Cookiesi.getName().equals(cookie_name) /判斷元素的值是否為username中的值 out.println(Cookiesi.getValue()+); %6.2.3 Cookie6.2.3 Cookie中的主要方法中的主要方法類型方法名方法解釋StringgetComment() 返回cookie中注釋,如果沒有注釋的話將返回空值.StringgetDomain()返回cookie中Cookie適用的域名. 使用getDomain() 方法可以指示瀏覽器把Cooki
8、e返回給同 一域內(nèi)的其他服務(wù)器,而通常Cookie只返回給與發(fā)送它的服務(wù)器名字完全相同的服務(wù)器。注意域名必須以點(diǎn)開始(例如)intgetMaxAge()返回Cookie過期之前的最大時(shí)間,以秒計(jì)算。StringgetName()返回Cookie的名字。名字和值是我們始終關(guān)心的兩個(gè)部分StringgetPath()返回Cookie適用的路徑。如果不指定路徑,Cookie將返回給當(dāng)前頁面所在目錄及其子目錄下 的所有頁面。booleangetSecure()如果瀏覽器通過安全協(xié)議發(fā)送cookies將返回true值,如果瀏覽器使用標(biāo)準(zhǔn)協(xié)議則返回false值。StringgetValue()返回Cook
9、ie的值。intgetVersion()返回Cookie所遵從的協(xié)議版本。voidsetComment(String purpose)設(shè)置cookie中注釋。voidsetDomain(String pattern)設(shè)置cookie中Cookie適用的域名voidsetMaxAge(int expiry)以秒計(jì)算,設(shè)置Cookie過期時(shí)間。voidsetPath(String uri)指定Cookie適用的路徑。voidsetSecure(boolean flag)指出瀏覽器使用的安全協(xié)議,例如HTTPS或SSL。voidsetValue(String newValue)cookie創(chuàng)建后設(shè)置
10、一個(gè)新的值。voidsetVersion(int v)設(shè)置Cookie所遵從的協(xié)議版本。 例如,設(shè)置Cookie變量的有效周期的語法如下:Cookie 變量名稱.setMaxAge(有效周期);有效周期的時(shí)間以秒為單位,時(shí)間設(shè)置越大,表示Cookie對(duì)象的有效時(shí)間越長。Cookie cookie=new Cookie(“username”,”liuyongpo”);Cookie. setMaxAge(30*60);/設(shè)置Cookie的存活時(shí)間為30分鐘response.addCookie(cookie);6.2.4 6.2.4 幾個(gè)操作幾個(gè)操作CookieCookie的常用方法的常用方法1.
11、設(shè)置設(shè)置Cookie的存在期限的存在期限Cookie在生成時(shí)就會(huì)被指定一個(gè)Expire值,這就是Cookie的生存周期,在這個(gè)周期內(nèi)Cookie有效,超出周期Cookie就會(huì)被清除。有些頁面將Cookie的生存周期設(shè)置為0或負(fù)值,這樣在關(guān)閉頁面時(shí),就馬上清除Cookie,不會(huì)記錄用戶信息,更加安全。在默認(rèn)情況下,Cookie是隨著用戶關(guān)閉瀏覽器而自動(dòng)消失的,不過,Cookie也可以設(shè)置其存在的期限,讓用戶下次在打開網(wǎng)頁時(shí),服務(wù)器端仍然能夠取得同樣一個(gè)Cookie中的數(shù)據(jù)內(nèi)容。下面的代碼,使用setMaxAge()方法,設(shè)置Cookie對(duì)象login在一天之內(nèi)都為有效:自動(dòng)保存的Cookiepa
12、ckage ch08;import javax.servlet.http.*;public class LongLivedCookie extends Cookie public static final int SECONDS_PER_YEAR = 60*60*24*365;public LongLivedCookie(String name, String value) super(name, value); setMaxAge(SECONDS_PER_YEAR); 2. 刪除Cookie Cookie killMyCookie = new Cookie(mycookie, null); killMyCookie.setMaxAge(0); killMyCookie.setPath(/); response.addCookie(killMyCookie); 3.獲取指定名字的Cookie值public static String getCookieValue(Cookie cookies, String cookieName, String defaultValue) for(int i=0; icookies.length; i+) Cookie cookie = cookiesi; if (cookieName
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年多用燈項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年前制動(dòng)輪缸項(xiàng)目投資價(jià)值分析報(bào)告
- 前期物業(yè)服務(wù)合同規(guī)定
- 醫(yī)療器械質(zhì)量監(jiān)督與售后服務(wù)合作合同
- 投融資合作協(xié)議書
- 辦公共享服務(wù)合同
- 陵園修繕施工人員合同
- 停車收費(fèi)承包協(xié)議書范本
- 2025年度北京公關(guān)經(jīng)理職位勞動(dòng)合同(創(chuàng)新版)
- 合資設(shè)立公司合同范本
- 《隋朝的統(tǒng)一與滅亡》 -完整版課件
- API-650-1鋼制焊接石油儲(chǔ)罐
- 職業(yè)危害告知書(最新版)
- 會(huì)計(jì)專業(yè)工作簡歷表(中級(jí))
- 金融科技課件(完整版)
- 醫(yī)院壓力性損傷患者質(zhì)控標(biāo)準(zhǔn)
- 醫(yī)療機(jī)構(gòu)規(guī)章制度診所診所規(guī)章制度
- 幼兒園中班開學(xué)第一課
- 飲品店操作流程圖
- 風(fēng)居住的街道鋼琴二胡合奏譜
- PADS元件封裝制作規(guī)范要點(diǎn)
評(píng)論
0/150
提交評(píng)論