主頁(yè) > 知識(shí)庫(kù) > 用JSP操作Cookie

用JSP操作Cookie

熱門(mén)標(biāo)簽:地圖標(biāo)注人員兼職 怎樣把地圖標(biāo)注出來(lái) 電話機(jī)器人的特色和創(chuàng)新 騰訊地圖標(biāo)注商戶改名注冊(cè)入駐 黃石智能營(yíng)銷電銷機(jī)器人效果 開(kāi)封便宜外呼系統(tǒng)報(bào)價(jià) 漯河辦理400電話 商丘百應(yīng)電話機(jī)器人有沒(méi)有效果 淮南騰訊地圖標(biāo)注

說(shuō)起來(lái),Cookie應(yīng)該是一種應(yīng)用較久的技術(shù)了。早在HTML剛剛出現(xiàn)的時(shí)候,在每個(gè)獨(dú)立的頁(yè)面之間沒(méi)有辦法記錄和標(biāo)識(shí)不同的用戶。后來(lái)人們就發(fā)明了Cookie技術(shù),當(dāng)用戶訪問(wèn)網(wǎng)頁(yè)時(shí),它能夠在訪問(wèn)者的機(jī)器上創(chuàng)立一個(gè)文件,我們把它叫作Cookie,寫(xiě)一段內(nèi)容進(jìn)去,來(lái)標(biāo)識(shí)不同的用戶。如果下次用戶再訪問(wèn)這個(gè)網(wǎng)頁(yè)的時(shí)候,它又能夠讀出這個(gè)文件里面的內(nèi)容,這樣網(wǎng)頁(yè)就知道上次這個(gè)用戶已經(jīng)訪問(wèn)過(guò)該網(wǎng)頁(yè)了。

雖然現(xiàn)在網(wǎng)頁(yè)的制作技術(shù)比起幾年以前已經(jīng)發(fā)展了許多。不過(guò)有些時(shí)候,Cookie還是能夠幫我們很多忙的。接下來(lái),我們就來(lái)看看,如何在寫(xiě)JSP文件的時(shí)候,用JSP操作Cookie。

二、 寫(xiě)入Cookie

其實(shí)用JSP操作Cookie是非常簡(jiǎn)單的,我們來(lái)看下面一段JSP程序:

........(中間略)


<%
String cookieName="Sender";
Cookie cookie=new Cookie(cookieName, "Test_Content");
cookie.setMaxAge(10);
response.addCookie(cookie);
%>
........(其他內(nèi)容)


這樣我們就設(shè)置了一個(gè)Cookie,很簡(jiǎn)單吧?

我們來(lái)仔細(xì)研究一下這段代碼:

  Cookie cookie=new Cookie(cookieName, "Test_Content");

這一行建立了一個(gè)Cookie對(duì)象,初始化有兩個(gè)參數(shù),第一個(gè)參數(shù)cookieName定義了Cookie的名字,后一個(gè)參數(shù),也是一個(gè)字符串,定義了Cookie的內(nèi)容。也就是我們希望網(wǎng)頁(yè)在用戶的機(jī)器上標(biāo)識(shí)的文件內(nèi)容。

接下來(lái)一行:cookie.setMaxAge(10),調(diào)用了Cookie中的setMaxAge方法,設(shè)定Cookie在用戶機(jī)器硬盤(pán)上的存活期為10秒。一個(gè)Cookie在用戶的硬盤(pán)里面存在的時(shí)間并不是無(wú)限期的,在建立Cookie對(duì)象的時(shí)候,我們必須制定Cookie的存活期,超過(guò)了這個(gè)存活期后,Cookie文件就不再起作用,會(huì)被用戶的瀏覽器自行刪除。如果我們希望用戶在下次訪問(wèn)這個(gè)頁(yè)面的時(shí)候,Cookie文件仍然有效而且可以被網(wǎng)頁(yè)讀出來(lái)的話,我們可以將Cookie的存活期設(shè)得稍微長(zhǎng)一些。比如cookie.setMaxAge(365*24*60*60)可以讓Cookie文件在一年內(nèi)有效。

三、 讀出Cookie

Cookie文件創(chuàng)建好后,自然還需要我們把它讀出來(lái),否則我們不是白費(fèi)力氣嗎?接下來(lái)我們看看如何讀出在用戶硬盤(pán)上的Cookie。

........(中間略)

Name value

<%
Cookie cookies[]=request.getCookies();
Cookie sCookie=null;
String svalue=null;
String sname=null;
for(int i=0;i{
sCookie=cookies[i];
svalue=sCookie.getValue();
sname=sCookie.getName();
%>

<%
}
%>

name value
<%=name%> <%=svalue%>

........(其他內(nèi)容)

這一小段JSP文件可以讀出用戶硬盤(pán)上的所有有效的Cookie,也就是仍然在存活期內(nèi)的Cookie文件。并用表格的形式列出每個(gè)Cookie的名字和內(nèi)容。

我們來(lái)逐行分析一下這段代碼:

Cookie cookies[]=request.getCookies() 我們用request.getCookies()讀出用戶硬盤(pán)上的Cookie,并將所有的Cookie放到一個(gè)cookie對(duì)象數(shù)組里面。

接下來(lái)我們用一個(gè)循環(huán)語(yǔ)句遍歷剛才建立的Cookie對(duì)象數(shù)組,我們用sCookie=cookies[i]取出數(shù)組中的一個(gè)Cookie對(duì)象,然后我們用sCookie.getValue()和sCookie.getName()兩個(gè)方法來(lái)取得這個(gè)Cookie的名字和內(nèi)容。

通過(guò)將取出來(lái)的Cookie的名字和內(nèi)容放在字符串變量中,我們就能對(duì)其進(jìn)行各種操作了。在上面的例子里,可通過(guò)循環(huán)語(yǔ)句的遍歷,將所有Cookie放在一張表格中進(jìn)行顯示。

四、 需要注意的一些問(wèn)題

通過(guò)上面兩個(gè)簡(jiǎn)單的例子,可以看到,用JSP進(jìn)行Cookie的操作,是非常簡(jiǎn)單的。不過(guò)我們?cè)趯?shí)際操作中還要注意一些問(wèn)題:

1. Cookie的兼容性問(wèn)題

Cookie的格式有2個(gè)不同的版本,第一個(gè)版本,我們稱為Cookie Version 0,是最初由Netscape公司制定的,也被幾乎所有的瀏覽器支持。而較新的版本,Cookie Version 1,則是根據(jù)RFC 2109文檔制定的。為了確保兼容性,JAVA規(guī)定,前面所提到的涉及Cookie的操作都是針對(duì)舊版本的Cookie進(jìn)行的。而新版本的Cookie目前還不被Javax.servlet.http.Cookie包所支持。

2. Cookie的內(nèi)容

同樣的Cookie的內(nèi)容的字符限制針對(duì)不同的Cookie版本也有不同。在Cookie Version 0中,某些特殊的字符,例如:空格,方括號(hào),圓括號(hào),等于號(hào)(=),逗號(hào),雙引號(hào),斜杠,問(wèn)號(hào),@符號(hào),冒號(hào),分號(hào)都不能作為Cookie的內(nèi)容。這也就是為什么我們?cè)诶又性O(shè)定Cookie的內(nèi)容為"Test_Content"的原因。

雖然在Cookie Version 1規(guī)定中放寬了限制,可以使用這些字符,但是考慮到新版本的Cookie規(guī)范目前仍然沒(méi)有為所有的瀏覽器所支持,因而為保險(xiǎn)起見(jiàn),我們應(yīng)該在Cookie的內(nèi)容中盡量避免使用這些字符。(karry/大眾網(wǎng)絡(luò)報(bào))

您可能感興趣的文章:
  • 關(guān)于jsp中cookie丟失問(wèn)題(詳解)
  • jsp使用cookie存儲(chǔ)中文示例分享
  • jsp實(shí)現(xiàn)cookie的使用
  • JSP實(shí)現(xiàn)瀏覽器關(guān)閉cookies情況下的會(huì)話管理
  • jsp源碼實(shí)例5(cookie)
  • JSP的Cookie在登錄中的使用

標(biāo)簽:鄭州 武威 拉薩 大興安嶺 岳陽(yáng) 馬鞍山 紅河 亳州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《用JSP操作Cookie》,本文關(guān)鍵詞  用,JSP,操作,Cookie,用,JSP,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《用JSP操作Cookie》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于用JSP操作Cookie的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章