成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

JSP處理Cookie的方法詳解

開發 后端
當用戶再次訪問某個站點時,服務端將要求瀏覽器查找并返回先前發送的Cookie信息,那么在JSP項目中,JSP處理Cookie是采用怎樣的方法呢?

一.什么是Cookies?

大家都知道,瀏覽器與WEB服務器之間是使用HTTP協議進行通信的,當某個用戶發出頁面請求時,WEB服務器只是簡單的進行響應,然后就關閉與該用戶的連接。因此當一個請求發送到WEB服務器時,無論其是否是第一次來訪,服務器都會把它當作第一次來對待,這樣的不好之處可想而知。為了彌補這個缺陷,Netscape開發出了cookie這個有效的工具來保存某個用戶的識別信息,因此人們昵稱為“小甜餅”。cookies是一種WEB服務器通過瀏覽器在訪問者的硬盤上存儲信息的手段:Netscape Navigator使用一個名為cookies.txt本地文件保存從所有站點接收的Cookie信息;而IE瀏覽器把Cookie信息保存在類似于C:\windows\cookies的目錄下。當用戶再次訪問某個站點時,服務端將要求瀏覽器查找并返回先前發送的Cookie信息,來識別這個用戶。

Cookies給網站和用戶帶來的好處非常多:

1、Cookie能使站點跟蹤特定訪問者的訪問次數、最后訪問時間和訪問者進入站點的路徑

2、Cookie能告訴在線廣告商廣告被點擊的次數 ,從而可以更精確的投放廣告

3、Cookie有效期限未到時,Cookie能使用戶在不鍵入密碼和用戶名的情況下進入曾經瀏覽過的一些站點

4、Cookie能幫助站點統計用戶個人資料以實現各種各樣的個性化服務

在JSP中,我們也可以使用Cookie,來編寫一些功能強大的應用程序。

下面,我想介紹一下如何用JSP處理Cookie和創建Cookie。     

二.如何創建Cookie

說了這么多,大家一定很想知道JSP是如何創建cookie了。JSP處理Cookie是使用如下的語法格式來創建cookie的:

Cookie cookie_name =new Cookie("Parameter","Value");

例如:Cookie newCookie =new Cookie("username","waynezheng"); response.addCookie(newCookie);

解釋:JSP是調用Cookie對象相應的構造函數Cookie(name,value)用合適的名字和值來創建Cookie,然后 Cookie可以通過HttpServletResponse的addCookie方法加入到Set-Cookie應答頭,本例中Cookie對象有兩個字符串參數:username,waynezheng。注意,名字和值都不能包含空白字符以及下列字符: @ : ;? , " / [ ] ( ) =

三. JSP處理Cookie的屬性

看到這里,有的朋友又要問了:我光知道如何創建Cookie有什么用呀?是呀,光知道如何創建Cookie而不知道怎么使用是不夠的。在JSP中,程序是通過cookie.setXXX設置各種屬性,用cookie.getXXX讀出cookie的屬性,現把Cookie的主要屬性,及其方法列于下,供大家參考:

類型 方法名 方法解釋
String getComment() 返回cookie中注釋,如果沒有注釋的話將返回空值.
String  getDomain() 返回cookie中Cookie適用的域名. 使用getDomain() 方法可以指示瀏覽器把Cookie返回給同 一域內的其他服務器,而通常Cookie只返回給與發送它的服務器名字完全相同的服務器。注意域名必須以點開始(例如.yesky.com) 
int  getMaxAge()  返回Cookie過期之前的最大時間,以秒計算。 
String getName()  返回Cookie的名字。名字和值是我們始終關心的兩個部分,筆者會在后面詳細介紹 getName/setName。 
String getPath() 返回Cookie適用的路徑。如果不指定路徑,Cookie將返回給當前頁面所在目錄及其子目錄下 的所有頁面。
boolean getSecure() 如果瀏覽器通過安全協議發送cookies將返回true值,如果瀏覽器使用標準協議則返回false值。
String  getValue() 返回Cookie的值。筆者也將在后面詳細介紹getValue/setValue。 
int getVersion()  返回Cookie所遵從的協議版本。 
void setComment(String purpose) 設置cookie中注釋。
void setDomain(String pattern) 設置cookie中Cookie適用的域名
void setMaxAge(int expiry)  以秒計算,設置Cookie過期時間。
void setPath(String uri) 指定Cookie適用的路徑。 
void  setSecure(boolean flag) 指出瀏覽器使用的安全協議,例如HTTPS或SSL。 
void setValue(String newValue) cookie創建后設置一個新的值。 
void setVersion(int v) 設置Cookie所遵從的協議版本。

四. 讀取客戶端的Cookie

JSP處理Cookie時,在Cookie發送到客戶端前,先要創建一個Cookie,然后用addCookie方法發送一個HTTP Header。 JSP將調用request.getCookies()從客戶端讀入Cookie,getCookies()方法返回一個HTTP請求頭中的內容對應的Cookie對象數組。你只需要用循環訪問該數組的各個元素,調用getName方法檢查各個Cookie的名字,直至找到目標Cookie,然后對該Cookie調用getValue方法取得與指定名字關聯的值 。

例如

  1. <%   
  2.  String userName=request.getParameter("username");//從提交的HTML表單中獲取,用戶名  
  3.  Cookie theUsername=new Cookie("username",userName);//以"username",userName值/對創建一個Cookie  
  4.  response.addCookie(theUsername);  
  5. > 
  6. ..............  
  7. <%  
  8.  Cookie myCookie[]=request.getCookies();//創建一個Cookie對象數組  
  9.  for(int n=0;n=cookie.length-1;i++);//設立一個循環,來訪問Cookie對象數組的每一個元素  
  10.  Cookie newCookiemyCookie[n];  
  11.  if(newCookie.getName().equals("username")); //判斷元素的值是否為username中的值  
  12.   {%> 
  13.    你好,<%=newCookie.getValue()%>!//如果找到后,向他問好  
  14.   <%}  
  15. > 

設置Cookie的存在時間,及刪除Cookie 在JSP中,使用setMaxAge(int expiry)方法來設置Cookie的存在時間,參數expiry應是一個整數。正值表示cookie將在這么多秒以后失效。 注意這個值是cookie將要存在的最大時間,而不是Cookie現在的存在時間。 負值表示當瀏覽器關閉時,Cookie將會被刪除。零值則是要刪除該Cookie。 如:

  1. <%  
  2.  Cookie deleteNewCookie=new Cookie("newcookie",null);  
  3.  deleteNewCookie.setMaxAge(0);  
  4.  deleteNewCookie.setPath("/");   
  5.  response.addCookie(deleteNewCookie);  
  6. > 

這就是JSP處理Cookie的流程,但在實踐的開發過程中,還要考慮項目的需求和用戶的習慣等問題。

 

【編輯推薦】

  1. JSP亂碼問題及解決方法
  2. JSP的優勢:應用范圍與性能比較
  3. 如何設置JSP開發及運行環境
  4. Servlets和JSP最佳實踐
  5. 在JSP中三種連接字符串的配置
責任編輯:佚名 來源: CSDN博客
相關推薦

2009-07-02 13:10:09

JSP技術

2009-02-11 10:08:53

Cookie屬性JSP

2009-02-17 10:40:26

頁面跳轉JSP教程

2009-06-29 17:57:30

ApplicationJSP

2010-04-14 09:20:26

.NET多線程

2021-09-26 09:56:24

CookieSameParty前端

2010-09-30 15:59:16

JSPCookie

2009-07-06 16:05:50

JSP特點

2009-08-03 10:11:44

JSP開發環境配置

2009-07-06 09:49:26

Servlet JSP

2009-07-06 17:08:19

測試JSP容器

2009-09-10 09:48:15

JSP使用FCKedi

2009-02-18 14:28:23

編碼亂碼JSP

2009-11-13 09:15:34

WPF

2009-07-01 15:45:39

JSP常見問題

2009-07-06 18:02:34

JSP服務器

2009-07-06 10:00:31

JSP頁面傳值

2009-07-21 13:43:53

ASP和JSP比較

2009-07-06 15:03:53

JSP向Servlet

2009-07-03 17:33:06

JSP中調用JavaB
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产高清视频一区二区 | 国产日韩欧美 | 精品乱子伦一区二区三区 | 午夜色婷婷 | 久久精品亚洲 | 天天天插 | 91精品免费 | 国产精品欧美日韩 | 欧美精品一区二区三区在线播放 | 国产欧美日韩综合精品一区二区 | 久久33 | 永久网站 | 精品少妇一区二区三区在线播放 | 亚洲人在线 | 成人一区二区三区在线观看 | 人人九九精 | 亚洲国产精品一区 | 欧美人成在线视频 | 欧美精品一区二区三区在线播放 | 男女啪啪高潮无遮挡免费动态 | 男人天堂色 | 欧洲精品在线观看 | www.欧美.com| 亚洲福利一区 | 阿v视频在线观看 | 天天草天天射 | 一区二区三区韩国 | 亚洲高清在线 | 亚洲精品一区中文字幕 | 69xxx免费| 91精品久久久久久久久中文字幕 | 新91| 欧美性网站| 日韩欧美中文在线 | 亚洲综合久久精品 | 男女羞羞视频在线看 | 成人国产免费视频 | 日韩精品四区 | 91精品国产乱码久久蜜臀 | 国产一区二区三区亚洲 | 在线永久看片免费的视频 |