sábado, 13 de octubre de 2012

¿Que es una Sesión?


Es uno de los sistemas más usados en PHP para el almacenamiento de variables a lo largo de la navegación por una página web son las sesiones.
Consisten básicamente en variables globales que mantienen su valor a pesar de cambiar de sección dentro de una misma web. 

Recordamos que existen tres formas de almacenar la información de las variables que más tarde querremos procesar:

*POST: Envía los datos de forma “oculta” en la cabecera de la página y requiere de un formulario para enviar las variables.
*
*GET: Envía la información en la URL. Tiene la ventaja de poder enlazar directamente con los valores de las variables. Limitación de capacidad y falta de confidencialidad.
*
*SESIONES: Gracias a las sesiones podremos almacenar el valor de variables cuyo contenido se preservará a lo largo de toda la visita.
*Un ejemplo de su gran potencial es, por ejemplo, cuando queremos almacenar el nombre de usuario y la contraseña de una persona a lo largo de su recorrido por la web. Podríamos ir enviando dichos valores mediante el método GET pero tanto el nombre de usuario y la contraseña saldrían visibles en la URL destino. Para asegurar confidencialidad y seguridad, se usan las sesiones.

Ejemplos de Sesiones:

      Regularmente cuando realizaba pequeños proyectos web y trabajaba con sesiones siempre todo lo manejaba en archivos JSP, pero esta vez decidí probar un servlet para el manejo de sesiones y mostrar lo facil que puede resultar. Lo que comúnmente hacemos es trabajar con el famoso cuadro de logueo, en donde colocamos el usuario y el password para luego ser validado y crear la sesión. Bueno lo primero que tenemos hacer es crear el proyecto dentro de NetBeans (ya saben como aplicativo web) y luego escribir algo de código básico HTML dentro del archivo “Login.jsp” creando el cuadro de logueo mas o menos quedando así:

El diseño queda a disposición de ustedes, ahora hay un sin fin de herramientas que permiten realizar este tipo de trabajo, esto es solo para uso didáctico. Obviamente esta tabla de logueo lo mantendremos dentro de un “form” dado que utilizaremos el método POST y en el action colocaremos el Servlet al cual llamaremos “Sesion”.

Una vez hecho esto, creamos el archivo “Principal.jsp” el cual nos servirá para mostrar el resultado luego de realizar el logueo.

Luego creamos nuestra clase que actuara como servlet. Hacemos click derecho sobre nuestro proyecto y elegimos New –> Servlet, le damos el nombre (Sesion.java) y se nos mostrara un cuadro en donde nos dice que este nombre del servlet será añadido al archivo de configuración “web.xml” el cual servirá para poder ubicarlo y luego le damos click en terminar


Una vez hecho esto solo quedaría agregar el código dentro del método “processRequest”, quedando algo como esto:

Podemos observar que estamos obteniendo los datos del formulario mediante el request para ser validado y así poder generar la sesión, para luego enviarnos a la pagina principal. Ahora esto no quedaría allí; en la pagina “Principal.jsp” que ha sido creada tendríamos que realizar también la validación de la sesión, dado que como sabemos las sesiones tienen un tiempo de vida, si sobrepasa este tiempo la sesión automáticamente se destruye (a no ser que personalice el tiempo de vida), entonces en la pagina “Principal.jsptendríamos algo como esto:

De esta forma validamos si la sesión persiste, en caso contrario te enviaría a la pagina de inicio para volver ha realizar el logueo.
Como verán es una forma practica de trabajar con sesiones mediante un servlet; obviamente esto tendría que mejorarse, pero esto puede ser un punto de partida para muchos.







No hay comentarios:

Publicar un comentario