Struts contre Spring MVC
Struts framework est l'un des premiers frameworks d'applications Web pour le développement d'applications Web Java EE. Spring est un framework d'application open source. Quelque temps après l'introduction du framework Spring, les développeurs ont ajouté un framework MVC au framework Spring, dans l'espoir de remédier à certaines des limitations qu'ils percevaient dans Struts. Mais quelques années plus tard, Struts2 (ou Struts version 2) est arrivé, et c'était un framework d'application Web complètement différent et hautement amélioré. Aujourd'hui, Struts et Spring MVC sont très largement utilisés pour développer des applications Java EE dans le monde.
Qu'est-ce que Struts ?
Struts (également connu sous le nom d'Apache Struts) est un framework open source multiplateforme écrit en Java, destiné au développement d'applications Web Java EE. Struts encourage l'utilisation de l'architecture MVC (Model-View-Controller). C'est une extension de l'API Java Servlet. Craig McClanahan est le créateur original de Struts. Initialement, il était connu sous le nom de Jakaratha Struts et était maintenu dans le cadre du projet Jakarta d'Apache Software Foundation. Sa version stable actuelle est la version 2.2.3, qui a été publiée en mai 2011. Elle est publiée sous la licence Apache 2.0. Le framework Struts est appelé framework basé sur les requêtes et se compose de trois composants principaux: un gestionnaire de requêtes, un gestionnaire de réponses et une bibliothèque de balises. L'URI standard (Uniform Resource Identifier) est mappé à un gestionnaire de requêtes. Le gestionnaire de réponse est responsable du transfert de contrôle. Pour créer des applications interactives avec des formulaires, les fonctionnalités offertes par la bibliothèque de balises peuvent être utilisées. Struts prend en charge les applications REST et diverses technologies telles que SOAP, AJAX, etc.
Qu'est-ce que Spring MVC ?
Spring est un framework d'application open source. Il a été développé par Rod Johnson, et la première version a été publiée en 2004. Spring 3.0.5 est la version actuelle du framework Spring. Il est sous licence Apache 2.0. Toute application Java peut utiliser les fonctionnalités de base du framework Spring. Il existe plusieurs modules dans le framework Spring, et MVC en fait partie. Le framework Spring MVC ne faisait pas partie de leur plan initial. En fait, la raison pour laquelle les développeurs Spring ont créé leur propre framework MVC était de fournir des solutions à ce qu'ils montraient comme des lacunes dans Struts (version 1) et d'autres frameworks similaires. En particulier, ils ont déclaré vouloir remédier au manque de séparation entre la couche de présentation, la couche de traitement des demandes et le modèle. Spring MVC est également un framework d'application Web basé sur les requêtes.
Quelle est la différence entre Struts et Spring MVC ?
Bien que Spring MVC et Struts soient deux frameworks d'applications Web populaires utilisés pour développer des applications Web Java EE, ils ont leurs différences. En fait, Spring MVC a été développé afin de répondre à quelques limitations de Struts (version 1). Mais Struts2 est un framework hautement amélioré par rapport à la version 1 (ils ne partagent même pas la même base de code), et par conséquent, Spring MVC et Structs2 sont hautement comparables.
L'un des principaux avantages de Spring MVC est qu'il est possible d'avoir une intégration transparente avec de nombreuses options d'affichage telles que JSP/JSTL, Tiles, FreeMaker, Excel, PDF et JSON. Mais, contrairement à Struts, Spring MVC ne fournit pas de support AJAX intégré (nécessité d'utiliser une bibliothèque AJAX tierce).
En fin de compte, les deux sont considérés comme des frameworks très matures, et choisir entre les deux revient à la préférence personnelle. Il est important de noter ici que s'il y a des sentiments négatifs envers les struts, ils ne sont dus qu'aux lacunes qui ont été trouvées dans la version 1 de Struts (qui est maintenant considérée comme obsolète).