Struts vs Spring MVC
Struts framework es uno de los frameworks 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 más tarde, 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 utilizan 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. Los struts fomentan 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. 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 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 Spring MVC?
Spring es un marco de aplicación de código abierto. Fue desarrollado por Rod Johnson, y la primera versión se lanzó en 2004. Spring 3.0.5 es la versión actual del framework Spring. Está licenciado bajo la licencia Apache 2.0. Cualquier aplicación Java puede usar las características principales del marco Spring. Hay varios módulos en Spring Framework, y MVC es uno de ellos. El marco Spring MVC no era parte de su plan original. De hecho, la razón por la que los desarrolladores de Spring crearon su propio marco MVC fue para brindar soluciones a lo que mostraban como deficiencias en Struts (versión 1) y otros marcos similares. En particular, dijeron que querían abordar la f alta 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 utilizados 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 vista como JSP/JSTL, Tiles, FreeMaker, Excel, PDF y JSON. Pero, a diferencia de Struts, Spring MVC no proporciona compatibilidad integrada con AJAX (necesita usar una biblioteca AJAX de terceros).
En última instancia, ambos se consideran marcos altamente maduros, y elegir entre los dos se reduce a la preferencia personal. Es importante señalar aquí que si hay sentimientos negativos hacia los struts, solo se deben a las deficiencias que se encontraron en la versión 1 de Struts (que ahora se considera obsoleta).