- configuración en web.xml, decorators.xml y librerias de etiquetas de sitemesh dentro del layout y de los jsps
Ejercicio a desarrollar con Struts 1
Definición de ejercicio(posibilidad de trabajar en grupo a través de un mismo repositorio en Subversión y que cada integrante vaya resolviendo diferentes partes de la funcionalidad...):
utilizar en eticom-club-struts-basico para resolver las funcionalidades que se listan a continuación tres tipos de peticiones: de tipo jsp, de tipo Struts y de tipo Servlet (MVC) . Es decir nuestro programa responderá peticiones de tipo http://localhost:8080/mipagina.jsp, http://localhost:8080/loquesea.do y http://localhost:8080/MiServlet . Siguiendo siempre el patrón MVC, es decir un controlador creará y llenará el modelo, mientras que una vista(jsp) accederá al módelo (en el caso de que exista o sea necesario) para su representación.
- Pantalla de envío de mails a la dirección adecuada, con el asunto adecuado y el contenido
- Pantalla de envío correcto si no han aparecido excepciones en el envío
- Antes de enviar el mensaje comprobar que el campo destinatario, es decir el mail contiene una "@" y un dominio ".loquesea". En caso de que no sea valido el destinatario presentar los errores en pantalla
- Pantalla de envío incorrecto en caso de que hayan excepciones en el envío del mensaje (ej:EticomMailException....)
... todavía por definir en el ejercicio (No continuar hasta aviso!) ....
- Incluir Disco a colección de cliente, validación de que todavía no exista
- Pantalla de selección de entrada del blog a detallar
- Pantalla de detalle de la entrada seleccionada
- ...
... algunas cosas de Struts2 sobre el proyecto eticom-struts2-servlet, disponible en repositorio o siguiendo las primeras instrucciones del foro http://groups.google.com/group/eticom-master-java/web/struts
- web.xml:3 Filter, 1 ServletContextListener, 1 servlet con mapping y 1 servlet sin mapping pero con load-on-startup, struts ya no responde a *.do
- xwork2:
XWork is an command-pattern framework that is used to power Struts 2 as well as other applications. XWork provides an Inversion of Control container, a powerful expression language, data type conversion, validation, and pluggable configuration.
- dwr: es una librería de código abierto escrita en Java que permite escribir
aplicaciones web con Ajax. Manual en español
DWR esta formado por dos partes:
• Un Servlet corriendo en el servidor que procesa las peticiones y envía las
respuestas de retorno al navegador.
• JavaScript corriendo en el navegador que envía peticiones y puede actualizar
dinámicamente el contenido de las páginas.
- carga de struts.xml como archivo de configuración de struts y lo situamos en src/main/resources y desde el web.xml se cargan dichos archivos "de otra forma"...
- struts procesará todas las peticiones *.action, y esta configuración se indica en el archivo src/main/resources/struts.properties en la propiedad struts.action.extension=action
- IoC o ID a través de Spring o XWork
- struts.xml las acciones y sus configuraciones se aplican a paquetes...
- Las Acciones heredan de com.opensymphony.xwork2.ActionSupport
- Uso de anotaciones en las acciones para definir la validación y la conversión de valores
- Uso de metodos getter/setter para acceso desde el jsp a los valores correspondientes de la Accion
... otras muchas cosas de Struts2 sobre el proyecto eticom-appfuse-struts2-servlet, disponible en repositorio o siguiendo las segundas instrucciones del foro http://groups.google.com/group/eticom-master-java/web/struts
- en el archivo web.xml: context-params relacionados con i18n y la configuración del contexto, y filtros...
- Utiliza Hibernate en la persistencia
- DBUnit para resetear la base de datos. Base de datos controlada al iniciar la aplicación utilizando la herramienta DBUnit "hija" de JUnit
- más info en : http://appfuse.org/display/APF/Using+Struts+2
¿Waffle? otro FrameWork de desarrollo J2EE que sigue el patrón MVC...