Maîtrisez le portage sur Eclipse de l’application struts2-blank. Déployez Struts2-blank dans Eclipse Indigo / tomcat 7. Développez la méthodologie et des reflexes vous permettant de démarrer plus facilement par la suite vos propres applications Struts 2
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
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 0 : serveur d’application cible
Partie 1 : Créer un projet web dynamique ‘demostruts2blank’
Partie 2 : librairies struts 2 blank
Partie 3 : fichier de configuration web.xml
Partie 4 : fichier de configuration struts.xml
Partie 5 : page d’erreur : error.jsp
Partie 6 : page d’accueil
Partie 7 : package ‘example’
Partie 8 : actions du example.xml
Partie 9 : page HelloWorld.jsp
Partie 10 : déploiement
Durée
2h.
Qui sommes-nous ?
Rappel : Architecture Struts 2
Expliquez.
Partie 0 : intégration serveur d’application cible dans Eclipse
Intégrez le serveur d’application cible (ici Tomcat 7) dans Eclipse. Voir tutoriel Objis : intégration Tomcat 6 dans Eclipse – adapter avec Eclipse Indigo JEE et Tomcat 7.
Une fois cette tache réalisée, voici ce qui apparaît dans dans la vue ‘package Explorer’ d’Eclipse :
Et dans la vue ‘Servers’ d’Eclipse :
Vous pouvez désormais démarrer votre serveur d’application à partir d’Eclipse.
Prochaine étape : créer votre projet struts 2 .
Partie 1 : création projet ‘demostruts2-blank’
Dans Eclipse, File / New / Dynamic web project
L’écran suivant apparaît
Notez qu’eclipse affecte directement le serveur cible lors de la création d’un projet d’application web. Ici , grace à Tomcat 7, nous pourrons faire bénéficier à notre projet des spécifications Servlet 3.0 / JSP 2.4
donnez un nom au projet , ici ‘demostruts2-blank’ puis bouton finish
REMARQUE : Eclipse ne crée pas par défaut de fichier web.xml . En effet , depuis JEE 5 et la valorisation des annotations pour le développement JEE, le fichier web.xml est devenu facultatif
RAPPEL : en cas de configuration via @nnotation et via web.xml, c’est la configuration du web.xml qui est prioritaire.
Partie 2 : librairies struts 2 blank
Copier-coller dans WebContentWEB-INFlib les librairies de struts2-blank.war (Struts2-blankWEB-INFlib) :
Ajoutez les librairies au ClassPath Eclipse (sélectionnez les librairies, puis clic-droit / Add build path)
Validez qu’Eclipse prendra bien compte de ces jars lors du développement . Clic-droit sur le projet puis configure build path . L’écran suivant apparaît :
La partie ‘Librairies’ est terminée. Continuons avec le fichier de configuration web.xml
QUESTION : Quelle est la valeur ajoutée de l’action d’ajout des librairies dans le ‘build path’ d’Eclipse ?
Partie 3 : fichier de configuration web.xml
Copier-coller dans WebContentWEB-INF le fichier web.xml de struts2-blank (Struts2-blankWEB-INFweb.xml).
QUESTION 1 : à quoi sert ce fichier web.xml dans l’architecture d’une application Struts 2 ?
QUESTION 2 : Qu’est ce qu’un filtre JEE ? En utilisant la javadoc JEE sur l’interface javax.servlet.Filter, proposer 5 exemples d’utilisation d’un Filtre dans une application JEE.
QUESTION 3 : expliquez ce qu’est le filtre StrutsPrepareAndExecuteFilter (qui remplace le FilterDispatcher depuis la version 2.1.3 de Struts 2). A quelles requêtes s’applique ce filtre d’après la configuration du web.xml ?
Partie 4 : fichier de configuration struts.xml
Copier-coller à la racine des sources ‘src’ du projet eclipse le fichier struts.xml de struts2-blank.war (Struts2-blankWEB-INFclassesstruts.xml)
Ce fichier est le point de départ de la configuration applicative. c’est le deuxième fichier à configurer après web.xml
La section la plus importante de ce fichier est la déclaration d’un ‘package’
Expliquez les attributs de la balise ‘package’. A quoi sert l’attribut extends ? Qu’est ce que le package ‘struts-default’ ?
INFO : en utilisant le fichier struts-default.xml présent à la racine du jar de struts2-core (ici struts2-core-2.3.1.2.jar présent dans WEB-INFlib) montrez que ‘struts-default’ correspond à un ensemble prédéfinis d’intercepteurs struts 2.
Partie 5 : page d’erreur
Le fichier stuts.xml met en lumière une gestion d’erreur .
Copier dans WebContent le fichier error.jsp de struts2-blank (Struts2-blankerror.jsp)
Partie 6 :page d’accueil
Copier dans WebContent le fichier index.html de struts2-blank (Struts2-blankindex.html)
Notez la redirection HTTP vers example/HelloWorld.action
QUESTION : comment le serveur va t’il réagir à l’URL http://localhost:8080/demostruts2-blank/example/HelloWorld.action ?
Dans la terminologie Struts2, le serveur va rechercher la déclaration d’une action struts 2 nommée ‘HelloWorld‘ dans un namespace struts 2 nommé ‘/example‘.
REMARQUE : vous pouvez donnez le même nom de namespace à deux package différents.
Le framework va donc rechercher dans un premier temps la configuration d’un package nommé ‘example’.
Or actuellement il n’ya qu’un package nommé ‘default’…c’est sans compter sur la déclarartion d’un import ‘example.xml’ dans le fichier struts.xml …
Il est temps d’ajouter le fichier example.xml
Partie 7 : package ‘example’
Copier-coller à la racine des sources ‘src’ du projet eclipse le fichier example.xml de struts2-blank.war (Struts2-blankWEB-INFclassesexample.xml)
Le contenu du fichier est le suivant :
Partie 8 : actions du example.xml
Partie 9 : page HelloWorld.jsp
Partie 10 : déploiement
Run/Run as / Run on server
Expliquez le titre HelloWorld.message.
Conclusion
Dans ce tutoriel, vous avez mis en oeuvre une méthode de portage dans Eclipse de struts2-blank, point de départ de vos développements Struts 2.
Pour aller plus loin : Formation STRUTS 2 Objis
Faîtes comme nos clients : choisissez Objis pour votre formation STRUTS 2:
70% travaux pratiques ,
Exercices de reformulation orale
Exercices de mise en situation.
Gagnez en confiance. Prenez du recul.
Clé USB avec cours + outils + TPs + Correction TPs