miércoles, 20 de octubre de 2010

Sesiones en JSP






Bueno compañero les dare un pequeña intro de lo que es sesiones en jsp espero explicarme bien.. y que me puedan entender y espero mas que lo ejerciten para que nos vaya costando un poco menos..

1. Introducción

El protocolo HTTP permite acceder a páginas web y enviar datos de un formulario pero tiene
una limitación que consiste en que no puede almacenar cuando se cambia de servidor o de
página dentro de un mismo servidor. Por esta razón a este protocolo se le conoce como
protocolo sin estado.

Cuando se solicita una página independientemente del tipo que sea, el servidor abre una
conexión por la que envía los datos y luego ésta es cerrada una vez que ha terminado.

2. Qué es una sesión

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:

  1. - Cuando se abandona el sitio web.
  2. - Cuando se alcanza un tiempo de inactividad que es previamente establecido, en este
  3. caso la sesión es automáticamente eliminada. Si el usuario siguiera navegando se
  4. crearía una nueva sesión.
  5. - Se ha cerrado o reiniciado el servidor
Una posible aplicación de las sesiones es en el comercio electrónico. En este caso una
sesión permite ir eligiendo una serie de productos e irlos añadiendo a nuestro “carrito” y así
hasta finalizar la compra. Sin el uso de sesiones no se podría hacer porque al ir navegando de
una página a otra se iría perdiendo toda la información.

También se utilizan para la identificación de usuarios, en la que se deben de introducir un login y un password. Después de haber hecho esto el usuario tendrá una serie de permisos sobre las páginas que va a visitar, de tal forma que si un usuario intenta pasar a una página si haberse identificado, el sistema comprobará que no se ha identificado y sería redireccionado a la página de identificación.


Para poder realizarse estas operaciones es necesario almacenar en unas tipo
sesión la información necesaria para saber que el usuario se ha identificado correctamente.
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:
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.



Manejo de sesiones con JSP
paquete javax.servlet.http y es utilizada por el contenedor de páginas JSP para crear una sesión entre el servidor y el cliente.
Para obtener la sesión de un usuario se utiliza el método getSession() que devuelve una
interfaz de tipo HttpSession.





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:



Es posible conocer el momento en el que se creó la sesión:



Figura 2. A través del método getCreationTime() es posible conocer la Fecha y la hora en que se creó la sesión

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():





Teniendo en cuenta el momento en el que ser creó la sesión y la última vez que se accedió
al servidor, 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:






vaya esto es como lo basico en otro post creare un login, un checklogin, un menu para que vayamos familiarizandonos con las sesiones.. si tienen alguna duda
petertux822@gmail.com
si quieren el codigo mandeme un msj al correo pidiendo el codigo con asunto CODIGO..
comenten!!
gracias por ver le POST!.. suerte!

1 comentario:

  1. Exelente post amigo, muy bien explicado :D me sera de mucha utilidad gracias.

    ResponderEliminar