Selon la définition des auteurs, Struts est un framework Open Source écrit entièrement en JAVA qui permet de construire des applications Web.
Struts est construit autour de technologies qui ont fait leurs preuves comme les servlets JAVA, les JavaBeans, le formalisme XML, ... .
Struts implémente le design pattern MVC Model 2.
Le framework Struts fournit le minimum vital pour construire une application Web professionnelle.
Struts est un projet soutenu par l'Apache Software Foundation. La page officelle se trouve à cette adresse: http://struts.apache.org/.
Struts a été crée par Craig R. McClanahan, puis offert à la fondation Apache en Mai 2000.
Craig Mc Clanahan a aussi été à l'origine de Tomcat 4, l'implémentation officielle de référence des conteneurs Servlet 2.3 et JSP 1.2.
Il est aujourd'hui le lead manager du projet Java Server Faces (JSR-127) et l'architecte de la couche de presentation Web de la plateforme J2EE chez Sun.
17 autres personnes contribuent activement au développement de ce projet.
Le conteneur de Servlet attends d'un fichier de bienvenue référencé dans un noeud <welcome-file> qu'il soit un fichier physique (une page JSP, un fichier plat...).
Ainsi vous ne pouvez pas mapper directement une Action comme fichier de bienvenue.
Toutefois, il est possible de définir dans une page JSP très simple, un forward automatique grâce à la balise <logic:forward>.
Ce forward se chargera alors de retourner l'action demandée.
Il permet de définir un ResourceBundle par défaut et des ResourceBundles personalisés.
Chaque ResourceBundle personalisé doit être identifié par une clé dans le fichier struts-config.xml :
Pour utiliser plusieurs fichiers de configuration pour un seul module Struts, il suffit de les déclarer dans le paramètre d'initialisation config, séparés par une virgule.
En général, après avoir invoqué une Action, vous souhaitez êtres redirigé vers l'un des mapping définit dans votre fichier de configuration struts-config.xml.
Si à la fin de votre Action vous choisissez le <forward> de nom "jsp", Struts va vous renvoyer la page jsp.jsp, mais sans changer l'url http://monserveur/monapplication/monAction.do dans votre navigateur.
Or il peut être intéréssant ou souhaité parfois de changer l'url affichée dans le navigateur pour laisser apparaitre la véritable url de la ressource affichée.
Struts fournit pour cela un attribut qu'il suffit d'ajouter dans ll'élément <forward>: l'attribut rediirect="true".