Struts 2 Framework MVC
Los frameworks pueden ser vistos como implementaciones de patrones de diseño que facilitan la reutilización de diseño y código.
Dado que MVC ha sido utilizado en muchas aplicaciones web, se han desarrollado un conjunto de frameworks que den soporte a áreas comunes en todas las aplicaciones MVC.
Apache Struts es una de estas frameworks
Creada por Craig McClanahan y donada a la Apache Software Foundation en el 2000 (pertenece a Apache Jakarta).
Provee librería de clases y TAG-LIBS que conforman el Controlador, la integración con el Modelo (o lógica de negocio) y facilitan la construcción de vistas.
El Modelo o lógica de negocio es la parte que nos corresponde desarrollar.
Struts 2 está basado en el patrón MVC (Modelo-Vista-Controlador), una arquitectura que busca reducir el acoplamiento dividiendo las responsabilidades en 3 capas claramente diferenciadas:
- El modelo, que hace referencia a los datos que maneja la aplicación y las reglas de negocio que operan sobre ellos y que se traducen en Struts 2 en las acciones.
- La vista, encargada de generar la interfaz con la que la aplicación interacciona con el usuario. En Struts 2 equivale a los resultados.
- El controlador, que comunica la vista y el modelo respondiendo a eventos generados por el usuario en la vista, invocando cambios en el modelo, y devolviendo a la vista la información del modelo necesaria para que pueda generar la respuesta adecuada para el usuario. El controlador se implementa en Struts 2 mediante el filtro FilterDispatcher
Struts ofrece su propio componente controlador y proporciona integración con otras tecnologías para implementar el modelo, mediante tecnologías de acceso a datos como JDBC, y la vista, mediante JSP o XSLT. Además ofrece un sistema de tuberías que permite la comunicación entre el modelo que contiene los datos y las vistas que ofrecen estos datos a los usuarios y reciben sus órdenes.
Una aplicación Struts no es más que una Aplicación Web sobre el Framework de Struts.
Struts 2 es, como el nombre sugiere, la nueva versión del popular framework de desarrollo web en Java Apache Struts. Sin embargo, contrariamente a lo que cabría esperar, el código de ambos tiene poco que ver, dado que Struts 2 no se basa en el código de Struts 1.x, sino en el de otro framework de desarrollo web en Java llamado WebWork, un framework que el creador de Struts consideraba superior a Struts 1.x en varios aspectos.
Mejoras:
- Facilitar el deploy de aplicaciones.
- Diseño mejorado.
- Nuevos tags incorporados
- Mejora en la gestión de checkboxes.
- Botones para cancelar flexibles.
- Soporte para AJAX.
- Integración sencilla para Spring.
- Resultados especializados.
- Formularios POJO (olvídate de los ActionForm).
- Acciones POJO.
- Añadir plugins fácilmente.
- Integrar herramientas de profiling.
- Reporte de errores más preciso.
- Acciones fáciles de testear.
- Valores por defecto para las configuraciones.
- Controladores fáciles de customizar.
- Integración de herramientas de debbuging.
- Añadir nuevos tags fácilmente.
Ventajas
La utilización de esta metodología conlleva una serie de ventajas que nos ayudan a reducir el tiempo requerido para el desarrollo y facilitar el mantenimiento de la aplicación web:
- Transporte automático de los datos introducidos en el cliente (JSP) hasta el controlador (Action) mediante formularios (ActionForm).
- Transporte automático de los datos enviados por el controlador (Action) a la parte de presentación (JSP) mediante formularios (ActionForm).
- Implementa la parte común a todas las aplicaciones en la parte de Controlador (ActionServlet); la parte particular de cada aplicación es fácilmente configurable (struts-config.xml).
- La separación de los componentes en capas (MVC) simplifica notablemente el desarrollo y su mantenimiento.
Aún no hay comentarios
¡Sea el primero en comentar!
