domingo, septiembre 21, 2008

Curso de Struts 2 100% práctico - clase 1

Bien, tarde pero seguro, vamos a comenzar el web-curso de Struts 2 100% práctico. En cuanto a la teoría sólo vamos a verla de manera concisa cuando la necesitemos.

La primer clase siempre es la más aburrida. Vamos a ver una introducción a la aplicación a generar y la configuración general de Struts.

Aplicación a desarrollar:

Queremos desarrollar una aplicación que permita tomar exámenes vía web. Para ello, el alumno ingresará su nombre y el sistema le mostrará 20 preguntas distintas, cada una con 5 opciones diferentes para seleccionar. Cuando el alumno haya finalizado la selección de respuestas, enviará el formulario al sistema para ser corregido.
El sistema realizará la corrección del examen y le mostrará al usuario el resultado final.

Dejaremos de lado ABMs de carga de alumnos, preguntas y respuestas, seguridad por ahora. La razón de esto es para concentrarnos en Struts más que en el resto. Una cosa más, no me pidan ver un diseño de interfaz "bonito", tengo un doctorado en Diseño de Interfaces Malísimas y estoy finalizando mi postgrado en Combinación Horrible de Colores.

A continuación, vemos una imagen de las clases de negocio de nuestro Sistema:

  • Clase Pregunta: representa una sola pregunta que se realiza al alumno, Una pregunta puede tener muchas respuestas asociadas, pero sólo una de ellas será correcta. Esta es la regla que adoptaremos, si bien el modelo permite que tenga varias respuestas correctas.
  • Clase Respuesta: representa una sola respuesta a una determinada pregunta.
  • Clase Examen: representa un conjunto de preguntas y respuestas que el alumno debe responder. Un examen tiene tantos detalles como preguntas se le desee mostrar al alumno.
  • Clase DetalleExamen: representa una asociación entre una pregunta y un examen determinado.
Además, agregaremos una clase adicional ExamenBusiness que se ubicará entre Struts y las clases de negocio. No descarto además, el agregar nuevas clases más adelante, que sirvan para transportar datos entre las distintas capas de nuestra aplicación. Estas clases, son las clásicas DTOs (Data Transfer Object).

Secuencia de llamadas, Actions e interacción general:

En la siguiente imagen, vemos las pantallas JSP que tendremos y su interacción con Struts 2 y a su vez, la interacción de Struts 2 con nuestra clase ExamenBusiness:



Bien, mucho bla bla por ahora, les dejo un archivo con el proyecto realizado en (por supuesto) eclipse. Todavía no hace mucho y ya tiene una configuración básica de Struts. En la próxima clase vamos a ver en detalle la estructura de archivos, para qué sirve cada uno y un poco de código.

Saludos

16 Comments:

At 7:37 a. m., Blogger Pipe said...

Buenas Pablo,

tengo curiosidad si incluirás alguna anotación sobre las diferencias entre Struts 1.x y 2. Actualmente desarrollo con la primera plataforma aunque quiero ver en que difiere respecto de la segunda.
Ánimo y saludos

 
At 9:08 p. m., Blogger Pablo Frias said...

pipe: Lo tendré en cuenta e iré marcando las diferencias.

Gracias por participar!

 
At 10:07 p. m., Anonymous Anónimo said...

Buenas, disculpas si este comentario se va de tema pero no encuentro un email de contacto. Les presento el sitio www.conexionit.com una comunidad de profesionales de it. Posee un directorio de blogs de IT que queremos que sea el mas grande de habla hispana. Les pido autorización para agregar su blog al directorio. A cambio me gustaría si puedes escribir un post sobre nuestro sitio o agregar un boton a tu blog de los que hay en la sección prensa.

Saludos cordiales,
Alejandro
admin[at]conexionit[dot]com

 
At 2:01 p. m., Blogger Citizen Insane said...

hey amigo, resulta que estoy trabajando a un pequeño taller de sockets que no he sido capaz de realizar, en éste tengo que manejar objetos , por lo que veo, en una de sus publicaciones hablaba acerca de ello pero resultó que el link con los códigos fuentes ya esta roto.

Me pregunto si todavía tiene la información disponible y si la puede volver a publicar

de antemano, muchas gracias

excelente blog !

 
At 5:18 p. m., Blogger Pablo Frias said...

Citizen insane: Listo, ya arreglé el link, puedes bajar los fuentes desde: aquí.

 
At 10:16 a. m., Anonymous Anónimo said...

Muy interesante su blog!!

 
At 6:23 a. m., Anonymous Anónimo said...

No me abre el archivo rar. a alguien mas le paso?

 
At 12:33 p. m., Blogger Pablo Frias said...

Rodrigo: lo acabo de probar desde mi trabajo y funciona bien. Prueba bajarlo nuevamente.

 
At 11:51 a. m., Anonymous Anónimo said...

buenisimo che

 
At 3:10 a. m., Blogger Abraham Gajardo said...

No puedo abrir el archivo ExamenesStruts_clase1.rar, intente con winrar y 7-zip, podrian subirlo con formato zip

Muy bueno el blog.

Gracias.

 
At 4:44 a. m., Blogger michael said...

muy bueno el ejemplo, podrias publicar ejemplos donde interactue con base de datos, mvc, dao, etc con structs 2
gracias de antenamo.

 
At 5:27 a. m., Anonymous Anónimo said...

¿Hola...? Y las otrsa partes del curso...?

 
At 7:53 a. m., Blogger Felipe Martínez D. said...

Muy bien!
Esto promete. Esperemos a las otras partes.
Aunque quizás para ser el primer ejemplo es un poco complejo, por el número de clases.
Voy a probarlo y ya te cuento!

 
At 12:41 a. m., Blogger Unknown said...

Hola, hay clase 2?

 
At 3:03 p. m., Anonymous Anónimo said...

Excelente! Quisiera saber si habrá modo de "resubir" los archivos ya que el link de referencia indica que han sido eliminados desde abril de 2013. Y también pregunto al igual que Marcos: ¿¿¿Hay o habrá clase 2???

Saludos!

 
At 8:47 p. m., Blogger Unknown said...

Amigo, ¿habrá posibilidad de que puedas volver a subir el proyecto?

Lamentablemente el hosting dejo de funcionar desde el 2013 :/

O si pudieras pasarmelo a
larva442@gmail.com

 

Publicar un comentario

<< Home