Diferencia entre Struts y Spring MVC

Struts vs Spring MVC

Struts framework es uno de los marcos iniciales de aplicaciones web para el desarrollo de aplicaciones web Java EE. Spring es un framework de aplicaciones de código abierto. Algún tiempo después de la introducción de Spring Framework, los desarrolladores agregaron un MVC framework al Spring Framework, con la esperanza de abordar algunas de las limitaciones que percibían en Struts. Pero pocos años después, llegó Struts2 (o Struts versión 2), y fue un marco de aplicación web completamente diferente y completamente diferente. Ahora, tanto Struts como Spring MVC se están utilizando mucho para desarrollar aplicaciones Java EE en el mundo.

Que es struts?

Struts (también conocido como Apache Struts) es un marco de código abierto multiplataforma escrito en Java, destinado a desarrollar aplicaciones web Java EE. Los puntales fomentan el uso de la arquitectura MVC (Model-View-Controller). 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 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 basado en solicitudes y está compuesto 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 manejador 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 diversas tecnologías como SOAP, AJAX, etc..

Qué es Spring MVC?

Spring es un framework de aplicaciones 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 de Spring Framework. Está licenciado bajo la licencia Apache 2.0. Cualquier aplicación Java puede usar las características principales del framework 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 proporcionar soluciones a lo que mostraron 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 es también 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 populares de aplicaciones web que se utilizan para desarrollar aplicaciones web Java EE, tienen sus diferencias. De hecho, Spring MVC fue desarrollado para abordar algunas limitaciones en Struts (versión 1). Pero Struts2 es un marco altamente mejorado que la versión 1 (ni siquiera comparten la misma base de código), y por lo tanto, Spring MVC y Structs2 son altamente 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 soporte AJAX incorporado (es necesario usar una biblioteca AJAX de terceros).

En última instancia, ambos se consideran marcos muy maduros, y elegir entre los dos se reduce a las preferencias personales. Es importante tener en cuenta que si hay sentimientos negativos hacia los puntales, solo se deben a las deficiencias encontradas en la versión 1 de Struts (que ahora se considera obsoleta)..