資源描述:
《jsp中cookie的用法》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、jsp中cookie的用法!一.什么是cookies 大家都知道,瀏覽器與WEB服務(wù)器之間是使用HTTP協(xié)議進(jìn)行通信的,當(dāng)某個用戶發(fā)出頁面請求時,WEB服務(wù)器只是簡單的進(jìn)行響應(yīng),然后就關(guān)閉與該用戶的連接。因此當(dāng)一個請求發(fā)送到WEB服務(wù)器時,無論其是否是第一次來訪,服務(wù)器都會把它當(dāng)作第一次來對待,這樣的不好之處可想而知。為了彌補這個缺陷,Netscape開發(fā)出了cookie這個有效的工具來保存某個用戶的識別信息,因此人們昵稱為“小甜餅”。cookies是一種WEB服務(wù)器通過瀏覽器在訪問者的硬盤上存儲信息的手段:NetscapeNavigator使用一個名為cookie
2、s.txt本地文件保存從所有站點接收的Cookie信息;而IE瀏覽器把Cookie信息保存在類似于C:\windows\cookies的目錄下。當(dāng)用戶再次訪問某個站點時,服務(wù)端將要求瀏覽器查找并返回先前發(fā)送的Cookie信息,來識別這個用戶?! ookies給網(wǎng)站和用戶帶來的好處非常多: 1、Cookie能使站點跟蹤特定訪問者的訪問次數(shù)、最后訪問時間和訪問者進(jìn)入站點的路徑 2、Cookie能告訴在線廣告商廣告被點擊的次數(shù),從而可以更精確的投放廣告 3、Cookie有效期限未到時,Cookie能使用戶在不鍵入密碼和用戶名的情況下進(jìn)入曾經(jīng)瀏覽過的一些站點 4
3、、Cookie能幫助站點統(tǒng)計用戶個人資料以實現(xiàn)各種各樣的個性化服務(wù) 在JSP中,我們也可以使用Cookie,來編寫一些功能強大的應(yīng)用程序?! ∠旅?我想介紹一下如何用JSP創(chuàng)建和處理Cookie。二.如何創(chuàng)建Cookie 說了這么多,大家一定很想知道JSP是如何創(chuàng)建cookie了。JSP是使用如下的語法格式來創(chuàng)建cookie的: Cookiecookie_name=newCookie("Parameter","Value"); 例如:CookienewCookie=newCookie("username","waynezheng");response.addC
4、ookie(newCookie); 解釋:JSP是調(diào)用Cookie對象相應(yīng)的構(gòu)造函數(shù)Cookie(name,value)用合適的名字和值來創(chuàng)建Cookie,然后Cookie可以通過HttpServletResponse的addCookie方法加入到Set-Cookie應(yīng)答頭,本例中Cookie對象有兩個字符串參數(shù):username,waynezheng。注意,名字和值都不能包含空白字符以及下列字符:@:;?,"/[]()= 處理Cookie的屬性 看到這里,有的朋友又要問了:我光知道如何創(chuàng)建Cookie有什么用呀?是呀,光知道如何創(chuàng)建Cookie而不知道怎么使用
5、是不夠的。在JSP中,程序是通過cookie.setXXX設(shè)置各種屬性,用cookie.getXXX讀出cookie的屬性,現(xiàn)把Cookie的主要屬性,及其方法列于下,供大家參考: 類型方法名方法解釋 StringgetComment()返回cookie中注釋,如果沒有注釋的話將返回空值. StringgetDomain()返回cookie中Cookie適用的域名.使用getDomain()方法可以指示瀏覽器把Cookie返回給同一域內(nèi)的其他服務(wù)器,而通常Cookie只返回給與發(fā)送它的服務(wù)器名字完全相同的服務(wù)器。注意域名必須以點開始(例如.yesky.com)
6、 intgetMaxAge()返回Cookie過期之前的最大時間,以秒計算?! tringgetName()返回Cookie的名字。名字和值是我們始終關(guān)心的兩個部分,筆者會在后面詳細(xì)介紹getName/setName?! tringgetPath()返回Cookie適用的路徑。如果不指定路徑,Cookie將返回給當(dāng)前頁面所在目錄及其子目錄下的所有頁面?! ooleangetSecure()如果瀏覽器通過安全協(xié)議發(fā)送cookies將返回true值,如果瀏覽器使用標(biāo)準(zhǔn)協(xié)議則返回false值。 StringgetValue()返回Cookie的值。筆者也將在后面詳細(xì)
7、介紹getValue/setValue?! ntgetVersion()返回Cookie所遵從的協(xié)議版本?! oidsetComment(Stringpurpose)設(shè)置cookie中注釋?! oidsetDomain(Stringpattern)設(shè)置cookie中Cookie適用的域名 voidsetMaxAge(intexpiry)以秒計算,設(shè)置Cookie過期時間?! oidsetPath(Stringuri)指定Cookie適用的路徑。 voidsetSecure(booleanflag)指出瀏覽器使用的安全協(xié)議,例如HTTPS或