如何删除Java Servlet中的Cookie?如何删除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 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);
根据the documentation关闭浏览器时,该cookie到期。
负值意味着cookie不会永久存储,并且在Web浏览器退出时将被删除。零值会导致Cookie被删除。
完整的工作片断过期饼干是:
//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);
我最初在firefox中尝试过setMaxAge(0),但我仍然看到它在我的cookies中列为“Expires:在会话结束时”,并认为我的servlet仍在接收过期的cookie。 它可能是需要设置response.setContentType(“text/html”)的组合。 和 setMaxAge(0); ,使它终于工作。 我再次尝试它,它确实显示cookie和setMaxAge(0)不会被发送到我的Java servlets的后续请求。 – Dougnukem 2009-05-21 19:00:48
清楚和有用的答案,谢谢。 – 2014-07-29 01:56:49