Framework Struts 2 para desarrollar
aplicaciones en Java
Struts 2
es un famoso framework para desarrollar aplicaciones en Java
creado por Apache y que está basado en el patrón MVC. Está pensado para
facilitar las tareas propias del ciclo de vida del software, incluyendo la
construcción, desarrollo y mantenimiento de la aplicación. Entre las
principales c
aracterísticas
que ofrece Struts 2 están:
• Diseño
simplificado. Mientras que en Struts 1 se hacía
uso de las clases abstractas, en esta segunda versión se deja de lado esto y
se hace uso de Interfaces, que son más sencillas de adaptar al desarrollo y
facilita la extensión del mismo.
También busca que las clases sean
lo más sencillas posible, apareciendo así el concepto POJOs, que no son más
que clases que contienen métodos setter y getter para poder recibir valores
desde las páginas.
• Simplificación
de los Actions. En esta versión, cualquier clase
de Java que contenga un método execute puede actuar como un Action.
• Simplificación
de los tests. Como la lógica de negocio está
implementada en los Actions, esto facilita la realización de tests
unitarios.
• Uso
de anotaciones. Struts permite realizar la
configuración por medio de anotaciones dentro de las clases creadas, en vez
de tener que utilizar para ello ficheros XML.
• Fácil
integración con Spring. Struts puede convivir de
forma sencilla con el framework Spring y aprovecharse de la inyección de
dependencias que ofrece este último framework.
De forma resumida, el funcionamiento de Struts
2 ante una petición es la siguiente:
1. La
aplicación detecta que una petición de información.
2. La
petición es interceptada por el FilterDispatcher, que es el encargado de
determinar qué Action se ejecuta.
3. Si
el Action encargado de procesar la petición utiliza la anotación @Before,
ejecutará ese método antes de su código.
4. Si
el Action encargado de procesar la petición hace uso de la anotación @After,
una vez que ejecuta su código, invocará al método que hace referencia la
anotación.
5. Se
examina el resultado obtenido del Action y se determina el Result
correspondiente.
6. Mediante
el Result determinado, se genera la vista que es retornada al cliente.