大牛?无他,唯手熟尔!

java中无法删除cookie之解决

摘要:笔者最近有一个项目需要在退出时删除相关cookie,利用手头现有的方法就是删不掉,宝宝真是一脸无奈,后来经过多方查找,最终搞定,现在整理出来跟大家分享一下。

本文由草根java提供,转载请注明出处https://www.caogenjava.com/detail/82.html

笔者最近有一个项目需要在退出时删除相关cookie,利用手头现有的方法就是删不掉,宝宝真是一脸无奈,后来经过多方查找,最终搞定,现在整理出来跟大家分享一下。

先贴一下有问题的代码:

//设置保存一个cookie
public static void setCookie(HttpServletResponse response,String key,String value,int age){
        Cookie cookie = new Cookie(key, value);
        cookie.setMaxAge(age);
        response.addCookie(cookie);
}

//删除cookie
public static void deleteCookie(HttpServletResponse response,String key){
        Cookie cookie = new Cookie(key, null);
        cookie.setMaxAge(0);
        response.addCookie(cookie);
}

不饶圈子,直接贴出完善后的代码:

public static void setCookie(HttpServletResponse response,String key,String value,int age){
        Cookie cookie = new Cookie(key, value);
        cookie.setPath("/");//这一点很重要
        cookie.setMaxAge(age);
        response.addCookie(cookie);
}

public static void deleteCookie(HttpServletResponse response,String key){
        Cookie cookie = new Cookie(key, null);
        cookie.setPath("/");//这一点很重要
        cookie.setMaxAge(0);
        response.addCookie(cookie);
}

大家看到没,关键点在这里cookie.setPath("/")。在最初的方法里我没有加,导致删除失败。cookie设置里还有一个setDomain,网上有资料说也必须加,但是在笔者的项目里没有设置这个属性也同样成功删除了cookie。

双11云服务器热购推广(腾讯云):2核+4G内存+3M带宽=688元/3年(仅限新用户)

除非注明,文章均为草根java原创,转载请注明本文地址: https://www.caogenjava.com/detail/82.html

上一篇:mysqldump备份报-bash: c89#64: command not found之解决        下一篇:论坛注册:用户名包含被系统屏蔽的字符之完美解决
网友评论,共0 发表评论
昵称:
评论:
验证码: 刷新验证码
双11云服务器热购
    购买建议:带宽不用太高了,1M就够用,多考虑内存。