Apache Struts est unframeworklibre servant au développement d'applications webJava EE. Il utilise et étend l'APIServlet Java afin d'encourager les développeurs à adopter l'architectureModèle-Vue-Contrôleur (MVC).
Apache Struts a été créé parCraig McClanahan et donné à lafondation Apache enmai 2000. Struts a fait partie du projetJakarta de jusqu'en[4],[5].
Struts 1.3.10, produite en 2008, est la dernière version de production de Struts 1.
Le, Apache annonce officiellement, en utilisant le terme End-Of-Life (EOL), que la version Struts 1 n'est plus supportée[6],[7].
En, Struts a joint ses forces avec un autre canevas J2EE populaire, WebWork.
Initialement nommé Webwork2, ce nouveau framework dont les caractéristiques n'ont plus rien à voir avec la version 1 de Struts, prendra cependant le nom deApache Struts 2[8].
C'est le nouveauframework de présentation de la communauté Open Source Apache.C'est unframeworkJava EE développé à partir de deux autresframeworkJava EE :Struts 1 (Apache Struts) et WebWork. Il devait initialement être publié sous le nom de WebWork2, avant d'être finalement publié sous son nom actuel[9].
Mise à jour sécurité: 2.5.14.1.
Liste des vulnérabilités par années:https://www.cvedetails.com/product/6117/Apache-Struts.html?vendor_id=45
Apache Struts 2 est unframework Java, pour le développement d'applications Web. Ce n'est pas une extension de Apache Struts 1.
Struts 2 regroupe les avantages de deux précédents outils, WebWork et Struts 1, mais c'est une refonte complète.;Cette seconde génération deframework MVC (Modèle-vue-contrôleur) utilise les notions suivantes : intercepteurs, annotations, langage d'expression OGNL[10], l'intégration d'outils commeJSTL (JavaServer Pages Standard Tag Library) ouSpring framework.
Cette infrastructure permet la conception et l'implémentation d'applications Web de taille importante par différents groupes de personnes. En d'autres termes, les designers, développeurs decomposants logiciels peuvent gérer leur propre part du projet de manière découplée.
Struts permet la structuration d'une application Java sous forme d'un ensemble d'actions représentant des événements déclenchés par les utilisateurs de l'application. Ces actions sont décrites dans unfichier de configuration de typeXML décrivant les cheminements possibles entre les différentes actions. En plus de cela, Struts permet d'automatiser la gestion de certains aspects comme la validation des données entrées par les utilisateurs via l'interface de l'application. Plus besoin de venir coder le contrôle de chaque donnée fournie par un utilisateur, il suffit de décrire les vérifications à effectuer dans un fichier XML affecté à cette tâche.
En utilisant Struts, le développeur simplifie son travail au niveau des vues et des contrôleurs du modèle MVC. Mais il serait inadapté d'utiliser ce framework dans des projets de petite taille car il introduit une certaine complexité. Struts montre toute sa puissance dans des applications d'une certaine envergure.
Struts est unlogiciel libre distribué selon les termes de lalicence Apache.
Struts est une application mature et correctement documentée. Elle fait face à de nouvelles infrastructures MVC plus légères telles queApache Tapestry ouJSF.
Parmi les autres canevas MVC non basés surJava, on peut citerRuby on Rails,Zend,Django,Symfony,Catalyst, etTurbogears.
| Python | |||||
|---|---|---|---|---|---|
| PHP | |||||
| Ruby | |||||
| Perl | |||||
| Smalltalk | Seaside | ||||
| JavaScript |
| ||||
| CSS | |||||
| Java | |||||
| .NET | |||||