Tutoriel Struts 2 N°3 : votre première application Struts 2

/////Tutoriel Struts 2 N°3 : votre première application Struts 2

logo-struts-2.pngCré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

architecture_struts2.png

 Expliquez.

Partie 1 : création projet Eclipse ‘HelloStruts2’

tutoriel-premiere-application-struts2-1

 Cliquez sur le bouton ‘Next’

tutoriel-premiere-application-struts2-2

 Cliquez sur le bouton ‘Next’

tutoriel-premiere-application-struts2-3

 Cliquez sur le bouton ‘Finish’

tutoriel-premiere-application-struts2-4

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)

tutoriel-premiere-application-struts2-5

 Ajouter ces librairies dans le classpath Eclipse (Les sélectionner puis clic droit–>Add to build path)

Partie 3 : configuration web.xml

Avant :

tutoriel-premiere-application-struts2-6

 Modifier comme ceci :

tutoriel-premiere-application-struts2-7

 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).

tutoriel-premiere-application-struts2-8

 Ajouter l’image ‘logo_objis.png‘ à la racine de webContent

tutoriel-premiere-application-struts2-9

Partie 5 : déploiement

tutoriel-premiere-application-struts2-9bis

 

tutoriel-premiere-application-struts2-10

 Analysez les logs de Tomcat :

tutoriel-premiere-application-struts2-11

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

HelloStruts2-V0

Partie 6 : configuration struts.xml

 Créez un fichier struts2.xml à la racine du répertoire src

tutoriel-premiere-application-struts2-13

 Ajoutez le contenu suivant :

tutoriel-premiere-application-struts2-12

 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

tutoriel-premiere-application-struts2-15

 codez-le ainsi :

tutoriel-premiere-application-struts2-14

 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’

tutoriel-premiere-application-struts2-16

 Expliquez

QUESTION : Comment réagit le framework à l’url http://localhost:8080/HelloStruts2/example/HelloObjis.action ?

tutoriel-premiere-application-struts2-17

Partie 9 : répertoire ‘example’

tutoriel-premiere-application-struts2-18

 

Partie 10 : mise à jour index.html

 

tutoriel-premiere-application-struts2-19

Partie 11 : déploiement

tutoriel-premiere-application-struts2-20

 Cliquez sur le lien.

tutoriel-premiere-application-struts2-21

 Expliquez la cinématique ayant entrainé ce rendu

 Cliquez

tutoriel-premiere-application-struts2-22

 Expliquez la cinématique ayant entrainé ce rendu

 Entrez un nom.

 Validez

tutoriel-premiere-application-struts2-23

 Expliquez la cinématique ayant entrainé ce rendu

TELECHARGEZ LE PROJET ECLIPSE A CE STADE

HelloStruts2-V1-2

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.

tutoriel-premiere-application-struts2-26

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 .
tutoriel-premiere-application-struts2-27bis

mais plutôt dans le jar struts2-codebehind-plugin.jar (librairies struts 2 disponibles), qu’il faut rajouter au projet.

tutoriel-premiere-application-struts2-27ter

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

tutoriel-premiere-application-struts2-27

Configuration struts.xml

 Plus de référence à example.xml

tutoriel-premiere-application-struts2-29

Codage des actions

Analysez le code suivant :

tutoriel-premiere-application-struts2-28bis

et

tutoriel-premiere-application-struts2-28ter

 Expliquez

Conventions : comment déduire nom actions struts 2 ?

 Expliquez

Déploiement

 

tutoriel-premiere-application-struts2-28

TELECHARGEZ LE PROJET ECLIPSE A CE STADE

HelloStruts2-V2

2018-01-29T17:02:51+01:00

Contactez nous

241 rue DUGUESCLIN, 69003 Lyon

Web : Objis : spécialiste formation Java