關(guān)于Java的Cookie操作
測(cè)試環(huán)境:JDK1.5、Tomcat5.5
1.設(shè)置Cookie

2

3

4

2.讀取Cookie

2

3.刪除Cookie

2

3

4

4.注意:假設(shè)路徑結(jié)構(gòu)如下
/
/test
/test/test2
/test345
/test555/test666
a.相同鍵名的Cookie(值可以相同或不同)可以存在于不同的路徑下。
b. 刪除時(shí),如果當(dāng)前路徑下沒(méi)有鍵為"key"的Cookie,則查詢?nèi)扛嘎窂剑瑱z索到就執(zhí)行刪除操作(每次只能刪除一個(gè)與自己最近的父路徑Cookie)
FF.必須指定與設(shè)定cookie時(shí)使用的相同路徑來(lái)刪除改cookie,而且cookie的鍵名不論大寫(xiě)、小寫(xiě)或大小混合都要指定路徑。
IE.鍵名小寫(xiě)時(shí),如果當(dāng)前路徑為/test/test2,如果找不到再向上查詢/test、/test555、/test345,如果還找不到就查詢/ 。(/test555/test666不查詢)
鍵名大小寫(xiě)混合或大寫(xiě)時(shí),不指定路徑則默認(rèn)刪除當(dāng)前路徑,并且不向上查詢。
c.讀取Cookie時(shí)只能讀取直接父路徑的Cookie。
如果當(dāng)前路徑為/test/test2,要讀取的鍵為"key"。當(dāng)前路徑讀取后,還要讀取/test,/test讀取后,還要讀取/
d.在做Java的web項(xiàng)目時(shí),由于一般的Web服務(wù)器(如Tomcat或Jetty)都用Context來(lái)管理不同的Web Application,這樣對(duì)于每個(gè)Context有不同的Path,
在一個(gè)Server中有多個(gè)Web Application時(shí)要特別小心,不要設(shè)置Path為/的Cookie,容易誤操作。(當(dāng)然前提是域名相同)
e.最好也不要在不同路徑下使用相同鍵名的cookie,這樣做很容易引起歧義。
f.為了避免對(duì)FF和IE或其他瀏覽器區(qū)分操作,設(shè)置cookie時(shí)最好指定路徑,刪除cookie也要指定路徑。
posted on 2007-09-05 17:05 Eric Song 閱讀(1218) 評(píng)論(0) 編輯 收藏 所屬分類: Java