Struts 2

Post date: Jan 31, 2011 10:30:01 AM

Struts 2 es un marco para el desarrollo de aplicaciones web bajo el patrón MVC. Luego de la aparición de Struts, que es el marco de desarrollo MVC más estable y duradero hasta ahora para el desarrollo de aplicaciones web en Java, un grupo de desarrolladores creó WebWork, un marco alternativo menos ligado a la especificación de servlets.

Con el tiempo, la fundación Apache adoptó WebWork bajo el nombre de Struts 2, manteniendo en paralelo el mantenimiento y desarrollo de Struts, ahora conocido como Struts 1.

El ciclo de llamada en Struts 2 es como sigue: La solicitud es filtrada a través de interceptores y es implementada por acciones. Las acciones retornan resultados que son ejecutados en el servidor y enviados al navegador para ser mostrados.

  • El despachador de filtros puede procesar cualquier solicitud y es el primer paso en la respuesta a una solicitud en Struts 2.

  • Los interceptores son similares a los filtros, se pueden configurar para una aplicación completa, para un grupo de acciones de Struts 2 o para una sola acción. Estos proporcionan la mayor parte de la funcionalidad ofrecida por Struts 2. En general, las aplicaciones sólo necesitan interceptores provistos por el marco; también es posible implementar interceptores específicos para una aplicación.

  • Las acciones de Struts 2 pueden ser clases sencillas (en inglés POJO: Plain Old-style Java Object). No están ligadas a los servlets y producen como salida un String.

  • Los resultados determinan lo que se envía de regreso al servidor, generalmente es un JSP que produce una página que será mostrada en el servidor. Las aplicaciones pueden configurar su propio tipo de resultado en base por ejemplo a un procesador de plantillas o a un generador de reportes.

  • Los plug-ins representan el mecanismo de extensión de Struts 2. Son una forma nítida de encapsular funcionalidades que se pueden utilizar en toda la aplicación.

Struts 2 es una herramienta que puede utilizarse para el prototipado y desarrollo rápido de aplicaciones web.

Cursos relacionados