日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
用JSP控制Cookie的讀和寫操作

當(dāng)用戶訪問網(wǎng)頁時(shí),它能夠在訪問者的機(jī)器上創(chuàng)立一個(gè)文件,我們把它叫作Cookie,寫一段內(nèi)容進(jìn)去,來標(biāo)識(shí)不同的用戶。如果下次用戶再訪問這個(gè)網(wǎng)頁的時(shí)候,它又能夠讀出這個(gè)文件里面的內(nèi)容,這樣網(wǎng)頁就知道上次這個(gè)用戶已經(jīng)訪問過該網(wǎng)頁了。

創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括廣昌網(wǎng)站建設(shè)、廣昌網(wǎng)站制作、廣昌網(wǎng)頁制作以及廣昌網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,廣昌網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到廣昌省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

用JSP操作Cookie

一、前言

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

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

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

 
 
 
  1.  
  2.   ……(中間略)  
  3.    
  4.    
  5.   <%  
  6.   StringcookieName="Sender";  
  7.   Cookiecookie=newCookie(cookieName,"Test_Content");  
  8.   cookie.setMaxAge(10);  
  9.   response.addCookie(cookie);  
  10.   %> 
  11.   ……(其他內(nèi)容)  
  12.    
  13.    
  14.  

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

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

 
 
 
  1.   Cookiecookie=newCookie(cookieName,"Test_Content");  
  2.  

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

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

三、讀出Cookie

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

 
 
 
  1.  
  2.   ……(中間略)  
  3.    
  4.    
  5.    
  6.   Namevalue 
  7.   <%  
  8.   Cookiecookies[]=request.getCookies();  
  9.   CookiesCookie=null;  
  10.   Stringsvalue=null;  
  11.   Stringsname=null;  
  12.   for(inti=0;i
  13.   {  
  14.   sCookie=cookies[i];  
  15.   svalue=sCookie.getValue();  
  16.   sname=sCookie.getName();  
  17.   %> 
  18.   <%=sname%><%=svalue%> 
  19.   <%  
  20.   }  
  21.   %> 
  22.   ……(其他內(nèi)容)  
  23.    
  24.    
  25.  

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

  我們來逐行分析一下這段代碼:

 
 
 
  1.   Cookiecookies[]=request.getCookies()  
  2.  

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

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

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

四、需要注意的一些問題

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

1.Cookie的兼容性問題

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

2.Cookie的內(nèi)容

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

  雖然在CookieVersion1規(guī)定中放寬了限制,可以使用這些字符,但是考慮到新版本的Cookie規(guī)范目前仍然沒有為所有的瀏覽器所支持,因而為保險(xiǎn)起見,我們應(yīng)該在Cookie的內(nèi)容中盡量避免使用這些字符。

【編輯推薦】

  1. 使用Javascript巧妙獲取滾動(dòng)條位置
  2. 深入探究cookie技術(shù)在J2ME平臺(tái)的應(yīng)用與實(shí)現(xiàn)
  3. IE6.0中使用Javascript支持png格式圖片
  4. Java中的cookie管理庫與J2ME結(jié)合
  5. Javascript巧妙解決img做網(wǎng)站異常提交問題

當(dāng)前題目:用JSP控制Cookie的讀和寫操作
分享URL:http://www.5511xx.com/article/cdodhss.html