Diferencia Entre Struts Y Struts2

Diferencia Entre Struts Y Struts2
Diferencia Entre Struts Y Struts2

Vídeo: Diferencia Entre Struts Y Struts2

Vídeo: Diferencia Entre Struts Y Struts2
Vídeo: Struts2 0 Chapter 3 - Comparison of Struts1.2 and Struts2.0 2024, Marzo
Anonim

Struts vs Struts2

Struts (también conocido como Apache Struts o Struts 1) es un marco de código abierto multiplataforma escrito en Java, que está diseñado para desarrollar aplicaciones web Java EE. Fue uno de los marcos iniciales de aplicaciones web Java EE. Pero pocos años después, llegó Struts2 (o Struts versión 2), y era un marco de aplicación web completamente diferente y altamente mejorado. Había abordado algunas cuestiones que se percibían como deficiencias en la versión inicial. Ahora, Struts2 se está utilizando mucho para desarrollar aplicaciones Java EE en el mundo.

¿Qué es Struts?

El marco Struts (Struts 1) fue uno de los marcos de aplicación web iniciales para desarrollar aplicaciones web Java EE. El marco de Struts fomenta el uso de la arquitectura MVC (Model-View-Controller). Es una extensión de la API de Java Servlet. Craig McClanahan es el creador original de Struts. Inicialmente se conocía como Jakaratha Struts y se mantuvo bajo el Proyecto Jakarta de Apache Software Foundation. Se publica bajo la licencia Apache 2.0. El marco de Struts se denomina marco de trabajo basado en solicitudes y está formado por tres componentes principales: un controlador de solicitudes, un controlador de respuestas y una biblioteca de etiquetas. El URI estándar (Identificador uniforme de recursos) se asigna a un controlador de solicitudes. El controlador de respuesta es responsable de transferir el control. Para crear aplicaciones interactivas con formularios, se pueden utilizar las funciones que ofrece la biblioteca de etiquetas. Struts admite aplicaciones REST y diversas tecnologías como SOAP, AJAX, etc.

¿Qué es Struts2?

Se percibió que el framework Struts contenía ciertas limitaciones (principalmente la falta de separación entre la capa de presentación, la capa de manejo de solicitudes y el modelo) por los desarrolladores de Java EE en ese momento y, en consecuencia, unos años más tarde llegó Struts2. En realidad, Struts2 era completamente diferente a Struts. De hecho, ni siquiera compartían la misma base de código porque Struts2 fue simplemente el resultado de cambiar el nombre del marco WebWork 2.2 (es decir, las comunidades WebWork y Struts que trabajaron por separado durante algún tiempo finalmente se unieron para crear Struts2). Su versión estable actual es la versión 2.2.3, que se lanzó en mayo de 2011.

¿Cuál es la diferencia entre Struts y Struts2?

Uno de los muchos problemas del marco Struts fue la necesidad de programar para abstraer clases en lugar de interfaces. Esto fue resuelto por el marco Struts2. Por ejemplo, el marco de Struts requería que las clases de acción se extendieran desde las clases base abstractas, pero las acciones de Struts2 pueden implementar una interfaz de acción. Debido a las diferencias en el modelo de subprocesos entre las dos versiones, los problemas de seguridad de subprocesos que surgieron en el marco de Struts con respecto a los objetos de acción no ocurren en el marco de Struts2. La razón es que se crean instancias de los objetos de acción de Struts2 para cada solicitud, mientras que un marco de acción en Struts tiene solo una instancia para manejar todas las solicitudes de esa acción. A diferencia del marco de Actions in Struts, las acciones de Struts2 no dependen de la API de Servlet.

La capacidad de prueba del marco Struts2 es comparativamente más alta que la del marco Struts. Puede probar las acciones de Struts2 simplemente siguiendo los tres pasos: creación de instancias, configuración de propiedades e invocación de métodos. La recolección de entrada es más fácil en el marco Struts2 ya que las propiedades de Acción se utilizan como propiedades de entrada, sin tener que mantener un segundo objeto de entrada. Además del soporte para la integración JSTL (que está presente en Struts), el marco Struts2 puede usar OGNL (Object Graph Notation Language) más poderoso y expresivo. Para la conversión de tipos, Strut y Strut2 usan Commons-Beanutils y OGNL, respectivamente. Debido a estas mejoras, el marco Struts2 se considera un marco muy maduro y es muy popular entre los programadores de Java EE. Por otro lado, el marco de Struts ahora se considera obsoleto.

Recomendado: