lunes, 3 de enero de 2011

Como usar las variables de sesión

El uso de las sesiones en JSP es muy útil para manejo de variables por conexión, es decir por cada usuario conectado por medio de un navegador (Firefox, Chrome, IExplorer, otros) al servidor JSP (Tomcar, JBoss, otros), se pueden utilizar una sesión con variables que solo serán accesibles desde la misma.

En general una sesión puede tener los siguientes estados, abierta o cerrada. Para el uso en JSP, siempre que un usuario se conecta al servidor se crea una conexión. De manera que si deseamos administrar estas sesiones debemos hacer uso del objet session que JSP utiliza para el manejo de sesiones.

Para entender el uso de este objeto realizaremos el siguiente ejemplo:

1. Abrimos Netbeans 6.x y creamos un nuevo proyecto web, con el nombre testSession
2. Agregamos tres páginas jsp con los nombres, setAttribute.jsp, getAttribute.jsp, invalidate.jsp
3. la pagina index.jsp en el cuerpo pegamos el siguiente código:

<form method="get" target="sessionJsp" action="setAttribute.jsp">
<label>Value
<input type="text" name="value">
</label>
<input type="submit" value="setAttribute()">
</form>
<br>
<a href="getAttribute.jsp" target="sessionJsp">getAttribute</a>
<br>
<a href="invalidate.jsp" target="sessionJsp">invalidate</a>
<br>
<iframe name="sessionJsp" width="100%">
</iframe>

4. En la página setAttribute.jsp crearemos una variable en sesión. Utilizando el código acontinuación:

<%
session.setAttribute("value", request.getParameter("value"));
%>

<h3>session.setAttribute("value",<%=session.getAttribute("value")%>)</h3>

en la segunda línea de código podemos ver que inmediatamente estamos obteniendo la variable que creamos, pero para ser mas claro con el ejemplo en la página getAttribute.jsp realizaremos esta misma operación, para lo cual utilizaremos el siguiente código:


<h3>value = <%=session.getAttribute("value")%></h3>


5. para finalizar el uso de variables, vamos a eliminar todas las variables de sesión en la página invalidate.jsp, utilizaremos el siguiente código:


<%session.invalidate(); %>
<h3>session.invalidate()</h3>

Ahora para terminar podemos ejecutar la aplicación y se debe ver así:

para probar la funcionalidad de las variables se debe colocar un valor dentro del campo de texto y dar click en el botón setAttribute(), Luego veremos un mensaje en el iframe de abajo, y podremos probar el método getAttribute y invalidate con los enlaces respectivos en la página.

espero que este ejemplo les ayude mucho a entender en principio el uso de las variables de sesión, si necesitan aclarar cualquier duda, por favor dejen sus comentarios

3 comentarios:

  1. hola , me gustaria sabercomo hago para bloquear el acceso amis paginas por el url

    ResponderEliminar
  2. De casualidad esto no lo sacaste de otra pagina y lo estas compartiendo, ó ellos te copiaron.
    Tenia una pregunta si no estas muy ocupado como usar el session.invalidate();
    ya que lo uso con JBoss, como uso atributos de session en todo el jsp cuando lo invalido me marca sus usos como fallas y me marca como error el jsp en vez de cerrar la session.
    Agradecería mucho tu respuesta, Saludos!

    ResponderEliminar