Java 對 Cookie增刪改查的實現(xiàn)示例
Cookie屬性
name:cookie的名稱
value:cookie的值
maxAge:cookie的失效時間,默認為-1
值 | 說明 |
---|---|
負數(shù) | 瀏覽器關閉后立即失效 |
0 | 馬上清除cookie |
正數(shù) | 設置過期時間,單位秒 s |
path
Cookie的有效路徑,/ 表示這個路徑即該工程下都可以訪問該cookie 如果不設置路徑,那么只有設置該cookie路徑和其子路徑可以訪問。
獲取所有Cookie
public static Cookie[] GetCookies(HttpServletRequest request){ return request.getCookies(); }
獲取cookie很簡單,直接從request中獲取即可。
根據名稱獲取指定Cookie
public static Cookie getCookieByName(HttpServletRequest request, String name) { if (StringUtils.isBlank(name)) { return null; } Cookie[] cookies = getCookies(request); if (null != cookies) { for (Cookie cookie : cookies) { if (name.equals(cookie.getName())) { return cookie; } } } return null; }
添加Cookie
public static boolean addCookie(HttpServletResponse response, String name, String value, int maxAge) { if (StringUtils.isBlank(name) || StringUtils.isBlank(value)) { return false; } Cookie cookie = new Cookie(name.trim(), value.trim()); if (maxAge <= 0) { maxAge = Integer.MAX_VALUE; } cookie.setMaxAge(maxAge); cookie.setPath("/"); response.addCookie(cookie); return true; }
刪除Cookie
public static boolean removeCookie(HttpServletRequest request, HttpServletResponse response, String name) { if (StringUtils.isBlank(name)) { return false; } Cookie[] cookies = getCookies(request); if (null != cookies) { for (Cookie cookie : cookies) { if (name.equals(cookie.getName())) { cookie.setValue(null); cookie.setMaxAge(0); cookie.setPath("/"); response.addCookie(cookie); return true; } } } return false; }
Tips
編輯操作和刪除操作一樣,但是需要注意的是修改、刪除Cookie時,除value、maxAge之外的所有屬性,例如name、path、domain等,都要與原Cookie完全一樣。否則,瀏覽器將視為兩個不同的Cookie不予覆蓋,導致修改、刪除失敗。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- 如何使用會話Cookie和Java實現(xiàn)JWT身份驗證
- Java后端Cookie實現(xiàn)(時間戳)代碼實例
- Java接口測試Cookie與token原理解析
- Java 模擬cookie登陸簡單操作示例
- 在java中http請求帶cookie的例子
- Java Web學習之Cookie和Session的深入理解
- java使用Cookie判斷用戶登錄情況的方法
- servlet之cookie簡介_動力節(jié)點Java學院整理
- JavaWeb 中Cookie實現(xiàn)記住密碼的功能示例
- java中Servlet Cookie取不到值原因解決辦法
- JavaWeb使用Session和Cookie實現(xiàn)登錄認證
- Cookie在Java中的使用
相關文章
springboot中server.ssl.key-store配置路徑的問題小結
這篇文章主要介紹了springboot中server.ssl.key-store配置路徑的問題,文中還記錄了Spring Boot SSL(https)實例,介紹在web程序中使用自簽名的SSL(HTTPS)證書及創(chuàng)建SSL認證,感興趣的朋友跟隨小編一起看看吧2024-02-02SpringBoot+SpringCloud用戶信息微服務傳遞實現(xiàn)解析
這篇文章主要介紹了SpringBoot+SpringCloud實現(xiàn)登錄用戶信息在微服務之間的傳遞,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-11-11Java Web監(jiān)聽器如何實現(xiàn)定時發(fā)送郵件
這篇文章主要介紹了Java Web監(jiān)聽器如何實現(xiàn)定時發(fā)送郵件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-12-12spring boot 日志/頁面處理、實體類構建、后臺管理功能的實現(xiàn)
這篇文章主要介紹了spring boot 日志/頁面處理、實體類構建、后臺管理功能的實現(xiàn),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-08-08Java Vector實現(xiàn)班級信息管理系統(tǒng)
這篇文章主要為大家詳細介紹了Java Vector實現(xiàn)班級信息管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02