Tutoriel struts 2 : struts2-blank dans eclipse

/////Tutoriel struts 2 : struts2-blank dans eclipse

logo-struts-2.pngMaî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 ?

presentation-objis-conseil-formation-java-soa2.png

Rappel : Architecture Struts 2

architecture_struts2.png

 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 :

tutoriel-struts2-portage-struts2-blank-eclipse

Et dans la vue ‘Servers’ d’Eclipse :

tutoriel-struts2-portage-struts2-blank-eclipse-1

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

tutoriel-struts2-portage-struts2-blank-eclipse-2

L’écran suivant apparaît

tutoriel-struts2-portage-struts2-blank-eclipse-3

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

tutoriel-struts2-portage-struts2-blank-eclipse-4

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

tutoriel-struts2-portage-struts2-blank-eclipse-5

 Ajoutez les librairies au ClassPath Eclipse (sélectionnez les librairies, puis clic-droit / Add build path)

tutoriel-struts2-portage-struts2-blank-eclipse-6

 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 :

tutoriel-struts2-portage-struts2-blank-eclipse-7

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

tutoriel-struts2-portage-struts2-blank-eclipse-8

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)

tutoriel-struts2-portage-struts2-blank-eclipse-9

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’

tutoriel-struts2-portage-struts2-blank-eclipse-10

 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.

tutoriel-struts2-premiere-application-struts-2-struts-default-interceptors-2

 

tutoriel-struts2-premiere-application-struts-2-struts-default-interceptors-3

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)

tutoriel-struts2-portage-struts2-blank-eclipse-11

Partie 6 :page d’accueil

Copier dans WebContent le fichier index.html de struts2-blank (Struts2-blankindex.html)

tutoriel-struts2-portage-struts2-blank-eclipse-12

 

tutoriel-struts2-portage-struts2-blank-eclipse-13

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 …

tutoriel-struts2-portage-struts2-blank-eclipse-14

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)

tutoriel-struts2-portage-struts2-blank-eclipse-15

Le contenu du fichier est le suivant :

tutoriel-struts2-portage-struts2-blank-eclipse-16

Partie 8 : actions du example.xml

tutoriel-struts2-portage-struts2-blank-eclipse-17

 

tutoriel-struts2-portage-struts2-blank-eclipse-18

 

tutoriel-struts2-portage-struts2-blank-eclipse-19

Partie 9 : page HelloWorld.jsp

tutoriel-struts2-portage-struts2-blank-eclipse-20

Partie 10 : déploiement

tutoriel-struts2-portage-struts2-blank-eclipse-21

 Run/Run as / Run on server

tutoriel-struts2-portage-struts2-blank-eclipse-22

 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

2018-01-29T13:07:12+01:00

Contactez nous

241 rue DUGUESCLIN, 69003 Lyon

Web : Objis : spécialiste formation Java