This document was uploaded by user and they confirmed that they have the permission to share
it. If you are author or own the copyright of this book, please report to us by using this DMCA
report form. Report DMCA
Overview
Download & View Introduccion Al Framework Struts as PDF for free.
Licencia Copyright (c) 2004 Hernán Darío Fernández. Se permite la copia, distribución y/o modificación de este documento bajo los términos de la GNU Free Documentation License, Versión 1.1 o cualquier otra versión publicada por la Free Software Foundation Control de Cambios Fecha Versión Autor Descripción del Cambio Versión Inicial 21-08-2004 0.1 H Fernández Terminada 22-09-2004 1.0 H Fernández
Índice 1 Introducción ............................................................................................................ 4 2 ¿Que es Struts?........................................................................................................ 4 3 El patrón Modelo – Vista – Controlador................................................................. 5 4 Struts, una implementacion del patron MVC ......................................................... 6 4.1 Introducción .................................................................................................... 6 4.2 Funcionamiento en aplicaciones WEB ........................................................... 6 5 Vista ........................................................................................................................ 8 5.1 Introducción .................................................................................................... 8 5.2 Tags................................................................................................................. 8 5.3 Internacionalización...................................................................................... 10 6 Controlador ........................................................................................................... 12 6.1 Introducción .................................................................................................. 12 6.2 La clase Action ............................................................................................. 12 6.3 El archivo struts-config.xml.......................................................................... 12 7 Modelo .................................................................................................................. 14 7.1 Introducción .................................................................................................. 14 7.2 Action Forms ................................................................................................ 14 8 Aplicación de Ejemplo en WSAD 5.1 .................................................................. 16 9 Conclusión ............................................................................................................ 37 10 Bibliografía ....................................................................................................... 37
1
Introducción Cuando se inventaron los Servlets Java, muchos programadores se dieron cuenta de que eran más rápidos y más potentes que el CGI estándar, portables, y extensibles infinitamente. Pero escribir infinitas sentencias println() para enviar HTML al navegador era problemático. La respuesta fueron las JavaServer Pages, que nos dejaron escribir servlets dentro de ellas. Ahora los desarrolladores podían mezclar fácilmente HTML con código Java, y tener todas las ventajas de los servlets. Las aplicaciones web Java se convirtieron rápidamente en "centradas-en-JSP". Esto, por sí sólo no era malo, pero no hacia nada por resolver problemas de control de flujo y otros problemas propios de las aplicaciones Web. Claramente se necesitaba otro modelo... Algunos desarrolladores se dieron cuenta que las JavaServer Pages y los servlets se podrían usar juntos para desplegar aplicaciones web. Los servlets podrían ayudar con el control de flujo, y las JPSs podrían enfocarse en escribir HTML. Usar JSP y servlets juntos se ha dado ha conocer como el Modelo 2 (cuando usar sólo JSPs era el Modelo 1). El proyecto Struts lo lanzó en Mayo del 2000, Craig R. McClanahan para proporcionar un marco de trabajo MVC estándard a la comunidad Java.
2
¿Que es Struts? “Es un framework1 de la capa de presentación que implementa el patrón de patrón MVC en Java” Evidentemente, como todo framework intenta simplificar notablemente la implementación de una arquitectura según el patrón MVC. El mismo separa muy bien lo que es la gestión del workflow de la aplicación, del modelo de objetos de negocio y de la generación de interfaz.
1
Un framework es la extensión de un lenguaje mediante una o más jerarquías de clases que implementan una funcionalidad y que (opcionalmente) pueden ser extendidas.
3
El patrón Modelo – Vista – Controlador MVC (Modelo-Vista -Controlador) es un patrón de diseño aportado originariamente por el lenguaje SmallTalk a la Ingeniería del Software. Consiste principalmente en dividir las aplicaciones en tres partes: • Controlador • Modelo • Vistas. El controlador es el encargado de redirigir o asignar una aplicación a cada petición; el controlador debe poseer de algún modo, un "mapa" de correspondencias entre peticiones y respuestas que se les asignan. El modelo seria la lógica de negocio a fin de cuentas. Una vez realizadas las operaciones necesarias el flujo vuelve al controlador y este devuelve los resultados a una vista asignada. El siguiente gráfico nos muestra la interacción entre el Modelo la Vista y el Controlador.
Invocación de métodos Eventos
4
Struts, una implementacion del patron MVC
4.1
Introducción
Anteriormente dijimos que Struts implementa el patrón MVC por ende nos debe proveer o dar accesibilidad a un Controlador, al Modelo y la Vista. El controlador ya se encuentra implementado por Struts, aunque si fuera necesario se puede heredar y ampliar o modificar, y el workflow de la aplicación se puede programar desde un archivo XML Las acciones que se ejecutarán sobre el modelo de objetos de negocio se implementan basándose en clases predefinidas por el framework . La generación de interfaz se soporta mediante un conjunto de Tags predefinidos por Struts cuyo objetivo es evitar el uso de Scriplets (los trozos de código Java entre "<%" y "%>"), lo cual genera ventajas de mantenibilidad. Logísticamente, separa claramente el desarrollo de interfaz del workflow y lógica de negocio permitiendo desarrollar ambas en paralelo o con personal especializado. También es evidente que potencia la reutilización, soporte de múltiples interfaces de usuario (Html, sHtml, Wml, Desktop applications, etc.) y de múltiples idiomas, localismos, etc.
4.2
Funcionamiento en aplicaciones WEB
El siguiente gráfico muestra la funcionalidad de Struts.
El navegador genera una solicitud que es atendida por el Controlador (un Servlet especializado). El mismo se encarga de analizar la solicitud, seguir la configuración que se le ha programado en su XML y llamar al Action correspondiente pasándole los parámetros enviados. El Action instanciará y/o utilizará los objetos de negocio para concretar la tarea. Según el resultado que retorne el Action, el Controlador derivará la generación de interfaz a una o más JSPs, las cuales podrán consultar los objetos del Modelo para mostrar información de los mismos. Este gráfico nos provee una visión más detallada del funcionamiento de Struts
5
Vista
5.1
Introducción
La Vista se encuentra formada por un conjunto de paginas JSP. Struts provee soporte para construir aplicaciones multi-idioma, interacción con formularios y otras utilidades mediante la utilización de Tags especiales (TagLibraries).
5.2
Tags
A continuación veamos un detalle de los tags mas utilizados al construir paginas JSP usadas en Strus
Genera el tag . Este tag debe ser usado dentro del tag . Boton
Genera el tag . Este tag debe ser usado dentro de un