Anteriormente creamos una entrada mencionando que son sesiones información. Esta vez usaremos el lenguaje Java Servlets Page para este ejemplo. Utilizar para el almacenamiento, recuperación e intercambio de información entre páginas web de un mismo servidor.
Para poder hacer uso de las sesiones en JSP hay que poner el atributo session de la directiva page a true, de esta forma se notifica al contenedor que la página interviene en un proceso que utiliza las sesiones del protocolo HTTP:
<%@page session='true'%>
El manejo de las sesiones impide el intercambio de datos entre ellas ya que se trata información específica para cada usuario e incluso si se trata del mismo usuario.
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();
%>
Una vez creado el objeto de tipo sesión es posible acceder a una serie de datos sobre la misma. Uno de estos datos es idSession que devuelve un identificador único asociado a una sesión:
<%
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("<br/>Creación: " + momento);
%>
Un ejemplo de cómo guardar una cadena de texto en la sesión:
<%@page import="java.util.*" session="true" %>
<%
HttpSession sesion = request.getSession();
sesion.setAttribute("trabajo","Paginas de JSP");
%>
Si se quiere pasar un parámetro que no sea un objeto es necesario realizar una conversión:
<%@page import="java.util.*" session="true" %>
<%
HttpSession sesion = request.getSession();
Integer edad = new Integer(26);
sesion.setAttribute("edad", edad);
%>