为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Java Servlet中删除Cookie

如何在Java Servlet中删除Cookie

哔哔one 2019-10-17 14:10:16
如何在Java servlet中删除cookie?我尝试了这个:http : //www.jguru.com/faq/view.jsp?EID=42225编辑:以下内容现在可以成功运行,它似乎是以下各项的组合:response.setContentType("text/html");和cookie.setMaxAge(0);在我做之前://remove single signon cookie if it hasn't been validated yetresponse.setContentType("text/html");Cookie cookie = new Cookie(SSORealm.SSO_COOKIE_NAME, "");cookie.setDomain(SSORealm.SSO_DOMAIN);cookie.setMaxAge(-1);cookie.setPath("/");cookie.setComment("EXPIRING COOKIE at " + System.currentTimeMillis());response.addCookie(cookie);根据文档关闭浏览器时,cookie会过期。负值表示cookie不会持久存储,并且在Web浏览器退出时将被删除。零值将导致cookie被删除。使Cookie失效的完整工作片段为://remove single signon cookie if it hasn't been validated yetresponse.setContentType("text/html");Cookie cookie = new Cookie(SSORealm.SSO_COOKIE_NAME, "");cookie.setDomain(SSORealm.SSO_DOMAIN);cookie.setMaxAge(0);cookie.setPath("/");cookie.setComment("EXPIRING COOKIE at " + System.currentTimeMillis());response.addCookie(cookie);
查看完整描述

3 回答

?
30秒到达战场

TA贡献1828条经验 获得超6个赞

在我的环境中,以下代码有效。虽然乍看上去多余的,cookies[i].setValue("");并且cookies[i].setPath("/");是必要的,正确清除该cookie。


private void eraseCookie(HttpServletRequest req, HttpServletResponse resp) {

    Cookie[] cookies = req.getCookies();

    if (cookies != null)

        for (Cookie cookie : cookies) {

            cookie.setValue("");

            cookie.setPath("/");

            cookie.setMaxAge(0);

            resp.addCookie(cookie);

        }

}


查看完整回答
反对 回复 2019-10-17
  • 3 回答
  • 0 关注
  • 1483 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信