You are on page 1of 20

Piero Rivera Alejandro Merello

17 de Noviembre de 2010

Introduccin
Framework de cdigo abierto para desarrollo de aplicaciones web Java. Esta diseado para acelerar todo el ciclo de desarrollo: construccin, despliegue y mantencin de las aplicaciones en el tiempo. Struts2 es la fusin de las comunidades de Struts y WebWork, representa concepto original de Struts proveyendo un uso ms simple. Incentiva al desarrollador a adoptar la arquitectura MVC.

Model-View-Controller
Arquitectura de software considerada como un patrn de diseo que asla la lgica del dominio de la interfaz usuaria. Modelo: Maneja el comportamiento y datos de la aplicacin. Vista: Vuelve el modelo a una forma adecuada para interaccin (tpicamente UI). Controlador: Recibe entradas del usuario e inicia una respuesta llamando objetos del modelo. Instruye al modelo y vista para tomar acciones.

Model-View-Controller

Arquitectura
El Request inicial va al contenedor del Servlet (Tomcat). Pasa por una cadena estndar de filtros. Se llama a FilterDispatcher para determinar si la peticin requiere de una accin. Si el ActionMapper determina que se requiere una accin FilterDispatcher delega a ActionProxy, el que consulta al framework a travs de los archivos de configuracin (struts.xml). Luego crea un ActionInvocation. A travs de los Interceptor se invoca la Action, el Result se entrega a un template (JSP) para finalmente retornar la respuesta al Request.

Cmo funciona
1. El navegador solicita un recurso web (/hello.action,/reportes/reporte.pdf, etc). 2. El FilterDispatcher examina la solicitud y determina la Accin apropiada. 3. Los interceptores automticamente aplican funcionalidad a la solicitud. 4. El mtodo de Accin se ejecuta: execute(). 5. El resultado se enva al navegador.

Configuracin
web.xml (en /WEB-INF)
Descriptor de despliegue, incluye los componentes necesarios del framework.

struts.xml (en /WEB-INF/classes)


La configuracin central del framework se encuentra en este archivo

struts.properties (en /WEB-INF/classes)


Permite redefinir las propiedades por omisin del framework.

Configuracin

Archivo web.xml
El nombre del filterDispatcher. La clase del filterDispatcher Detalles de mapeo URL

Archivo struts.properties
No es mandatoria su implementacin Sobreescribe las propiedades seteadas por defecto. Puede setear un ambiente de debugging ms cmodo
Struts.i18n.reload Struts.devMode Struts.configuration.xml.reload Struts.url.http.port

Archivo struts.xml
Archivo medular del comportamiento de Struts2 Sistema de Tags
<struts> : Tag ms externo <include/> : Para incluir otros archivos de configuracin <package/> : Sirve para configuracin de actions <action> : Se ocupa dentro del tag package. Se ocupa para bautizar un action, especificar su class y las pginas jsp que entrega como resultado. <constant/> : Se ocupa para cambiar propiedades del strut.properties. <bean/> : De uso avanzado

Archivo struts.xml

Actions
Son la unidad bsica de trabajo Es un POJO (Plain Old Java Object) No necesita heredar de otra clase No necesita implementar ninguna interfaz Debe estar provisto de mtodos getters y setters para tener acceso a datos de los requerimientos y de formularios
/home.action?framework=struts&version=2 setFramework(String frameworkName) setVersion(int version)

Actions
Debe implementar el mtodo execute()

Interceptors
Mayora de las prestaciones de Struts2 se realizan gracias a ellos
Manejo de excepciones Subir archivos Validacin de datos

Provee de post y pre procesamiento al action. Se organizan en pilas de capas Tienen acceso a:
El action en ejecucin Las variables de entorno Las propiedades de ejecucin.

Interceptors struts.xml
Para la configuracin se debe agregar en struts.xml:
la declaracin de los interceptors la declaracin de la pila la referencia a la pila en el action deseado

Si se desea utilizar interpectors preconfigurados, se debe hacer heredar al package del action del package strutsdefault.

Interceptors struts.xml

Interceptors

Referencias
The Apache Software Foundation: Struts Wikipedia: Apache Struts Wikipedia: Model-View-Controller RoseIndia Struts Tutorial Starting Struts 2, Ian Roughley, InfoQ.

Piero Rivera Alejandro Merello


17 de Noviembre de 2010

You might also like