Вы находитесь на странице: 1из 25

docencia.acruz@gmail.

com

Inicio y cierre de sesin en una aplicacin con struts 2


Dificultad: fcil Paginas/componentes: a) b) c) d) e) f) index.jsp: proporciona enlaces a inicio de sesin, cierre de sesin y perfil (profile) struts.xml: definir acciones y resultados Login.java: definicin lgica de inicio y cierre de sesin LoginDao.java: consultar, nombre y contrasea de usuario, en la BD Profile.java: comprobar si el usuario est logeado o no. Vistas: (jsps) para mostrar resultados.

Precondiciones: contar con netbeans y dentro de este ya tener instalado el plugin de struts2.
Objetivo: conocer la forma de trabajar con struts 2 (forma bsica). Procedimiento: 1) Abrimos netbeans y realizamos un nuevo proyecto (Java web Web Application)

Le asignamos el nombre de LoginMVC01

Seleccionamos el Framework Struts2 Y quitamos la seleccin de Create example page (no debe tener palomita el checkbox)

Una vez finalizado el asistente del nuevo proyecto, deberamos tener un rbol de proyecto semejante al que se muestra en la siguiente imagen.

El cdigo de struts.xml debera ser semejante al de la imagen.

Creamos un nuevo paquete.

Al que llamaremos UTEZ.Dapp2

Como resultado tendremos un paquete vaco (en gris) con dicho nombre.

Dentro de ese paquete creamos una nueva clase de java.

Las clases a crear sern las del inciso c, d y e:

Al terminar de crear esas tres clases, tendremos tres archivos.java dentro del paquete UTEZ.Dapp2

Nos vamos al explorar de Windows (o de la plataforma que corresponda) y buscamos la carpeta de nuestro proyecto y dentro creamos una carpeta de nombre lib

Dentro de dicha carpeta copiamos el jar de MySQL que facilita la gestin de una BD en MySQL desde Java.

Vamos a nuestro rbol de proyecto y agregamos un nuevo Jar.

En el asistente buscamos de nuevo la carpeta donde est nuestro proyecto y dentro debe estar la carpeta lib que previamente se cre.

Estando dentro de la carpeta lib, seleccionamos el jar de MySQL y le damos clic en abrir

En nuestro proyecto, dentro de la carpeta Libraries debemos de tener el jar de MySQL

Introducimos el cdigo para nuestra clase LoginDao que se encuentra en el archivo LoginDao.java

NOTA: por esta ocasin utilizaremos esta forma para realizar la conexin a la BD, ms adelante veremos otras estrategias ms recomendadas.

Ahora introducimos el cdigo de la clase Login

Continuamos con el cdigo correspondiente a Profile

Nos regresamos al archivo struts.xml y agregamos las siguientes configuraciones:

Tomando de referencia la imagen anterior, en la lnea 11 (dentro de package) especificamos los action: login, loginproccess, logout y profile

Hasta el momento, falta crear las vistas (jsps)

Procedemos a crear los JSPs dando clic derecho en la carpeta Web Pages (New JSP)

Creamos los archivos necesarios.

Al final, se debe de tener los archivos JSPs en nuestro rbol de proyecto

Ahora procedemos a colocar el cdigo necesario para nuestra aplicacin, empezando por index.jsp

Debe de quedar como en la imagen siguiente:

En el caso de login.jsp:

Para loginerror.jsp

Para loginsuccess.jsp:

Para logoutsuccess.jsp:

Para profileerror.jsp:

Para profilesuccess.jsp:

Hasta este punto ya se cuenta con todo lo necesario. Precedemos a ejecutar/correr nuestro proyecto. Se nos presenta una vista semejante a la siguiente imagen, en donde debemos de introducir el usuario y contrasea. Sin embargo nunca ser posible logearse dado que no hemos especificado una base de datos en LoginDao.java

Crear BD, tabla e insertar registros con phpMyAdmin del paquete XAMPP

Insertar registro (usuario)

Configurar la conexin en LoginDao.java

Ejecutamos o actualizamos la aplicacin, introducimos el usuario y contrasea y damos clic en login

Y probar que pasa con los dems enlaces.

Actividad en clase: a) Validar el correo electrnico b) Mostrar los dems datos el perfil, adems del nombre, mostrar el correo. Tarea: a) Verificar a que inyeccin de cdigo es vulnerable esta aplicacin b) Aplicarle un estilo (formato) a las vistas La tarea es en formato de reporte, incluyan los incisos de actividad en clase.

Вам также может понравиться