java操作cookie示例(刪除cookie)
1.設(shè)置Cookie
Cookie cookie = new Cookie("key", "value");
cookie.setMaxAge(60);
設(shè)置60秒生存期,如果設(shè)置為負(fù)值的話,則為瀏覽器進(jìn)程Cookie(內(nèi)存中保存),關(guān)閉瀏覽器就失效。
cookie.setPath("/test/test2");
設(shè)置Cookie路徑,不設(shè)置的話為當(dāng)前路徑(對于Servlet來說為request.getContextPath() + web.xml里配置的該Servlet的url-pattern路徑部分)
response.addCookie(cookie);
2.讀取Cookie
該方法可以讀取當(dāng)前路徑以及“直接父路徑”的所有Cookie對象,如果沒有任何Cookie的話,則返回null
Cookie[] cookies = request.getCookies();
3.刪除Cookie
Cookie cookie = new Cookie("key", null);
cookie.setMaxAge(0);
設(shè)置為0為立即刪除該Cookie
cookie.setPath("/test/test2");
刪除指定路徑上的Cookie,不設(shè)置該路徑,默認(rèn)為刪除當(dāng)前路徑Cookie
response.addCookie(cookie);
4.注意:假設(shè)路徑結(jié)構(gòu)如下
test/test2/test345/test555/test666
a.相同鍵名的Cookie(值可以相同或不同)可以存在于不同的路徑下。
b.刪除時,如果當(dāng)前路徑下沒有鍵為"key"的Cookie,則查詢?nèi)扛嘎窂?,檢索到就執(zhí)行刪除操作(每次只能刪除一個與自己最近的父路徑Cookie)
FF.必須指定與設(shè)定cookie時使用的相同路徑來刪除改cookie,而且cookie的鍵名不論大寫、小寫或大小混合都要指定路徑。
IE.鍵名小寫時,如果當(dāng)前路徑為/test/test2,如果找不到再向上查詢/test、/test555、/test345,如果還找不到就查詢/。(/test555/test666不查詢)
鍵名大小寫混合或大寫時,不指定路徑則默認(rèn)刪除當(dāng)前路徑,并且不向上查詢。
c.讀取Cookie時只能讀取直接父路徑的Cookie。
如果當(dāng)前路徑為/test/test2,要讀取的鍵為"key"。當(dāng)前路徑讀取后,還要讀取/test,/test讀取后,還要讀取/
d.在做Java的web項目時,由于一般的Web服務(wù)器(如Tomcat或Jetty)都用Context來管理不同的WebApplication,這樣對于每個Context有不同的Path,
在一個Server中有多個WebApplication時要特別小心,不要設(shè)置Path為/的Cookie,容易誤操作。(當(dāng)然前提是域名相同)
相關(guān)文章
Spring Boot緩存實戰(zhàn) EhCache示例
本篇文章主要介紹了Spring Boot緩存實戰(zhàn) EhCache示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08Map按單個或多個Value排序當(dāng)Value相同時按Key排序
Map可以先按照value進(jìn)行排序,然后按照key進(jìn)行排序。 或者先按照key進(jìn)行排序,然后按照value進(jìn)行排序,這樣操作都行,這篇文章主要介紹了Map按單個或多個Value排序,當(dāng)Value相同時按Key排序,需要的朋友可以參考下2023-02-02Java DecimalFormat 保留小數(shù)位及四舍五入的陷阱介紹
這篇文章主要介紹了Java DecimalFormat 保留小數(shù)位及四舍五入的陷阱,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10Java中使用裝飾設(shè)計模式實現(xiàn)動態(tài)增強(qiáng)對象功能
裝飾設(shè)計模式是Java中一種常用的設(shè)計模式,它通過動態(tài)地將功能透明地附加到對象上,以擴(kuò)展對象的功能。裝飾設(shè)計模式主要應(yīng)用于需要動態(tài)、透明地增強(qiáng)對象功能的場景。在Java中,裝飾設(shè)計模式可通過繼承、接口和代理等方式實現(xiàn)2023-04-04Java環(huán)境變量的設(shè)置方法(圖文教程)
想要成功配置Java的環(huán)境變量,那肯定就要安裝JDK,才能開始配置的。2013-05-05Spring中容器的創(chuàng)建流程詳細(xì)解讀
這篇文章主要介紹了Spring中容器的創(chuàng)建流程詳細(xì)解讀,Spring?框架其本質(zhì)是作為一個容器,提供給應(yīng)用程序需要的對象,了解容器的誕生過程,有助于我們理解?Spring?框架,也便于我們“插手”這個過程,需要的朋友可以參考下2023-10-10