Annuaire de gestion du personnel

Transcription

Annuaire de gestion du personnel
EC726 – Programmation avancée
TP 5 – Annuaire de gestion du personnel
Objectifs :
— Comprendre le fonctionnement d’une application Web Dynamique JEE ;
— Etre capable de créer une servlet, une page jsp ;
— Mettre en oeuvre un projet JEE.
A l’issue de ce TP, vous aurez appris à :
— Forcer le rechargement d’un objet en session ;
— Mettre en place des opérations de type CRUD (Create, Read, Update et Delete – ajout, lecture,
modification et suppression) ;
— Créer des url dynamiques avec les balises c:url et c:param.
1
Application ciblée : gestion d’un annuaire du personnel
Nous reprenons l’objectif du précédent TP. Il s’agit de mettre en place une application JEE permettant de gérer un annuaire de personnes. On utilisera, pour cela, l’ensemble des fonctionnalités
disponibles de JEE.
Les fonctionnalités à mettre en place durant cette séance de TP sont listées ci-dessous :
— Lister des personnes ;
— Rechercher des personnes ;
— Se connecter ;
— Se déconnecter ;
— Ajouter une personne ;
— Modifier une personne ;
— Supprimer une personne.
Conseil : conservez un onglet du navigateur ouvert vers la documentation de l’API JEE :
https://docs.oracle.com/javaee/7/api/
2
Lister et rechercher des personnes
Travail à effectuer : Voir TP précédent. A réaliser si non traitée dans votre projet.
3
Se connecter/déconnecter
Travail à effectuer : Voir TP précédent. A réaliser si non traitée dans votre projet.
1
4
Supprimer une personne
Il s’agit ici de mettre en place les routines pour supprimer une personne. Cela va nécessiter de
modifier les différentes couches de votre architecture MVC :
— Des modifications seront à opérer dans votre modèle (classe Annuaire.java) ;
— Un contrôleur supplémentaire sous forme de servlet sera à rajouter (servlet SupprimerServlet) ;
— La vue devra incorporer des liens permettant de supprimer des personnes (page annuaire.jsp).
Travail à effectuer :
— Ajouter une méthode permettant de supprimer une personne dans votre classe Annuaire.java ;
— Créer une servlet SupprimerServlet qui aura pour tâche de récupérer l’identifiant d’un utilisateur pour le supprimer de l’annuaire. Cette servlet devra également forcer le rechargement de
l’annuaire en session avant de passer la main (forward) à la servlet AnnuaireServlet ;
— Dans la page annuaire.jsp, pour chaque ligne affichant une personne, ajouter un lien à l’aide de
la balise <c:url> pour supprimer la personne via la servlet SupprimerServlet. Lui adjoindre
une balise <c:param> pour donner en paramètre à la servlet l’identifiant de la personne à
supprimer en utilisant l’expression ${VAR_PERSONNE.id}.
5
Modifier une personne
Dans le même esprit que la question précédente, nous allons :
— Modifier le modèle pour pouvoir mettre à jour les données d’une personne ;
— Ajouter un contrôleur (une servlet) pour modifier ces données ;
— Créer une nouvelle vue et modifier les vues existantes en conséquence.
Travail à effectuer :
— Ajouter une méthode permettant de modifier les informations d’une personne dans la classe
Annuaire.java ;
— Créer une nouvelle servlet EditerServlet qui récupére les nouvelles informations associées
à une personne et les enregistre dans l’annuaire. Comme précédemment, cette servlet devra
forcer le rechargement de l’annuaire en session avant de passer la main (forward) à la servlet
AnnuaireServlet ;
— Créer une page personne.jsp contenant un formulaire avec les champs suivants :
— id (champs caché) ;
— nom ;
— prenom ;
— Enregistrer (bouton permettant de valider l’action).
— Dans la page annuaire.jsp, utiliser la balise <c:url> dans le tableau pour envoyer l’identifiant, le nom et le prénom de la personne à modifier à la servlet EditerServlet. Utilisez la balise
<c:param> pour passer ces valeurs.
6
Ajouter une personne
Travail à effectuer :
— Dans votre vue de l’annuaire, incorporez un lien pour pouvoir ajouter une personne ;
— Modifiez la servlet EditionServlet pour que la servlet soit capable de distinguer entre la modification et la création d’une personne. Pour cela, on se basera sur le fait que dans le cas d’une
création, l’identifiant est inconnu et à attribuer.
2