Jsp Cookies

JSP: Cookies

Cuando comenzamos a navegar estamos delante de nuestro ordenador y tecleamos una dirección en el navegador, como por ejemplo iberia.es.

Realmente lo que estamos haciendo con esto es lanzar una petición a un servidor y pedirle información. Esa petición llega al servidor, la procesa y el servidor genera dos cosas: por un lado lo primero que genera es la página web que yo quiero ver y por otro lado genera una Cookie.

Y esto es algo que yo no he pedido y que tampoco veo pero el servidor la genera y una vez que la ha generado pues la página web y la Cookie las envía a mi ordenador. la página web la veo en el navegador y la Cookie si yo doy el permiso al cartel de cookies se guarda en mi disco duro.

Pues navegando por esta página web y haciendo las operaciones necesarias, se va guardando en la Cookie una serie de información que no es ni más ni menos que las preferencias o los hábitos de navegación en esta página web del usuario. Es decir se hace un seguimiento de qué es lo que hace el usuario en esa página web y la información más importante se graba con un formato clave-valor

En subsiguientes peticiones a ese mismo servidor, se envía la request junto con las cookies almacenadas previamente

Captura de pantalla 2024-12-16 a las 18.07.14.png

Creación de la cookie

<%
    String ciudad_favorita = request.getParameter("ciudad_favorita");

    // creacion de la cookie
    Cookie cookie = new Cookie("agencia_viajes.ciudad_favorita", ciudad_favorita);

    // vida de la cookie
    cookie.setMaxAge(365 * 24 * 60 * 60); // 1 year

    // Enviar usuario
    response.addCookie(cookie);
%>

Lectura de la cookie

<%
    // Valor por defecto
    String ciudad_favorita = "Madrid";

    // Lee la cookie
    Cookie[] cookies = request.getCookies();

    // Buscar las preferencias, ciudad favorita

    if (cookies != null){

        for (Cookie cookieTemporal: cookies){

            if ("agencia_viajes.ciudad_favorita".equals(cookieTemporal.getName())){
                ciudad_favorita = cookieTemporal.getValue();
                break;
            }
        }
    }
%>