Tengo una cookie, myCookie
, que contiene un valor hash. Esta cookie expira en un año y tiene una ruta de '/'. Necesito actualizar esta cookie con un nuevo valor hash. Cuando se carga mi script JSP puedo recuperar la cookie de este modo:¿Cómo se actualiza una cookie existente en JSP?
Cookie[] cookies = request.getCookies();
Cookie myCookie = null;
for (int i = 0; i < cookies.length; i += 1) {
if (cookies[i].getName().equals("myCookie")) {
myCookie = cookies[i];
break;
}
}
Después de determinar que el valor de la cookie necesita ser actualizado, hago lo siguiente para actualizarlo:
myCookie.setValue("my new value");
response.addCookie(myCookie);
El examen de la resultados, ahora tengo dos instancias de myCookie
: la versión original con la fecha de caducidad correcta y la ruta, y el valor anterior, no válido; y una nueva cookie llamada "myCookie" que expira al final de la sesión, con el valor correcto y una ruta del documento JSP.
Si hago:
myCookie.setValue("my new value");
myCookie.setPath(myCookie.getPath());
myCookie.setMaxAge(myCookie.getMaxAge());
response.addCookies(myCookie);
Lo mismo sucede. Recibo dos cookies con el mismo nombre y diferentes propiedades.
¿El objeto Cookie no retiene las propiedades desde el momento en que se recuperó? ¿Cómo puedo actualizar esta cookie?
Nota: No deseo modificar la ruta ni la fecha de caducidad. Solo quiero actualizar el valor de la cookie ya configurada.
echar un vistazo a: http://stackoverflow.com/questions/4863740/change-cookie-expiry-date- http – Ralph
@Ralph, ¿cómo se supone que eso me ayuda? –
¿Su dominio y ruta son los mismos? – Ralph