Java對於Cookie的操作詳解

2021-08-31 05:38:39 字數 1215 閱讀 9110

1.設定cookie

cookie cookie = new cookie("key", "value");

cookie.setmaxage(60);

設定60秒生存期 ,如果設定為負值的話,則為瀏覽器 程序cookie(記憶體中儲存),關閉瀏覽器就失效。

cookie.setpath("/test/test2");

設定cookie路徑,不設定的話為當前路徑(對於servlet來說為request.getcontextpath() + web.xml 裡配置的該servlet的url-pattern路徑部分)

response.addcookie(cookie);

2.讀取cookie

該方法可以讀取當前路徑以及「直接父路徑」的所有cookie物件,如果沒有任何cookie的話,則返回null

cookie cookies = request.getcookies ();

3.刪除cookie

cookie cookie = new cookie("key", null);

cookie.setmaxage(0);

cookie.setpath("/test/test2");

刪除指定路徑上的cookie,不設定該路徑,預設為刪除當前路徑cookie

response.addcookie(cookie);

4.注意:假設路徑結構如下

test/test2/test345/test555/test666

a.相同鍵名的cookie(值可以相同或不同)可以存在於不同的路徑下。

b. 刪除時,如果當前路徑下沒有鍵為"key"的cookie,則查詢全部父路徑,檢索到就執行刪除操作(每次只能刪除乙個與自己最近的父路徑cookie)

ff.必須指定與設定cookie時使用的相同路徑來刪除改cookie,而且cookie的鍵名不論大寫、小寫或大小混合都要指定路徑。

ie.鍵名小寫時,如果當前路徑為/test/test2,如果找不到再向上查詢/test、/test555、/test345,如果還找不到就查詢/ 。(/test555/test666不查詢)

鍵名大小寫 混合或大寫時,不指定路徑則預設刪除當前路徑,並且不向上查詢。

c.讀取cookie時只能讀取直接父路徑的cookie。

如果當前路徑為/test/test2,要讀取的鍵為"key"。當前路徑讀取後,還要讀取/test,/test讀取後,還要讀取/

Java應用技巧 對於 Cookie 的操作詳解

1.設定cookie cookie cookie new cookie key value cookie.setmaxage 60 設定60秒生存期,如果設定為負值的話,則為瀏覽器程序cookie 記憶體中儲存 關閉瀏覽器就失效。cookie.setpath test test2 設定cookie路...

Java應用技巧 對於 Cookie 的操作詳解

1.設定cookie cookie cookie new cookie key value cookie.setmaxage 60 設定60秒生存期,如果設定為負值的話,則為瀏覽器程序cookie 記憶體中儲存 關閉瀏覽器就失效。cookie.setpath test test2 設定cookie路...

關於Java的Cookie操作

1.設定cookie cookie cookie new cookie key value cookie.setmaxage 60 設定60秒生存期,如果設定為負值的話,則為瀏覽器程序cookie 記憶體中儲存 關閉瀏覽器就失效。cookie.setpath test test2 設定cookie路...