java serlet清空cookie,如何删除Java Servlet中的Cookie

How do you remove a cookie in a Java servlet?

EDIT: The following now works successfully it appears to be the combination of:

response.setContentType("text/html");

and

cookie.setMaxAge(0);

Before I was doing:

//remove single signon cookie if it hasn't been validated yet

response.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);

Which expires the cookie when the browser is closed as per the documentation.

A negative value means that the cookie is not stored persistently and will be deleted when the Web browser exits. A zero value causes the cookie to be deleted.

The full working snippet to expire a cookie is:

//remove single signon cookie if it hasn't been validated yet

response.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);

解决方案

The MaxAge of -1 signals that you want the cookie to persist for the duration of the session. You want to set MaxAge to 0 instead.

A negative value means that the cookie is not stored persistently and will be deleted when the Web browser exits. A zero value causes the cookie to be deleted.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值