Le framework Web Apache Struts est une solution libre de source ouverte pour créer des applications Web Java.
Plus d'informations peuvent être trouvées sur la page d'accueil. Veuillez lire le guide de sécurité et les Javadocs peuvent être parcourus. Les questions liées à l'utilisation d'Apache Struts doivent être publiées sur la liste de diffusion des utilisateurs.
Les applications Web diffèrent des sites Web conventionnels dans la mesure où les applications Web peuvent créer une réponse dynamique. De nombreux sites Web ne livrent que des pages statiques. Une application Web peut interagir avec les bases de données et les moteurs de logique métier pour personnaliser une réponse.
Les applications Web basées sur les pages Javaserver commodent parfois le code de base de données, le code de conception de page et le code de flux de contrôle. Dans la pratique, nous constatons qu'à moins que ces préoccupations ne soient séparées, les applications plus importantes deviennent difficiles à maintenir.
Une façon de séparer les préoccupations dans une application logicielle consiste à utiliser une architecture Model-View-Controller (MVC). Le modèle représente le code commercial ou de base de données, la vue représente le code de conception de page et le contrôleur représente le code de navigation. Le cadre Struts est conçu pour aider les développeurs à créer des applications Web qui utilisent une architecture MVC.
Le cadre fournit trois composants clés:
L'architecture et les balises du cadre sont conformes aux mots à la mode. Struts fonctionne bien avec les applications de repos conventionnelles et avec des technologies comme SOAP et AJAX.
Le projet Apache Struts est la communauté open source qui crée et maintient le framework Apache Struts. Le projet se compose d'un groupe diversifié de bénévoles qui partagent des valeurs communes concernant le développement open source collaboratif et communautaire. Le projet Apache Struts est fier de partager ces valeurs avec notre organisation mère: la Fondation des logiciels Apache.
Le projet est appelé «entretoises» car le cadre est destiné à fournir les «fondements invisibles» qui soutiennent le développement d'applications professionnelles. Struts fournit la colle qui rejoint les différents éléments de la plate-forme Java standard en un tout cohérent. Notre objectif est de tirer parti des normes existantes en produisant les pièces manquantes dont nous avons besoin pour créer des applications de qualité d'entreprise qui sont faciles à maintenir au fil du temps.
Le projet Apache Struts a offert deux versions majeures du cadre Struts. Actuellement, nous ne maintenons que la version Struts 2. Il est recommandé de mettre à niveau toutes les applications Struts 1.x à Struts 2. Veuillez ne pas démarrer le développement des applications de nouveaux applications à l'aide de Struts 1.x, car nous ne publions plus de correctifs de sécurité.
Struts 2 était à l'origine connu sous le nom de webwork 2. Après avoir travaillé de manière indépendante pendant plusieurs années, les communautés Webwork et Struts ont uni leurs forces pour créer Struts 2. Le cadre 2.x est le meilleur choix pour les équipes qui apprécient les solutions élégantes à des problèmes difficiles.
Apache Struts est un cadre Web moderne, entretenu et complet. Comme il y a depuis des années et a grandi une énorme base d'utilisateurs, il est peu probable qu'elle disparaisse de sitôt. Non seulement cela, nous avons des utilisateurs et des développeurs dédiés sur le projet. Apache Struts est concédé sous licence Apache 2.0 et cela ne changera pas. Nous maintenons une IP propre et vous êtes «en sécurité» pour utiliser le projet. Parfois, vous n'êtes pas «sûr» d'utiliser un projet lorsqu'une entreprise contrôle le SCM. L'accès au code source ne signifie pas qu'il est gratuit. Avec Apache Struts, vous n'êtes pas seulement libre de «faire ce que vous voulez», vous pouvez même contribuer (ce qui n'est pas toujours le cas). Et le meilleur de tous: vous pouvez également faire partie de l'équipe de base.
Il est généralement très facile d'intégrer d'autres technologies avec des jambes de force Apache. Si vous utilisez un orm comme Apache Cayenne, Hibernate ou JDBC, vous n'aurez aucune restriction. Apache Struts n'est même pas trop liée à une technologie frontale. Autrefois, c'était JSP, puis est venue Velocity et Freemarker. De nos jours, vous pourriez créer votre application Web avec juste un HTML statique et un AngularJS. Ou vous voudrez peut-être utiliser SiteMesh ou Tiles. Tout cela n'est pas un problème en raison des mécanismes d'extension élégants et faciles à utiliser de Struts.
Contrairement à d'autres cadres orientés vers les composants, nous ne visons pas à masquer la nature apatride du Web. Nous pensons qu'il est parfaitement acceptable de s'appuyer sur un cycle de demande / réponse. Nous pensons également que le modèle MVC n'est pas si mauvais, juste parce qu'il est vieux. En fait, nous pensons que l'architecture d'Apache Struts est propre et facile à comprendre.
Bien sûr, si vous souhaitez construire des composants du côté serveur qui rendent du côté avant, vous ne voudrez probablement pas de jambes de force. Il s'agit d'une approche différente qui promet de réduire la quantité de connaissances HTML / JavaScript nécessaires et de créer des composants réutilisables pour la couche de vue. Des projets comme le guichet et la tapisserie servent très bien cet objectif. Comme pour chaque cadre, vous devez décider s'il est logique pour vous de construire des composants ou si vous préférez l'approche des entretoises.
La communauté d'Apache Struts n'offre pas de soutien commercial en soi.
Certains mainteneurs d'Apache Struts travaillent avec Tidelift pour fournir un soutien commercial et investir du temps de travail payé dans l'amélioration du cadre d'Apache Struts. Pour plus d'informations, visitez les ressources Tidelift concernant les jambes de force Apache