Gestión de las sesiones

2047 vistas

Existen 2 formas de gestionar las sesiones:

  • Mediante cookies
  • reescribiendo la URL

Cookies
Cuando se crea una sesión, el servidor envía un identificador (en forma de cookie) correspondiente al cliente. Luego, el cliente reenviará esta cookie al servidor en la próxima consulta para que éste pueda identificarlo.

Veamos un pequeño ejemplo que permite añadir una coolie en la cabecera de la respuesta.



java
  1. javax.servlet.http.Cookie cookie = new javax.servlet.http.Cookie("user", "abc123456");
  2. response.addCookie(cookie);



Pero a veces el cliente rechaza las cookies. En estos casos sólo podemos hacerlo mediante la segunda solución que consiste en reescribir la URL.

Reescribir la URL
Para esta técnica el servidor añade el identificador de sesión al final de cada URL de las páginas enviadas por él.
Pero, por desgracia, esta técnica tiene un coste devido a que el servidor tiene que hacer una operación suplementaria: tiene que personalizar la url incluyéndole el identificador de sesión.

Existen dos métodos para indivisualizar las URLs:



java
  1. encodeURL(String)



y



java
  1. encodeRedirectURL(String)



Estos métodos reescriben la URL sólo si los clientes no aceptan cookies.
El segundo método se usa cuando el servlet usa el método:



java
  1. sendRedirect(String)



Ejemplo:



java
  1. response.sendRedirect(response.encodeRedirectURL("maServlet");