Java小技巧 關於Cookie的操作

2021-08-23 13:55:42 字數 1215 閱讀 9691

測試環境:jdk1.5、tomcat5.5

1.設定cookie

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

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

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

4response.addcookie(cookie);

2.讀取cookie

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

22cookie cookies = request.getcookies();

3.刪除cookie

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

3cookie.setpath("/test/test2"); //刪除指定路徑上的cookie,不設定該路徑,預設為刪除當前路徑cookie

4response.addcookie(cookie);

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

//test

/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開發小技巧

1 當我們提供介面的時候,ajax 返回的時候,當物件在轉換 json 序列化 的時候,值為null或者為 的字段還是輸出來了。看上去不優雅。如果專案裡有jackson include.include.always default 都參與序列化 include.non default 當value為...

JAVA 演算法小技巧

原貼 1.巧用陣列下標 陣列的下標是乙個隱含的很有用的陣列,特別是在統計一些數字,或者判斷一些整型數是否出現過的時候。例如,給你一串字母,讓你判斷這些字母出現的次數時,我們就可以把這些字母作為下標,在遍歷的時候,如果字母a遍歷到,則arr a 就可以加1了,即 arr a 通過這種巧用下標的方法,我...

關於Java的Cookie操作

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