¿Cómo se elimina una cookie en un servlet de Java?¿Cómo se elimina una cookie en un servlet Java?
yo probamos este: http://www.jguru.com/faq/view.jsp?EID=42225
EDIT: La siguiente ahora funciona con éxito parece ser la combinación de:
response.setContentType("text/html");
y
cookie.setMaxAge(0);
Antes de que yo estaba haciendo:
//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);
que caduca la cookie cuando el navegador está cerrado según the documentation.
Un valor negativo significa que la cookie no se almacena persistentemente y se eliminará cuando el navegador web salga. Un valor cero hace que la cookie sea eliminada.
El fragmento completo de trabajo para expirar una cookie es:
//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);
Intenté setMaxAge (0) inicialmente en firefox, pero aún así lo vi en mis cookies como "Caduca: al final de la sesión" y pensé que mi servlet todavía estaba recibiendo esa cookie vencida. Podría haber sido un combo de la necesidad de establecer el response.setContentType ("text/html"); y setMaxAge (0); que finalmente lo hizo funcionar. Lo intenté de nuevo y parece que la cookie con setMaxAge (0) no se enviará en solicitudes posteriores a mis servlets de Java. – Dougnukem
Respuesta clara y útil, gracias. –