Struts vs Spring MVC
El marco Struts es uno de los marcos de aplicaciones web iniciales para desarrollar aplicaciones web Java EE. Spring es un marco de aplicación de código abierto. Algún tiempo después de la introducción del marco Spring, los desarrolladores agregaron un marco MVC al marco Spring, con la esperanza de abordar algunas de las limitaciones que percibieron en Struts. Pero unos años después, llegó Struts2 (o Struts versión 2), y era un marco de aplicación web completamente diferente y muy mejorado. Ahora, tanto Struts como Spring MVC se están utilizando mucho para desarrollar aplicaciones Java EE en el mundo.
¿Qué es Struts?
Struts (también conocido como Apache Struts) es un marco de código abierto multiplataforma escrito en Java, que está diseñado para desarrollar aplicaciones web Java EE. 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. Su versión estable actual es la versión 2.2.3, que se lanzó en mayo de 2011. 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 Spring MVC?
Spring es un marco de aplicación de código abierto. Fue desarrollado por Rod Johnson, y la primera versión fue lanzada en 2004. Spring 3.0.5 es la versión actual del framework Spring. Tiene licencia de Apache 2.0. Cualquier aplicación Java puede usar las características principales del marco Spring. Hay varios módulos en el marco de Spring, y MVC es uno de ellos. El marco Spring MVC no formaba parte de su plan original. De hecho, la razón por la que los desarrolladores de Spring crearon su propio marco MVC fue para proporcionar soluciones a lo que mostraban como deficiencias en Struts (versión 1) y otros marcos similares. En particular, dijeron que querían abordar la falta de separación entre la capa de presentación, la capa de manejo de solicitudes y el modelo. Spring MVC también es un marco de aplicación web basado en solicitudes.
¿Cuál es la diferencia entre Struts y Spring MVC?
Aunque Spring MVC y Struts son dos marcos de aplicaciones web populares que se utilizan para desarrollar aplicaciones web Java EE, tienen sus diferencias. De hecho, Spring MVC se desarrolló para abordar algunas limitaciones en Struts (versión 1). Pero Struts2 es un marco muy mejorado que la versión 1 (ni siquiera comparten la misma base de código) y, por lo tanto, Spring MVC y Structs2 son muy comparables.
Una de las principales ventajas de Spring MVC es que es posible tener una integración perfecta con muchas opciones de visualización como JSP / JSTL, Tiles, FreeMaker, Excel, PDF y JSON. Pero, a diferencia de Struts, Spring MVC no proporciona soporte AJAX integrado (es necesario utilizar una biblioteca AJAX de terceros).
En última instancia, ambos se consideran marcos muy maduros y la elección entre los dos se reduce a las preferencias personales. Es importante tener en cuenta aquí que si hay algún sentimiento negativo hacia los struts, solo se debe a las deficiencias que se encontraron en la versión 1 de Struts (que ahora se considera obsoleta).