Créez pas à pas votre première application Struts 2. Déclinez votre application en 3 versions différente : une version primaire (V0 puis une version ‘configurée’ en XML (V1), et enfin une version configurée en ‘@nnotations’ (V2)
Objis, spécialiste de la formation Java, est heureux de vous offrir ce
tutoriel, extrait de séances pratiques de la formation Struts 2 dispensée par Objis.
Les + objis
70% de travaux pratiques
Clé USB avec tous les outils utilisés + Corrigés TPs
Bilan pédagogique individuel + conseils
Liens utiles
Documentation Struts 2
API Struts 2
CodeBehind Plugin (gère ‘convention over configuration’ et Zero Configuration (utile avec @nnotations struts 2)
Prérequis, outils et versions
JDK 6
Struts 2.3.1.2
Eclipse JEE Indigo
Tomcat 7
Objectifs
Démarrer un projet Struts 2
Porter l’application Struts2-blank sous Eclipse
Programme
Partie 1 : création projet Eclipse ‘HelloStruts2’
Partie 2 : ajout des librairies Struts 2 dans WEB-INFlib
Partie 3 : configuration fichier web.xml
Partie 4 : création page d’accueil index.html
Partie 5 : déploiement projet HellosStruts2 dans Tomcat
Partie 6 : configuration struts.xml
Partie 7 : Menu de l’application
Partie 8 : package ’example’
Partie 9 : répertoire ’example’
Partie 10 : mise à jour index.html
Partie 11 : déploiement
Partie 12 : migration configuration par @nnotations
Durée
2h.
Rappel : Architecture Struts 2
Expliquez.
Partie 1 : création projet Eclipse ‘HelloStruts2’
Cliquez sur le bouton ‘Next’
Cliquez sur le bouton ‘Next’
Cliquez sur le bouton ‘Finish’
Partie 2 : ajout des librairies Struts 2
copier/coller dans WEB-INFlib les librairies du projet struts2-blank.war (livré avec les applications démo struts 2)
Ajouter ces librairies dans le classpath Eclipse (Les sélectionner puis clic droit–>Add to build path)
Partie 3 : configuration web.xml
Avant :
Modifier comme ceci :
Expliquez.
Partie 4 : page d’accueil index.html
Créez une page index.html à la racine de WebContent (Click-droit sur WebContent puis New->Html).
Ajouter l’image ‘logo_objis.png‘ à la racine de webContent
Partie 5 : déploiement
Analysez les logs de Tomcat :
QUESTION 1 : quels sont les 3 fichiers xml recherchés par le framework Struts 2 pour lors de son chargement en mémoire ?
QUESTION 2 : parmi ces 3 fichiers, quels sont ceux trouvés ?
QUESTION 3 : montrez que le fichier struts-default.xml se trouve dans le jar struts2-core.xx.jar , une des librairies présentes dans WEB-INFlib . A quoi sert ce fichier ?
TELECHARGEZ LE PROJET ECLIPSE A CE STADE
Partie 6 : configuration struts.xml
Créez un fichier struts2.xml à la racine du répertoire src
Ajoutez le contenu suivant :
Expliquez les points 1, 2 et 3 :
— 1) Configuration Struts 2 en mode dévelmoppement. Utile pour debug/exceptions)
— 2) l’url http://localhost:8080/HelloStruts2/Menu.action (par défaut, c’est l’extension .action qui est gérée par struts 2) sera interceptée par Struts2. Ici, aucune classe Action n’est configurée pour gérer cette URL. Le framework forrwarde directement l’utilisateur vers la vue (Result) menu/Menu.jsp
— 3) Alors qu’il serait possible de déclarer tous les packages / actions Struts 2 dans struts2.xml, c’est une bonne pratique de ventiller les actions dans différents fichiers xml (groupement en fonction du fonctionnel)
Partie 7 : Menu de l’application
Créez un fichier menu/Menu.jsp
codez-le ainsi :
Expliquez les lignes 2 et 11
QUESTION : Comment réagit le framework à l’url http://localhost:8080/HelloStruts2/example/Nom.action ?
Partie 8 : package ‘example’
Expliquez
QUESTION : Comment réagit le framework à l’url http://localhost:8080/HelloStruts2/example/HelloObjis.action ?
Partie 9 : répertoire ‘example’
Partie 10 : mise à jour index.html
Partie 11 : déploiement
Cliquez sur le lien.
Expliquez la cinématique ayant entrainé ce rendu
Cliquez
Expliquez la cinématique ayant entrainé ce rendu
Entrez un nom.
Validez
Expliquez la cinématique ayant entrainé ce rendu
TELECHARGEZ LE PROJET ECLIPSE A CE STADE
Partie 12 : configuration par @nnotations
2 étapes clés :
— Etape 1 : mise à jour du fichier web.xml , en précisant les packages à scruter à la recherche de classes Action annotées
— Etape 2 : mise à jour des actions, en ajoutant les
— Etape 3 : supprimer les fichier xml ou on déclarait les actions
Etape 1 : MAJ web.xml en précisant les packages JAva dans lesquels se trouvent les actions Struts 2.
Etape 2 : MAJ Action Struts2
2 choix : implémenter interface ‘org.apache.struts2.config.Action‘ OU respecter convention nommage en suffixant nom des actions par ‘Action’
REMARQUE l’interface Action ne se trouve pas dans le jar de struts2-core .
mais plutôt dans le jar struts2-codebehind-plugin.jar (librairies struts 2 disponibles), qu’il faut rajouter au projet.
Ce jar qui est dédié au ‘zero configuration’ ou ‘convention over configuration’, ç ‘est à dire se base sur des conventions pour déduire une configuration.
L’intégrer dans Build Path Eclipse
Configuration struts.xml
Plus de référence à example.xml
Codage des actions
Analysez le code suivant :
et
Expliquez
Conventions : comment déduire nom actions struts 2 ?
Expliquez
Déploiement
TELECHARGEZ LE PROJET ECLIPSE A CE STADE