Différence entre Struts et Struts2

Anonim

Struts vs Struts2

Struts (également connu sous le nom d'Apache Struts ou Struts 1) source framework écrit en Java, destiné au développement d'applications web Java EE. C'était l'un des premiers frameworks d'applications web Java EE. Mais quelques années plus tard, Struts2 (ou Struts version 2) est arrivé, et c'était un cadre d'application web complètement différent et très amélioré. Il avait abordé quelques questions qui étaient perçues 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?

Le framework Struts (Struts 1) était l'un des premiers frameworks d'applications Web pour développer des applications Web Java EE. Le framework 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. Au départ, il était connu sous le nom de Jakaratha Struts et a été maintenu sous le projet Jakarta de la Fondation Apache Software. Il est publié sous Apache License 2. 0. Le framework Struts s'appelle un framework basé sur la requête et se compose de trois composants principaux: un gestionnaire de requêtes, un gestionnaire de réponses et une bibliothèque de balises. URI standard (Uniform Resource Identifier) ​​est mappé à un gestionnaire de requêtes. Le gestionnaire de réponse est responsable du transfert du 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 supporte les applications REST et diverses technologies comme SOAP, AJAX, etc.

Qu'est-ce que Struts2?

Struts2 a été perçu comme présentant certaines limitations (principalement l'absence de séparation entre la couche de présentation, la couche de gestion des requêtes et le modèle) par les développeurs Java EE à ce moment-là et, quelques années plus tard, Struts2 est arrivé. 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). Sa version stable actuelle est la version 2. 2. 3, sortie 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 des classes abstraites plutôt que des interfaces. Ceci a été résolu par le framework Struts2. Par exemple, le framework Struts exigeait 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 thread entre les deux versions, les problèmes de sécurité liés au thread qui sont apparus dans le framework Struts concernant les objets Action ne se produisent pas dans le cadre Struts2.La raison en est que Struts2 Action est instanciée pour chaque requête, alors qu'une Action dans Struts framework n'a qu'une seule instance pour gérer toutes les requêtes pour cette Action. Contrairement au framework Actions dans Struts, les actions Struts2 ne dépendent pas de l'API Servlet.

La testabilité du framework Struts2 est comparativement supérieure au framework Struts. Vous pouvez tester les actions Struts2 en suivant simplement les trois étapes: instanciation, définition des propriétés et invocation des méthodes. La collecte d'entrée est plus facile dans le cadre Struts2 car les propriétés d'action sont utilisées comme propriétés d'entrée, sans devoir conserver un deuxième objet d'entrée. Outre la prise en charge de l'intégration JSTL (qui est présente dans Struts), le framework 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 framework Struts2 est considéré comme un framework très mature et il est très populaire parmi les programmeurs Java EE. D'autre part, le framework Struts est désormais considéré comme obsolète.