Struts vs Struts2
Struts (également appelé Apache Struts ou Struts 1) est un framework open source multiplate-forme écrit en Java, destiné au développement d'applications Web Java EE. Il s'agissait de l'un des premiers cadres d'application Web Java EE. 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é. Il avait abordé quelques problèmes qui étaient perçus comme des lacunes dans la version initiale. Maintenant, Struts2 est très utilisé pour développer des applications Java EE dans le monde..
Qu'est-ce que Struts??
Struts (Struts 1) est l’un des premiers cadres d’application Web pour le développement d’applications Web Java EE. La structure 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 s'appelait Jakaratha Struts et était géré par le projet Jakarta de la fondation Apache Software. Il est publié 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 Struts2?
Le framework Struts était perçu comme contenant certaines limitations (principalement le manque de séparation entre la couche de présentation, la couche de traitement des demandes et le modèle) par les développeurs Java EE à cette époque, et par conséquent, quelques années plus tard, Struts2 arrivait. En fait, Struts2 était complètement différent de Struts. En fait, ils ne partageaient même pas la même base de code car Struts2 était simplement le résultat du changement de nom du framework WebWork 2.2 (c'est-à-dire, les communautés WebWork et Struts qui travaillaient séparément pendant un certain temps se sont finalement unies pour créer Struts2). Sa version stable actuelle est la version 2.2.3, qui a été publiée en mai 2011..
Quelle est la différence entre Struts et Struts2?
L'un des nombreux problèmes du framework Struts était la nécessité de programmer pour des classes abstraites au lieu d'interfaces. Ceci a été résolu par le framework Struts2. Par exemple, l'infrastructure Struts nécessitait que les classes d'action soient étendues à partir des classes de base abstraites, mais Struts2 Actions peut implémenter une interface d'action. En raison des différences dans le modèle de threading entre les deux versions, des problèmes de sécurité des threads apparus dans le framework Struts en ce qui concerne les objets Action ne se produisent pas dans le framework Struts2. La raison en est que les actions Struts2 Action sont instanciées pour chaque demande, alors qu'une infrastructure Action dans Struts ne dispose que d'une instance pour gérer toutes les demandes de cette action. Contrairement au cadre Actions in Struts, les actions Struts2 ne dépendent pas de l'API Servlet..
La testabilité du framework Struts2 est comparativement supérieure à celle du framework Struts. Vous pouvez tester les actions Struts2 simplement en suivant les trois étapes suivantes: instanciation, définition des propriétés et appel des méthodes. La collecte des entrées est plus facile dans l'infrastructure Struts2, car les propriétés Action sont utilisées comme propriétés d'entrée, sans qu'il soit nécessaire de conserver un deuxième objet d'entrée. Outre la prise en charge de l'intégration JSTL (présente dans Struts), le cadre Struts2 peut utiliser un langage OGNL (Object Graph Notation Language) plus puissant et plus expressif. Pour la conversion de type, Strut et Strut2 utilisent respectivement Commons-Beanutils et OGNL. En raison de ces améliorations, le cadre Struts2 est considéré comme un cadre très mature et il est très populaire parmi les programmeurs Java EE. D'autre part, le framework Struts est maintenant considéré comme obsolète.