Manejo de Sesiones con Struts en NetBeans 6.1


Retomando el blog luego de un pequeño receso, seguiremos viendo alguna formas simples de poder trabajar con sesiones, como vimos en un post anterior lo trabajamos de manera basica con servlets, ahora veremos como es que podemos trabajarlo utilizando Struts, no detallo la teoria sobre este framework dado que lo podemos encontrar en la web, pasaremos defrente a la parte práctica.

Bueno para eso ya sabemos que hacer, abrimos nuestro Netbeans y creamos un proyecto web al cual llamaremos LoginStruts, seleccionamos el server con el que trabajaremos (Apache Tomcat) y luego en la parte donde dice seleccionar framework, escogemos Struts 1.29 nos mostrara un detalle como este:

loginstruts_01

Para este pequeño articulo no tocaremos esta parte, solo lo dejaremos por defecto y finalizamos. Una vez realizado este proceso tendriamos la siguiente estructura creada.

loginstruts_02

Al abrir el archivo “index.jsp” nos damos cuenta que tenemos solo la siguiente linea: <jsp:forward page=”Welcome.do”/>, el cual indica que lo unico que haria es un redireccionamiento a la pagina “Welcome.do”, pero se preguntaran ¿de donde sale la pagina “Welcome.do”?, alli es donde entra a tallar el archivo de configuración “struts-config.xml”:

loginstruts_03

En el circulo de color rojo que muestro en la figura es lo que nos interesa. Alli podemos obervar la accion que se realiza al utilizar “Welcome.do“, el de redireccionar a la pagina “welcomeStruts.jsp”. Para que no haya confusion podemos borrar el forward que dentro de los tags “<global-forwards>”, dado que es suficiente con el action.

Ya sabemos como parte inicial para que sirve el action en el archivo de configuracion, ahora pasamos a  crear una pagina jsp a la que llamaremos “menu.jsp” la que nos servira como pagina de carga luego del logueo correcto.

Luego pasamos a crear nuestra primera clase (Bean), la que manejaria las variables de usuario y password, las cuales la  “seteariamos” utilizando etiquetas struts desde el archivo “welcomeStruts.jsp”. A esta clase la llamaremos “LoginForm.java” y la crearemos dentro del paquete que se creo por defecto o de lo contrario creamos nuestros propios paquetes y lo creamos alli, para este caso utilizare el paquete por defecto, quedando la clase de la siguiente manera.

loginstruts_042

Fijense en la parte superior que esta con el recuadro de color rojo, eso es muy importante dado de que esta manera haremos que los valores que se “seteen” desde la pagina principal “welcomeStruts.jsp” puedan ser utilizados desde nuestra clase que haria el action.

Bueno, ya creamos el bean que almacenaria la informacion inicial, ahora lo que tenemos que hacer es registrar este bean dentro del archivo de configuracion “struts-config.xml” y lo ubicamos dentro de los tags “<form-beans>”. Para eso podemos hacer manualmente o tambien dentro del archivo de configuracion hacemos click derecho y elegimos el menu struts y luego escogemos “Add ActionForm Bean” de la siguiente manera:

loginstruts_06

Y luego nos aparecera la siguiente ventana en la cual agregaremos el nombre del bean y la clase que lo contiene.

loginstruts_07

Una vez realizado este proceso ya tendriamos el bean registrado en el archivo de configuracion quedando de la siguiente forma:

<form-beans>
<form-bean name=”LoginForm” type=”com.myapp.struts.LoginForm”/>
</form-beans>

Ahora, nos toca crear la clase que haria la accion, para eso nos ubicamos en el proyecto y le damos click derecho; seleccionamos “Struts Action” de la siguiente forma:

loginstruts_05

Se nos abrira un ventana en la cual nos pedira que agreguemos el nombre de la clase que haria la accion, para este caso le pondremos “LoginAction.java” y en el Action Path le pondremos “/Login”. Este ultimo parametro lo utilizaremos para registrarlo en archivo de configuracion y tambien para utilizarlo en action del formulario de nuestra pagina principal.

loginstruts_08

Le damos click en siguiente y tendremos el siguiente cuadro

loginstruts_09

En donde pueden observar que en el “ActionForm Bean Name” esta seleccionado nuestro bean “LoginForm”, en la opcion “Input Resource” borramos el “/” y listo le damos click en finalizar; podemos ver que en el archivo de configuracion esta registrado nuestro “Struts Action” de la siguiente forma

loginstruts_12

Ahora lo que haremos seria agregar dos forward al action uno que indicaria que hacer cuando el login sera correcto y otro cuando es incorrecto. Para esto damos click derecho sobre el archivo de configuracion y vamos al menu “struts” -> “Add forward” al cual llenamos los campos segun la figura:

loginstruts_10

y lo mismo hacemos para cuando es incorrecto quedando el archivo de configuracion de la siguiente manera:

loginstruts_11

Ahora nos metemos en el archivo LoginAction.java y escribimos el siguiente codigo:

loginstruts_13

Como podran darse cuenta tengo dos variables, usuario y password, el cual sus valores lo obtego instanciando al bean “LoginForm” y asi poder validar.

Si el usuario y clave es correcto se realizaria el envio de la variable SUCESS o en caso contrario se enviaria FAILURE, para cualquiera de estos casos se sabria que hacer de acuerdo a lo indicado en el archivo de configuracion (con los forward).

Ahora para terminar, se tendria que ingresar esos valores al bean; recuerdan que teniamos una pagina llamada “welcomeStruts.jsp” aqui es donde enviaremos los datos modificando el codigo, borramos todo el contenido del body y agregamos lo siguiente:

loginstruts_141

hay que fijarse en la parte resaltada con los recuadros de color rojo, ya que es muy importante, vemos que en el action tenemos “/Login” que es lo que tenemos registrado en el archivo de configuracion. y los campos property del text y password deben ser los mismos que del bean. Ya dependera de uds. que poner en el archivo “menu.jsp” 😛

Bueno, hasta aqui llego con el manejo de sessiones con struts espero haberme explicado con esto, cualquier comentario o duda solo postearlo.

PD: Disculpen, los errores ortograficos son a proposito.

Anuncios

14 thoughts on “Manejo de Sesiones con Struts en NetBeans 6.1

  1. Super buen tutorial, por fin encuentro algo digno de leer en internet referente a struts, con este ejemplo me quedo archi claro como funka esto

    gracias y ojala sigas haciendo tutoriales de este tipo

    adios

  2. gracias por el ejemplo!!!
    me gustaria saber si podrias hacer un ejemplo igualmente con struts en netbeans para realizar una coneccion a mysql y poder insertar…
    si no es mucha molestia, este tengo dudas al respecto…

  3. Dos preguntas y un agradecimiento, muy bueno tu post pero ¿por que cuando presiono el boton de atras del navegador me redirecciona a la pagina anterior, digo esto no debería suceder o si? ¿Como terminas un sesión? y gracias por orientarme con struts, espero y puedas responder

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s