Struts vs Struts2
Struts (también conocido como Apache Struts o Struts 1) es un marco de código abierto de plataforma cruzada escrita en Java, que está destinada a desarrollar aplicaciones web de Java EE. Fue uno de los marcos iniciales de aplicaciones web de Java EE. Pero pocos años más tarde, Struts2 (o Struts versión 2) llegó, y fue un marco de aplicaciones web completamente diferentes y muy mejoradas. Había abordado pocos problemas que se percibían como deficiencias en la versión inicial. Ahora, Struts2 se está utilizando muy fuertemente para desarrollar aplicaciones Java EE en el mundo.
Que son los puntales?
El marco de Struts (Struts 1) fue uno de los marcos iniciales de aplicaciones web para desarrollar aplicaciones web Java EE. El marco de Struts fomenta el uso de la arquitectura MVC (modelo-visión-visión-controlador). Es una extensión de Java Servlet API. Craig McClanahan es el creador original de Struts. Inicialmente, se conocía como Jakaratha Struts y se mantuvo en el Proyecto de Yakarta de Apache Software Foundation. Se lanza bajo la licencia de apache 2.0. Struts Framework se denomina marco basado en solicitudes, y se compone de tres componentes principales: un controlador de solicitud, un controlador de respuesta y una biblioteca de etiquetas. URI estándar (identificador de recursos uniformes) se asigna a un controlador de solicitud. El controlador de respuesta es responsable de transferir el control. Para crear aplicaciones interactivas con formularios, las características ofrecidas por la biblioteca de etiquetas se pueden utilizar. Struts admite aplicaciones de descanso y varias tecnologías como SOAP, AJAX, etc.
¿Qué es Struts2??
Se percibió que el marco de Struts contenía ciertas limitaciones (principalmente la falta de separación entre la capa de presentación, la capa de manejo de solicitud y el modelo) por los desarrolladores de Java EE en ese momento, y en consecuencia unos años más tarde llegaron los Struts2. En realidad, Struts2 era completamente diferente de los puntales. De hecho, ni siquiera compartieron la misma base de código porque Struts2 fue simplemente el resultado de cambiar el nombre de la webwork 2.2 marco (yo.mi. Comunidades web y de Struts que trabajaron por separado durante algún tiempo finalmente se unieron a las manos para crear Struts2). Su lanzamiento 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 de Struts fue la necesidad de programación para clases abstractas 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 extenderan 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 enhebrado entre las dos versiones, los problemas de seguridad de hilo que surgieron en el marco de Struts con respecto a los objetos de acción no se produce en el marco Struts2. La razón es que los objetos de acción Struts2 se instancian para cada solicitud, mientras que una acción en el marco de Struts solo tiene una instancia para manejar todas las solicitudes de esa acción. A diferencia de las acciones en el marco de Struts, las acciones de Struts2 no dependen de la API de servlet.
La capacidad de prueba del marco Struts2 es relativamente mayor que el marco de Struts. Puede probar las acciones de Struts2 simplemente siguiendo los tres pasos: instanciación, propiedad de propiedades e invocación de métodos. La entrada de cosecha 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 los puntales), el marco Struts2 puede usar OGNL más potente y expresivo (lenguaje de notación de gráficos de objetos). Para la conversión de tipo, Strut y Strut2 usan comons-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.