domingo, 17 de febrero de 2013

Conociendo Struts 2 - Proyecto de estudio - Login

ya tuvimos la oportunidad de  aprender a armar proyecto struts de manera manual en anteriores artículos en el blog, existen otras formas de generar proyectos struts:

  • Con Maven que no abordaremos por el momento
  • La tradicional es usar el ejemplo que proporciona struts en la version full que podemos encontrar en el directorio app con un nombre struts2-blank.........war podríamos importar el proyecto a nuestro eclipse y ya tendríamos un proyecto configurado listo para trabajar. 

en fin el objetivo de este articulo sera abordar la creación de una pantalla login que por supuesto al lograr el login correcto nos lleva a una pagina con un mensaje o en caso contrario nos regrese a la pantalla login.

ahora primero vamos a crear el proyecto.



Damos siguiente


Damos siguiente.


El siguiente paso es seleccionar las librerías de struts 2 que vamos a enlazar al proyecto.

 Ahora nos paramos en la carpeta lib del proyecto y damos pegar.


Esta es la vista del proyecto con  las librerías.



Ahora lo que hacemos es crear nuestro archivo struts.xml vació que modificaremos mas adelante.



El siguiente paso es crear el action que utilizaremos para el login.


Esta es la vista del proyecto hasta ahora, recuerde que lo que intentamos es definir en el proyecto los elementos que utilizaremos.


Ahora comenzamos a crear las vistas que utilizaremos para el ejemplo. Como primera instancia creamos login.jsp que es quien se encarga del ingreso de datos es decir donde el usuario coloca usuario \ clave y el boton de acción de login.


Welcome.jsp es solo una vista donde llegaremos con un saludo cuando se realizo el login con exito.


ahora es la hora de trabajar con la clase action para la que definimos 2 propiedades usuario y clave de tipo string donde ahora lo que debemos hacer es definir los get y los set generando el POJO.



Deberíamos obtener un resultado como el siguiente


El siguiente paso es definir el método execute el cual realiza la accion de validacion sobre el usuario y la clave dado que estamos trabajando con fines de enseñanza validara usuario y clave con constantes fijas.

Podemos observar que el método retorna una respuesta de acuerdo a la acción de validación que realizo.


Ahora vamos a incluir una particularidad que posibilita struts 2 y es la lectura de archivo de propiedades en sus capas, por ello vamos a crear un  SourceFolder llamado resources.

Sobre el proyecto elegimos New - > SourceFolder



Le asignaremos un nombre.


Sobre el directorio que agregamos, crearemos un nuevo objeto.



Elegimos el tipo del elemento.


Le asignaremos el nombre al archivo de propiedades


Agregamos las etiquetas asociadas. En nuevo caso utilizaremos etiquetas para el label del usuario, clave y el boton del login.


recuerdan que anteriores artículos les mencione que el struts.xml no siempre va a nivel de la carpeta \src bueno este es un caso, dado que si el archivo no se encuentra dentro de la carpeta \resources no podremos enlazar los tag definidos en los archivos de propiedades por lo que nuestro proyecto tendría una estructura como la siguiente.

Nota: con esto tenemos la estructura final de nuestro proyecto.

ahora este es el código del nuestro archivo login.jsp 


<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
Struts 2 - Login Application


Struts 2 - Login Application

   
   
   

Observaciones: como podemos observar la key hace referencia a los label definidos en el archivo de propiedades de la carpeta \resource  por otro lado podemos notar que el form hace referencia al action  y que por supuesto los controles a las propiedades y métodos definidos en el POJO del la clase login.java.

ahora este es el código de nuestro archivo Welcome.jps


<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>


Welcome



   

Hola, ...!





Observaciones:  podemos notar la utilización del tag s como etiqueta para representar elementos de la interface y lograr la conexión necesaria con las propiedades del action. 

por ultimo este es el código de nuestro archivo de configuración.




    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">


   
        value="false" />
   
   
        value="ApplicationResources" />
   

       
            class="actions.Login">
            Welcome.jsp
            login.jsp
       
     
   


Observaciones: en primera instancia podemos notar la definición del action que hace referencia a la clase que definimos y acorde a la respuesta direccionara a diferentes vistas.
Podemos notar la presencia de constantes definidas y necesarias para el mapeo de los label definidos en el archivo de propiedades con objetos de la vista.

Esta es una de las lineas mas importantes  dado que es la que hace referencia dentro de value al nombre del archivo que definimos como de propiedades solo que sin el .propertie



        value="ApplicationResources" />


el resultado final sera una pantalla de login 


que cuando ingrese un usuario y clave diferente a diego \ herrera nos direcciona a la pantalla de login.jsp,


y cuando los datos son correctos nos direcciona a una pantalla de bienvenida con un saludo para el autor.






En los próximos artículos abordaremos los siguientes temas.
  • validation
  • tiles 
  • Interceptor
  • ajax






1 comentario:

  1. En el blog de hosting web SSD tendremos muchos temas que nos pueden interesar, sobre todo si queremos llevar una web más ordenada y productiva.

    ResponderEliminar