国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

JSP操作Cookie的教程

2024-09-05 00:18:22
字體:
來源:轉載
供稿:網友

  Cookie是一個應用了很久的技術,在訪問網頁的時候它可以在訪問者的機器上創立文件叫做cookie,寫一段內容進去標識不同的用戶,那么你知道如何用JSP操作Cookie嗎?現在我們去看看JSP操作Cookie的教程吧。

  一、 寫入Cookie

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

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

  <%

  String cookieName="Sender";

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

  cookie.setMaxAge(10);

  response.addCookie(cookie);

  %>

  ........(其他內容)

  這樣我們就設置了一個Cookie,很簡單吧?

  我們來仔細研究一下這段代碼:

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

  這一行建立了一個Cookie對象,初始化有兩個參數,第一個參數cookieName定義了Cookie的名字,后一個參數,也是一個字符串,定義了Cookie的內容。也就是我們希望網頁在用戶的機器上標識的文件內容。

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

  二、 讀出Cookie

  Cookie文件創建好后,自然還需要我們把它讀出來,否則我們不是白費力氣嗎?接下來我們看看如何讀出在用戶硬盤上的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%>

  ........(其他內容)

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

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

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

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

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

  三、 需要注意的一些問題

  1. Cookie的兼容性問題

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

  2. Cookie的內容

  同樣的Cookie的內容的字符限制針對不同的Cookie版本也有不同。在Cookie Version 0中,某些特殊的字符,例如:空格,方括號,圓括號,等于號(=),逗號,雙引號,斜杠,問號,@符號,冒號,分號都不能作為Cookie的內容。這也就是為什么我們在例子中設定Cookie的內容為"Test_Content"的原因。

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

  通過上面錯新小編介紹的兩個例子,我們可以看到用JSP操作Cookie是非常簡單的。不過我們在實際操作中還是需要注意一些問題。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东宁县| 呼和浩特市| 阳泉市| 昭平县| 酉阳| 承德市| 萍乡市| 巩留县| 师宗县| 岳西县| 葵青区| 无棣县| 九寨沟县| 凤阳县| 明溪县| 胶州市| 淮阳县| 四会市| 盐源县| 化州市| 大冶市| 扶沟县| 高邑县| 平利县| 灵宝市| 磐安县| 读书| 文登市| 平顺县| 怀集县| 海晏县| 齐河县| 台湾省| 怀来县| 吴桥县| 高清| 古浪县| 陕西省| 宁陕县| 湖口县| 繁昌县|