首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 操作 Cookie 完全指南:設置、讀取、刪除與瀏覽器差異避坑

     編輯:Java 相關知識

Cookie 操作四大核心場景:

1. 設置 Cookie

Cookie cookie = new Cookie("key", "value");
cookie.setMaxAge(60);           // 60 秒生存期,負值為會話級(瀏覽器關閉失效)
cookie.setPath("/test/test2");  // 設置路徑,默認為當前 Servlet 路徑
response.addCookie(cookie);

2. 讀取 Cookie

Cookie[] cookies = request.getCookies();  // 返回當前路徑及直接父路徑所有 Cookie,無則返回 null

3. 刪除 Cookie

Cookie cookie = new Cookie("key", null);
cookie.setMaxAge(0);            // 0 為立即刪除
cookie.setPath("/test/test2");  // 必須指定設置時相同路徑
response.addCookie(cookie);

4. 關鍵避坑指南(路徑結構:/test/test2/test345/test555/test666)

  • 同名不同路徑:相同鍵名 Cookie 可共存於不同路徑
  • 刪除向上查找:當前路徑無目標 Cookie 時向上查找父路徑,每次僅刪除最近的一個
  • 瀏覽器差異:
    • Firefox:必須指定設置時相同路徑,鍵名大小寫敏感
    • IE:鍵名小寫時向上查找父路徑(跳過同級分支);大寫/混合大小寫不向上查找,默認刪除當前路徑
  • 讀取範圍:僅能讀取當前路徑與直接父路徑(逐級向上至根)
  • 多 Web App 警示:同域名下多 Context 時,勿設置 Path=/ 的 Cookie,易誤操作他應用 Cookie
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved