`

为什么你的cookie删不掉

    博客分类:
  • web
阅读更多

创建cookie:

Cookie cookie1 = new Cookie("username", username);
cookie1.setMaxAge(30 * 24 * 60 * 60); //用户名保留1个月
cookie1.setPath("/");           //此时服务器上的所有页面都可以接收到该Cookie
response.addCookie(cookie1);


读取cookie:

Cookie[] cookies = request.getCookies();
    if(cookies != null){
        for(int i = 0; i < cookies.length; i++){
            if(cookies[i].getName().equals("username")){
                username=URLDecoder.decode(cookies[i].getValue(), "utf-8");
            }
        }       
    }


删除cookie:

Cookie[] cookies = request.getCookies();
        if(cookies != null){
            for(int i = 0; i < cookies.length; i++){
                Cookie temp = cookies[i];
                if(temp.getName().equals("username")){
                    if("0".equals(b1)){
                        temp.setMaxAge(0);  //设置有效时间为0,则系统会自动删除过期的cookiessss
                        temp.setPath("/");     //项目所有目录均有效,这句很关键,否则不敢保证删除
                        response.addCookie(temp);  //重新写入,将覆盖之前的
                    }
                }
            }
        }


总结: setPath设置Cookie适用的路径。如果不指定路径,Cookie将返回给当前页面(JSP页面或者Servlet的映射)所在目录及其子目录下的所有页面。

所以为什么很多时候你认为已经删除了cookie,但是在另一个页面cookie就是存在,所以一定要加上:这两段代码:

temp.setPath("/");      //项目所有目录均有效,这句很关键,否则不敢保证删除
response.addCookie(temp);   //重新写入,将覆盖之前的

分享到:
评论

相关推荐

    js操作cookie(增删改查)

    - Cookie的大小限制约为4KB,且数量有限制,通常每个域名下不能超过20个Cookie。 - Cookie默认只在设置的路径和域内可用,可以通过`path`和`domain`属性进行调整。 - 如果Cookie涉及到敏感信息,应使用HTTPS传输...

    使用JavaScript实现Cookie的增删改查操作

    本文将详细介绍如何使用JavaScript实现Cookie的增删改查操作。 首先,理解Cookie的基本概念是必要的。Cookie由服务器端设置,并发送到用户的浏览器,浏览器会在后续的请求中携带这些Cookie返回给服务器。每个Cookie...

    Cookie的使用方法 增删改查

    在`cookieShopCar`项目中,`CookieUtil`类可能包含了上述的Cookie操作方法,例如`addCookie`, `getCookie`, `updateCookie` 和 `deleteCookie`,封装了对Cookie的增删改查操作。`shopCarServlet`类可能是处理购物车...

    FlashCookie 不被浏览器清除的Cookie

    FlashCookie,也称为Local Shared Objects (LSO),是Adobe Flash Player为存储用户特定数据而引入的一种机制。不同于传统的HTTP Cookie,这些数据存储在用户的计算机上,不受浏览器的隐私设置或清除浏览器缓存操作的...

    使用es6封装的一个用于cookie增删改查的js模块

    以下是对“使用es6封装的一个用于cookie增删改查的js模块”的详细解释。 1. **基础概念** - **Cookie**:Cookie是由服务器端设置并返回到浏览器的一小段文本信息,浏览器会将这些信息存储在本地,并在后续请求中...

    Cookie的增删改查

    具体分析可以看我的博文《自动登陆--Cookie》

    EditThisCookie.crx cookie编辑导入导出利器

    当你选择导出为这种格式时,你可以在命令行工具curl中直接使用这些Cookie,这对于需要在无浏览器环境中模拟用户登录或者其他需要携带Cookie的HTTP请求时,提供了极大的便利。 curl是一个强大的命令行工具,用于传输...

    最全如何安全的处理cookie,不让cookie被利用

    史上最全如何安全的处理cookie,不让cookie被利用最全如何安全的处理cookie,

    cookie购物车cookie购物车cookie购物车

    cookie购物车cookie购物车cookie购物车cookie购物车cookie购物车cookie购物车cookie购物车cookie购物车cookie购物车cookie购物车cookie购物车cookie购物车

    完整获取webBrowser1.Document.Cookie取不到HttpOnly的Cookie

    完整获取webBrowser1的Cookie HttpOnly的Cookie

    cookie读写,子cookie

    在同一个域名下,可以为不同的路径设置不同的Cookie,这样就形成了子Cookie的概念。例如,根路径"/"的Cookie可以被所有子路径访问,而"/app"路径下的Cookie只能在该路径及其子路径下访问。这允许我们在不同路径上...

    cookie cookie cookie cookie cookie cookie

    cookie cookie cookie cookie cookie cookie cookie cookie cookie cookie cookie cookie cookie cookie

    C#操作cookie,解密加密cookie

    它可以存储多个`Cookie`对象,并为每个`Uri`提供一个Cookie集合。通过`CookieContainer`,我们可以轻松地添加、删除和检索Cookie,这在处理HTTP请求时非常有用。 #### 2. 添加Cookie到CookieContainer 在给定的代码...

    js 操作 COOKIE 读写删

    这段代码中,`days`参数表示Cookie的有效天数,如果不设置,默认为会话Cookie,即浏览器关闭后失效。 ### 3. 读取Cookie 读取Cookie则需要解析`document.cookie`字符串,因为该属性返回的是所有Cookie组成的字符串...

    关于java应用cookie

    - **Cookie大小限制**:大多数浏览器对单个Cookie的大小限制约为4KB。 - **隐私政策**:根据法律法规要求,必须向用户明确告知网站使用Cookie的目的,并获得同意。 通过以上介绍,我们可以了解到Java中Cookie的基本...

    Cookie浏览器

    Session Cookie不存储在硬盘上,仅存在于内存中,关闭浏览器后即消失;Persistent Cookie则被保存在硬盘上,有设定的过期时间。 - Cookie通常包含键值对,如用户名、登录状态等,用于识别用户身份或记录用户偏好。 ...

    微信小程序cookie维护插件 实现自动设置获取cookie功能

    2. 合理设置Cookie的生命周期,既不能太短导致频繁登录,也不能太长带来安全风险。 3. 在处理Cookie超时事件时,要确保用户体验流畅,尽量减少对用户操作的干扰。 总之,微信小程序cookie维护插件通过自动化设置和...

Global site tag (gtag.js) - Google Analytics