Struts vs Spring MVC
Le cadre Struts est l’un des premiers cadres d’application Web permettant de développer des 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é. Il s’agissait d’un framework d’applications Web complètement différent et très amélioré. Maintenant, 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 appelé Apache Struts) est un framework open source multiplate-forme é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 géré dans le cadre du projet Jakarta de la fondation Apache Software. Sa version stable actuelle est la version 2.2.3, publiée en mai 2011. Elle est publiée sous Apache License 2.0. Le cadre Struts est appelé un cadre basé sur les demandes et se compose de trois composants principaux: un gestionnaire de demandes, un gestionnaire de réponses et une bibliothèque de balises. L'URI standard (identificateur de ressource uniforme) est mappé à un gestionnaire de demandes. Le gestionnaire de réponses est responsable du transfert du contrôle. Pour créer des applications interactives avec des formulaires, vous pouvez utiliser les fonctionnalités offertes par la bibliothèque de balises. 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 principales du framework Spring. Il existe plusieurs modules dans le cadre Spring, et MVC en est un. Le cadre Spring MVC ne faisait pas partie de leur plan initial. En fait, la raison pour laquelle les développeurs Spring ont proposé leur propre framework MVC était de fournir des solutions à ce qu'ils avaient montré comme des défauts dans les Struts (version 1) et d'autres frameworks similaires. En particulier, ils ont indiqué qu'ils souhaitaient 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 une infrastructure d’application Web basée sur des requêtes..
Quelle est la difference entre Struts et Spring MVC?
Spring MVC et Struts sont deux frameworks d’application Web populaires utilisés pour développer des applications Web Java EE, mais ils présentent des différences. En fait, Spring MVC a été développé pour 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, les mosaïques, FreeMaker, Excel, PDF et JSON. Cependant, contrairement à Struts, Spring MVC ne fournit pas de support AJAX intégré (il est nécessaire d’utiliser une bibliothèque AJAX tierce)..
En fin de compte, les deux sont considérés comme des cadres très matures, et choisir entre les deux dépend de la préférence personnelle. Il est important de noter ici que s’il existe des sentiments négatifs à l’égard de Struts, ils ne sont dus qu’aux défauts constatés dans la version 1 de Struts (qui est maintenant considérée comme obsolète).