如何在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);

根据文档关闭浏览器时,cookie会过期。


负值表示cookie不会持久存储,并且在Web浏览器退出时将被删除。零值将导致cookie被删除。


使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);


哔哔one
浏览 1486回答 3
3回答

30秒到达战场

在我的环境中,以下代码有效。虽然乍看上去多余的,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);        }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java