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)前路徑(對(duì)于Servlet來(lái)說為request.getContextPath() + web.xml里配置的該Servlet的url-pattern路徑部分)
response.addCookie(cookie);
2.讀取Cookie
該方法可以讀取當(dāng)前路徑以及“直接父路徑”的所有Cookie對(duì)象,如果沒有任何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.刪除時(shí),如果當(dāng)前路徑下沒有鍵為"key"的Cookie,則查詢?nèi)扛嘎窂?,檢索到就執(zhí)行刪除操作(每次只能刪除一個(gè)與自己最近的父路徑Cookie)
FF.必須指定與設(shè)定cookie時(shí)使用的相同路徑來(lái)刪除改cookie,而且cookie的鍵名不論大寫、小寫或大小混合都要指定路徑。
IE.鍵名小寫時(shí),如果當(dāng)前路徑為/test/test2,如果找不到再向上查詢/test、/test555、/test345,如果還找不到就查詢/。(/test555/test666不查詢)
鍵名大小寫混合或大寫時(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)管理不同的WebApplication,這樣對(duì)于每個(gè)Context有不同的Path,
在一個(gè)Server中有多個(gè)WebApplication時(shí)要特別小心,不要設(shè)置Path為/的Cookie,容易誤操作。(當(dāng)然前提是域名相同)
- Java 創(chuàng)建cookie和刪除cookie
- Java讀寫Cookie記錄的方法
- Java Servlet及Cookie的使用
- JavaWeb使用Cookie模擬實(shí)現(xiàn)自動(dòng)登錄功能(不需用戶名和密碼)
- cookie、session和java過濾器結(jié)合實(shí)現(xiàn)登陸程序
- Java用Cookie限制點(diǎn)贊次數(shù)(簡(jiǎn)版)
- java模擬cookie登陸操作
- Java中Cookie和Session的那些事兒
- Java 是如何讀取和寫入瀏覽器Cookies的實(shí)例詳解
- java 中cookie的詳解及簡(jiǎn)單實(shí)例
相關(guān)文章
java實(shí)現(xiàn)一個(gè)簡(jiǎn)單的網(wǎng)絡(luò)爬蟲代碼示例
這篇文章主要介紹了java實(shí)現(xiàn)一個(gè)簡(jiǎn)單的網(wǎng)絡(luò)爬蟲代碼示例,還是挺不錯(cuò)的,這里分享給大家,需要的朋友可以參考下。2017-11-11
Spring Boot 日志功能深度解析與實(shí)踐指南
本文詳細(xì)介紹了SpringBoot的日志功能,包括默認(rèn)日志框架Logback,日志級(jí)別配置,日志格式自定義,日志文件輸出,日志歸檔與清理,自定義日志配置,與其他日志框架的集成以及日志性能優(yōu)化,通過結(jié)合實(shí)際場(chǎng)景,提供了詳細(xì)的配置與實(shí)踐指南,感興趣的朋友一起看看吧2025-01-01
Knife4j?3.0.3?整合SpringBoot?2.6.4的詳細(xì)過程
本文要講的是?Knife4j?3.0.3?整合SpringBoot?2.6.4,在SpringBoot?2.4以上的版本和之前的版本還是不一樣的,這個(gè)也容易導(dǎo)致一些問題,本文就這兩個(gè)版本的整合做一個(gè)實(shí)戰(zhàn)介紹2022-09-09
springboot責(zé)任鏈模式實(shí)現(xiàn)多級(jí)校驗(yàn)
責(zé)任鏈模式是將鏈中的每一個(gè)節(jié)點(diǎn)看作是一個(gè)對(duì)象,每個(gè)節(jié)點(diǎn)處理的請(qǐng)求不同,且內(nèi)部自動(dòng)維護(hù)一個(gè)下一節(jié)點(diǎn)對(duì)象,下面我們來(lái)聊聊springboot如何利用責(zé)任鏈模式實(shí)現(xiàn)多級(jí)校驗(yàn)吧2024-11-11
Springboot集成Kafka進(jìn)行批量消費(fèi)及踩坑點(diǎn)
本文主要介紹了Springboot集成Kafka進(jìn)行批量消費(fèi)及踩坑點(diǎn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12
Springboot RocketMq實(shí)現(xiàn)過程詳解
這篇文章主要介紹了Springboot RocketMq實(shí)現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05

