servlet處理cookie

來源:互聯網
上載者:User

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到期時間。如果設定為負值的話,則為瀏覽器進程Cookie(記憶體中儲存),關閉瀏覽器就失效。設為0則銷毀cookies
void     setPath(String uri)         指定Cookie適用的路徑。 
void     setSecure(boolean flag)     指出瀏覽器使用的安全性通訊協定,例如HTTPS或SSL。 
void     setValue(String newValue)     cookie建立後設定一個新的值。

void     setVersion(int v)         設定Cookie所遵從的協議版本。

 

1. 設定Cookie

Cookie cookie = new Cookie("id","id");   cookie.setMaxAge(15*24*60*60);   cookie.setPath("/");   response.addCookie(cookie);                          Cookie cookie2 = new Cookie("pass","pass");   cookie2.setMaxAge(15*24*60*60);   cookie2.setPath("/");   response.addCookie(cookie2);  Cookie cookie = new Cookie("id","id");cookie.setMaxAge(15*24*60*60);cookie.setPath("/");response.addCookie(cookie);     Cookie cookie2 = new Cookie("pass","pass");cookie2.setMaxAge(15*24*60*60);cookie2.setPath("/");response.addCookie(cookie2); 

 

2. 讀取Cookie

 

Cookie cookies[] = request.getCookies();   String id = "";   String pass = "";   if (cookies != null)   {       for (int i = 0; i < cookies.length; i++)       {           if (cookies[i].getName().equals("id"))               id = cookies[i].getValue();           else if (cookies[i].getName().equals("pass"))               pass = cookies[i].getValue();       }   } Cookie cookies[] = request.getCookies();String id = "";String pass = "";if (cookies != null){ for (int i = 0; i < cookies.length; i++) {  if (cookies[i].getName().equals("id"))   id = cookies[i].getValue();  else if (cookies[i].getName().equals("pass"))   pass = cookies[i].getValue(); }} 

    Cookie cookies[]=request.getCookies() 我們用request.getCookies()讀出使用者硬碟上的Cookie,並將所有的Cookie放到一個cookie對象數組裡面。
    接下來我們用一個迴圈語句遍曆剛才建立的Cookie對象數組,我們用cookies[i]取出數組中的一個Cookie對象,然後我們用cookies[i].getValue()和cookies[i].getName()兩個方法來取得這個Cookie的名字和內容。

 

3. 銷毀cookies

 

Cookie cookies[] = request.getCookies();   if (cookies != null)   {       for (int i = 0; i < cookies.length; i++)       {                              cookies[i].setMaxAge(0);           cookies[i].setPath("/");           response.addCookie(cookies[i]);       }   }

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.