Diferencia entre Struts y Struts2

Diferencia entre Struts y Struts2
Diferencia entre Struts y Struts2

Video: Diferencia entre Struts y Struts2

Video: Diferencia entre Struts y Struts2
Video: Diferencia entre memoria de proceso RAM y memoria de almacenamiento 2024, Noviembre
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 frameworks de aplicaciones web Java EE iniciales. Pero unos años más tarde, llegó Struts2 (o Struts versión 2), y era un marco de aplicación web completamente diferente y muy mejorado. Había abordado algunos problemas que se percibieron como deficiencias en la versión inicial. Ahora, Struts2 se usa mucho para desarrollar aplicaciones Java EE en el mundo.

¿Qué es Struts?

El marco Struts (Struts 1) fue uno de los marcos iniciales de aplicaciones web para desarrollar aplicaciones web Java EE. Struts framework 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 mantenía bajo el Proyecto Jakarta de Apache Software Foundation. Se publica bajo la Licencia Apache 2.0. El marco Struts se denomina marco basado en solicitudes y se compone de 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 respuestas 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 varias tecnologías como SOAP, AJAX, etc.

¿Qué es Struts2?

Los desarrolladores de Java EE percibieron que el marco Struts contenía ciertas limitaciones (principalmente la f alta de separación entre la capa de presentación, la capa de manejo de solicitudes y el modelo) en ese momento y, en consecuencia, unos años más tarde llegó Struts2. En realidad, Struts2 era completamente diferente de 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 de 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 framework Struts era la necesidad de programar clases abstractas en lugar de interfaces. Esto fue resuelto por el marco Struts2. Por ejemplo, Struts framework requería que las clases de acción se extendieran desde las clases base abstractas, pero Struts2 Actions puede 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 Struts con respecto a los objetos de acción no ocurren en el marco Struts2. La razón es que los objetos de acción de Struts2 se instancian para cada solicitud, mientras que una acción en el marco de Struts tiene solo una instancia para manejar todas las solicitudes de esa acción. A diferencia del marco Acciones en 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 el 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. Recolectar la entrada es más fácil en el marco de Struts2 ya que las propiedades de Acción se usan 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 (lenguaje de notación de gráficos de objetos) más potente 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 Struts ahora se considera obsoleto.

Recomendado: