2. 2
Sesiones
Una sesión es una serie de comunicaciones entre un cliente y un
servidor en la que se realiza un intercambio de información. Por
medio de una sesión se puede hacer un seguimiento de un
usuario a través de la aplicación.
El tiempo de vida de una sesión comienza cuando un usuario se
conecta por primera vez a un sitio web pero su finalización
puede estar relacionada con tres circunstancias:
-Cuando se abandona el sitio web.
-Se ha cerrado o reiniciado el servidor.
3. 3
Manejo de las Sesiones
● Para obtener la sesión de un usuario se utiliza el método
getSession() que devuelve una interfaz de tipo HttpSession.
● <%HttpSession sesion=request.getSession();%>
● Creado el objeto de tipo sesión es posible acceder a una serie de
datos sobre la misma.
● <%HttpSession sesion=request.getSession();
out.println(“IdSesion: ”+sesion.getId()); %>
● Es posible conocer el momento en el que se creó la sesión:
● <%@page import=”java.util.*” session=”true”%> <% HttpSession
sesion=request.getSession(); out.println(“Creación:
“+sesion.getCreationTime()); Date momento=new
Date(sesion.getCreationTime()); out.println(“Creación:
“+momento); %>
4. 4
Manejo de las Sesiones
● También se puede conocer la fecha y hora de la última vez que el
cliente accedió al servidor con el que se creó la sesión, utilizando
el método getLastAccesedTime():
● <% Date acceso=new Date(sesion.getLastAccessedTime());
out.println(“Último acceso: “+acceso+”); %>
● Se puede conocer el tiempo que lleva el cliente conectado al
servidor, o lo que es lo mismo el tiempo que lleva el usuario
navegando por la páginas JSP:
● <% long longDuracion=sesion.getLastAccessedTime();
sesion.getCreationTime();
● Date duracion=new Date(longDuracion);
● out.println(“Duracion:“+duracion.getMinutes()+”min.”+duracion.get
Seconds()+”seg”); %>
5. 5
Manejo de las Sesiones
● La interfaz HttpSession ofrece el método isNew()
mediante el cual es posible saber si la sesión creada
es nueva o se está tomando de una previamente
creada:
● <% HttpSession sesion=request.getSession();
out.println(“nueva: “+sesion.isNew()); %>
6. 6
Guardar obejetos en
sesiones
● Para guardar un objeto en una sesión se utiliza el
método setAttribute(), que ha sustituido al método
putValue(). Este método utiliza dos argumentos:
● -El primero es el nombre que identificará a esa
variable.
● -El segundo es el dato que se va a guardar.
7. 7
Recuperar datos
● Los datos que se guardan en la sesión permanecen ahí
a la espera de ser utilizados. Para ello es necesario
realizar el proceso contrario a cuando se graban,
comenzando por la recuperación del objeto de la
sesión para empezar a ser tratado. Para poder realizar
este paso se utiliza el método getAttribute()
(anteriormente se utilizaba el método getValue(), pero
este método se encuentra en desuso), utilizando como
argumento el nombre que identifica al objeto que se
quiere recuperar.
9. 9
Application
● Es un objeto de la clase ServletContext. Este objeto es
común para toda la aplicación web y, entre otras cosas,
nos permite almacenar información que sera accesible
desde todas las paginas de la aplicación web,
independientemente de la sesión.
● Para guardar y recuperar valores:
● Object application.getAtribute(“clave”);
● void application.setAttribute(“clave”, Obejet objeto);
11. 11
Config
● Es un objeto de la clase ServeltConfig. Permite
acceder a parámetros de inicializacion del servelt y a
su contexto.
12. 12
PageContext
● Utilizado para almacenar y recuperar información relacionada
con la página y
compartir objetos dentro de la misma unidad de traducción y la
misma petición.
● También utilizado como una clase de comodidad que mantiene
una tabla de todos los demás objetos implícitos.