TP STRUTS 1 Pré

Transcription

TP STRUTS 1 Pré
Institut Galilée
Année 2015-2016
Programmation et Logiciels sûrs
Master 2 PLS
TP STRUTS
Résumé
L’objectif de ce TP est de découvrir le framework Struts 2 à travers divers exemples, pour la plupart tirés du
cours. On s’attachera principalement à la partie présentation, les parties modèles et interaction avec les bases de
données étant traitées dans d’autres chapitres (Spring).
Ce TP est obligatoire pour réaliser le projet PAWS.
1
Pré-requis
1.1
L’environnement de développement
Pour ce TP, l’environnement de développement utilisé est Netbeans, entre autres pour le fait que l’IDE intègre le
serveur d’applications Glassfish.
Cet environnement est disponible dans les salles de TP de Galilée.
Dans tous les cas, le lecteur pourra trouver une version Linux de ces applications à cette adresse :
https ://lipn.univ-paris13.fr/∼fortier/Enseignement/Applications/
Netbeans intègre parfois des outils et plugins permettant de simplifier la mise en oeuvre de Struts. Pour comprendre
l’ensemble du fonctionnement, ces outils ne seront pas utilisés.
1.2
Les librairies nécessaires
Les librairies nécessaires sont téléchargeables à cette adresse :
https ://lipn.univ-paris13.fr/∼fortier/Enseignement/Struts/TP/
Il s’agit :
— de certaines librairies Struts 2 :
— struts2-core.jar
— struts2-tiles-plugin.jar
— struts2-spring-plugin.jar
— ...
— de certaines libriries Apache :
— commons-logging.jar
— commons-validator.jar
— tiles-core.jar
— ...
1
2
Une première application Struts
Ce premier TP permet d’implémenter l’exemple du cours et de saisie un premier formulaire dans une vue. Le
contrôleur envoit le traitement à la classe action qui traite la donnée du formulaire avant de lancer la seconde vue
(succes ou erreur).
— Créer un projet Java Web (Web Application) HELLO
— Dans les propriétés du projet, ajouter toutes les librairies nécessaires (Cf. pré-requis), sans Spring
— A l’aide du cours, ajouter la servlet Struts dans le fichier web.xml
— S’appuyer sur le cours pour écrire les 3 vues index.jsp, succes.jsp et erreur.jsp
— Créer l’action Hello.java
— Configurer struts.xml
— Tester l’application
— Ajouter le plugin de visualisation de la configuration de Struts
— Parcourir la page config-browser
3
Utilisation des TAGS
— Créer un projet d’application web TAGS incluant les librairies nécessaires, sans Spring
— Tester le TAG Bean via l’exemple du convertisseur de devise vu en cours
— Créer le bean modele
— Créer la page JSP utilisant le bean
— Tester le TAG Logic via l’exemple du cours
— Créer le bean individu
— Créer la classe Action enrichissant une liste d’individu
— Créer la page JSP effectuant l’itération
— Modifier la configuration de Struts pour prendre en compte l’action précédente
— Tester les différents champs de formulaire proposés par Struts
— Créer une page JSP contenant un formulaire disposant des champs textfield, password, radio, select, textarea,
checkboxlist, checkbox
— Créer la classe Action permettant d’accéder à ces différents champs
— Ajouter dans cette classe une méthode de peuplement de données (checkboxlist, select...) et une méthode
d’exécution du formulaire
— Modifier la configuration de Struts pour prendre en compte les actions précédentes
— Tester l’accès à la JSP et la validation du formulaire
— Créer la page index.jsp composée des liens d’accès aux pages précédentes
4
Validation des données
— Copier le projet TAGS en VALIDATION
— A partir du cours, tester la validation du formulaire d’identification
— Créer la page login.jsp
— Implémenter l’action Login.java
— Modifier la configuration de Struts
— Tester les deux méthodes de validation
— Reprendre le formulaire d’enregistrement
— Créer le fichier de validation EnregistrementAction-validation.xml
— Ajouter des validations sur les champs nom (obligatoire), mdp (au moins 8 caractères)
— Tester la validation du formulaire
→ disfonctionnement ?
— Corriger le code pour que la validation ne soit pas prise en compte lors de l’accès au formulaire
5
Localisation
Le but de ce TP est de créer une page disponible en anglais et en francais. Tous les messages doivent être inclus
dans des fichiers de propriétés extérieurs au code (Java et Jsp).
Il faut largement s’inspirer du cours pour réaliser le travail.
— Créer un projet d’application web incluant les librairies Struts
— Configurer struts pour permettre l’internationalisation de l’application
— Créer les fichiers de propriétés des messages globaux
— Créer une page accueil.jsp pour tester la récupération des propriétés
— Créer une action permettant de charger la page accueil.jsp au démarrage du serveur d’applications
— Tester la récupération des paramètres
2
— Créer un formulaire de recherche de propriété dans accueil.jsp
— Créer la classe TraduitAction.java
— elle contient deux attributs : la clé + la traduction
— elle contient la méthode traduit qui recherche la valeur de la clé et retourne le résultat
— Référencer l’action dans le fichier struts.xml
— Tester la récupération des différentes propriétés créées précédemment
Et la suite :
— Enrichir les propriétés pour faire en sorte qu’il n’y ait plus de texte dans accueil.jsp
6
Layout
Le
—
—
—
—
—
—
—
—
but de ce TP est de créer une page web à partir de templates Tiles, comme vu en cours.
Créer un projet d’application web incluant les librairies Struts
Configurer Tiles et Struts
configurer les layouts de Tiles dans tiles.xml
Ecrire les layouts base.jsp, header.jsp, footer.jsp... en s’appuyant sur l’arborescence du cours
Créer les 3 pages accueil.jsp, contact.jsp et about.jsp
Ecrire l’action TilesAction.java permettant de rediriger les vues
Adapter struts.xml pour prendre en compte les actions précédentes
Tester le rendu
Et la suite :
— Ajouter une nouvelle page enregistrement.jsp
7
Intégration de Spring
Le but de ce TP est d’intégrer Spring à Struts pour pouvoir bénéficier de l’IOC, et de pouvoir utiliser par la suite
les couches métier et DAO.
— Copier le projet HELLO
— Ajouter les librairies Spring et le plugin struts-spring
— Implémenter l’exemple du cours
— Ajouter un champ message2 dans l’action Hello qui représente le message de succès
— Modifier la classe action pour tester la concordance des deux messages
— Initialiser la valeur de message2 dans Spring
— Tester
3

Documents pareils

Développement Java avec Struts 2.0

Développement Java avec Struts 2.0 de la librairie de tags « struts-tags »Déployer une application Struts 2 sous TomcatTraiter les cas d’erreurs à l’aide des mécanismes de validationRéaliser des modèles de présentation avec « Tiles ...

Plus en détail

Développer des applications Web avec STRUTS 2.x

Développer des applications Web avec STRUTS 2.x LA COUCHE CONTROL - La configuration : les fichiers web.xml, struts.xml et struts.properties - Le filtre « FilterDispatcher » - Les actions Struts 2 et la méthode « execute » - Les différentes impl...

Plus en détail

Struts 2, développer des applications Web MVC

Struts 2, développer des applications Web MVC Les exercices ont été conçus pour illustrer tous les éléments du framework et leur mise en oeuvre dans le cadre d'un développement industriel.

Plus en détail

Introduction à Struts 2

Introduction à Struts 2 Le gestionnaire de requêtes fourni par le développeur de l'application qui permet de lier un comportement à une URL Le gestionnaire de réponses qui permet de transférer le contrôle vers une autre r...

Plus en détail