Sunday, May 20, 2012
   
Text Size
Login

Apache Struts en action



Présentation du framework

Apache Struts est un framework open-source gratuit pour la création d’applications Web en Java. Il a été initialement développé par Craig Mc Clanahan qui l’a donné au projet Jakarta d’Apache en mai 2000. 

Le framework fournit son propre contrôleur Web et s’intègre avec d’autres technologies proposant le modèle et la vue.

Pour le modèle, le framework peut interagir avec des technologies d’accès aux données tel que JDBC (Java Database Connectivity), EJB (Enterprise Java Beans) et Hibernate. Pour la vue, le framework fonctionne aussi bien avec les JavaServer Pages, incluant les JSTL (Java Standard Tag Libraries) et JSF.

Le contrôleur de Struts agit comme un pont entre le modèle de l’application et la vue Web. Lorsqu’une requête est reçue, le contrôleur invoque la classe Action. La classe Action consulte alors le modèle pour examiner et mettre à jour l’état de l’application. Le framework fournit une classe ActionForm pour faciliter le transfert de données entre le modèle et la vue. Dans la plupart des cas, le modèle est représenté par un ensemble de JavaBeans.

(Source : http://struts.apache.org/1.x/index.html)

Configuration de Struts en quelques mots  

Une application Web Java utilise souvent un descripteur de déploiement nommé « web.xml » permettant d’initialiser les ressources tel que les servlets (module de code Java exécuté sur un serveur d’application) et les taglibs (librairies de balises).

De la même manière, le framework utilise un fichier de configuration nommé « struts-config.xml » pour initialiser ses propres ressources. Ces ressources incluent les ActionForm pour la collecte des données entrées par l’utilisateur, les ActionMappings pour la direction de ses données vers les Actions côté serveur, et  les ActionForwards pour la sélection des pages de sortie. 

Voici une explication de la terminologie employée dans Struts :

ActionForm
Il représente un formulaire HTML avec lequel l’utilisateur interagit à travers une ou plusieurs pages. 
On devra y fournir les attributs permettant de garder l’état du formulaire avec des getters 
et des setters pour y accéder.

Le framework remplit les attributs par les paramètres de la requête et envoi le formulaire après 
validation 
à la méthode execute de l’action appropriée.

L’objet ActionForm offre peut agir aussi en tant que « firewall » entre HTTP et Action 
en fournissant un mécanisme de validation automatique des données d’un formulaire.

Grâce à la méthode validate, le ActionForm produit des messages d’erreurs prédéfinis dans 
l’application.
Bien entendu, cette validation peut être ignorée.
ActionMapping
A fin de fonctionner correctement, notre servlet contrôleur a besoin de savoir comment chaque URI 
(uniform 
resource identifier) de requête doit être acheminé (mapped) à la classe Action appropriée. 
Les informations 
nécessaires sont encapsulées dans une classe Java appelée ActionMapping, qui elle-même tire ses 
informations 
de la balise action du fichier « struts-config.xml ». Les propriétés les plus importantes de cette 
balise
 sont
 les suivantes :

type : Nom complet de la classe Java d’implémentation de l’Action utilisé par le mapping.
name : Nom de l’ActionForm qu’utilisera l’Action. Ce nom est défini dans la balise <form-bean> 
du fichier struts-config.
path : Chemin utilisé pour désigner le mapping.
Balise forward : Couple Jeton/Chemin vers la cible.

Exemple de balise action :

<action input=”/LoginForm.jsp”

name=”NewStrutsActionForm”

path=”/login”

type=”com.myapp.actions.NewStrutsAction”>

<forward name=”success” path=”/loginsuccessful.jsp”/>

</action> 
Actions

Le but de la classe Action est de traiter une requête via sa méthode execute et de retourner
 unActionForward 
qui détermine où le contrôle doit être dirigée (par exemple une JSP ou une autre Action) pour produire 
la réponse voulue.

public ActionForward execute(ActionMapping mapping,

ActionForm form,

ServletRequest request,

ServletResponse response)

throws Exception;

Voici l’explication des objets en paramètres :

mapping : La « carthographie » de sélection de la cible.
form : Le bean ActionForm associé à cette requête.
request : La requête HTTP traitée.
response : La réponse HTTP traitée.

(Source : http://struts.apache.org/1.x/index.html)

Comments

Post new comment

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.

Pourquoi donc ce blog?

Salut à tous ! Soyez les bienvenus sur ce blog !
Sur ce blog, vous trouverez mes réalisations et mes trouvailles sur tout ce qui tourne autour du développement informatique, des sites coups de coeur et insolites.
Profitez au mieux de votre visite & keep in touch.

Walid Charfi