Prise en main du framework Struts 2 Java EE


Dans le développement traditionnel java EE d'une application se basant sur les modèles MVC, l'inconvénient au niveau architecture réside dans le fait qu'il faut définir un grand nombre de servlets afin de répondre à toutes les demandes clientes.

 Le MVC2 améliore les choses en rendant unique le contrôleur, et ce, quelque soit lle nombre de vues(donc de JSPs) requises. C'est à dire que toutes les requêtes HTTP sont renvoyées vers le même contrôleur(la même servlet). Ce dernier est alors chargé de dispatcher les traitements vers le modèle(javaBeans ou EJBs), puis vers les vues(JSP) du système. Ce mapping pouvant être rélisé de manière déclarative.

Struts met en oeuvre le modèle MVC 2 basé sur une seule servlet faisant office de contrôleur et des JSP pour l'IHM. L'application de ce modèle permet une séparation en trois parties distinctes de l'interface, des traitements et des données de l'application.

Struts se concentre sur la vue et le contrôleur. L'implémentation du modèle est laissée libre aux développeurs : ils ont le choix d'utiliser des JavaBeans, un outil de mapping objet/relationnel, des EJB ou toute autre solution.

Pour le contrôleur, Struts propose une unique servlet par application qui lit la configuration de l'application dans un fichier au format XML. 

Cette servlet de type ActionServlet reçoit toutes les requêtes de l'utilisateur concernant l'application. En fonction du paramétrage, elle instancie un objet de type Action qui contient les traitements et renvoie une valeur particulière à la servlet. 

Celle-ci permet de déterminer la JSP qui affichera le résultat des traitements à l'utilisateur. 

Les données issues de la requête sont encapsulées dans un objet de type ActionForm. Struts va utiliser l'introspection pour initialiser les champs de cet objet à partir des valeurs fournies dans la requête. 

Struts utilise un fichier de configuration au format XML (struts-config.xml) pour connaître le détail des éléments qu'il va gérer dans l'application et comment ils vont interagir lors des traitements. 

Pour la vue, Struts utilise par défaut des JSP avec un ensemble de plusieurs bibliothèques de tags personnalisés pour faciliter leur développement. Struts propose aussi plusieurs services techniques : pool de connexions aux sources de données, internationalisation, ...


0 Commentaires