EC726 Programmation avancee
TP 5 Annuaire de gestion du personnel
Objectifs :
Comprendre le fonctionnement dune application Web Dynamique JEE ;
Etre capable de creer une servlet, une page jsp ;
Mettre en oeuvre un projet JEE.
A lissue de ce TP, vous aurez appris a` :
Forcer le rechargement dun objet en session ;
Mettre en place des operations de type CRUD (Create, Read, Update et Delete ajout, lecture,
modification et suppression) ;
Creer des url dynamiques avec les balises c:url et c:param.
Application ciblee : gestion dun annuaire du personnel
Nous reprenons lobjectif du precedent TP. Il sagit de mettre en place une application JEE permettant de gerer un annuaire de personnes. On utilisera, pour cela, lensemble des fonctionnalites
disponibles de JEE.
Les fonctionnalites a` mettre en place durant cette seance de TP sont listees ci-dessous :
Lister des personnes ;
Rechercher des personnes ;
Se connecter ;
Se deconnecter ;
Ajouter une personne ;
Modifier une personne ;
Supprimer une personne.
Conseil : conservez un onglet du navigateur ouvert vers la documentation de lAPI JEE :
[Link]
Lister et rechercher des personnes
Travail a` effectuer : Voir TP precedent. A realiser si non traitee dans votre projet.
Se connecter/deconnecter
Travail a` effectuer : Voir TP precedent. A realiser si non traitee dans votre projet.
1
Supprimer une personne
Il sagit ici de mettre en place les routines pour supprimer une personne. Cela va necessiter de
modifier les differentes couches de votre architecture MVC :
Des modifications seront a` operer dans votre mod`ele (classe [Link]) ;
Un controleur supplementaire sous forme de servlet sera a` rajouter (servlet SupprimerServlet) ;
La vue devra incorporer des liens permettant de supprimer des personnes (page [Link]).
Travail a` effectuer :
Ajouter une methode permettant de supprimer une personne dans votre classe [Link] ;
Creer une servlet SupprimerServlet qui aura pour tache de recuperer lidentifiant dun utilisateur pour le supprimer de lannuaire. Cette servlet devra e galement forcer le rechargement de
lannuaire en session avant de passer la main (forward) a` la servlet AnnuaireServlet ;
Dans la page [Link], pour chaque ligne affichant une personne, ajouter un lien a` laide de
la balise <c:url> pour supprimer la personne via la servlet SupprimerServlet. Lui adjoindre
une balise <c:param> pour donner en param`etre a` la servlet lidentifiant de la personne a`
supprimer en utilisant lexpression ${VAR_PERSONNE.id}.
Modifier une personne
Dans le meme esprit que la question precedente, nous allons :
Modifier le mod`ele pour pouvoir mettre a` jour les donnees dune personne ;
Ajouter un controleur (une servlet) pour modifier ces donnees ;
Creer une nouvelle vue et modifier les vues existantes en consequence.
Travail a` effectuer :
Ajouter une methode permettant de modifier les informations dune personne dans la classe
[Link] ;
Creer une nouvelle servlet EditerServlet qui recupere les nouvelles informations associees
a` une personne et les enregistre dans lannuaire. Comme precedemment, cette servlet devra
forcer le rechargement de lannuaire en session avant de passer la main (forward) a` la servlet
AnnuaireServlet ;
Creer une page [Link] contenant un formulaire avec les champs suivants :
id (champs cache) ;
nom ;
prenom ;
Enregistrer (bouton permettant de valider laction).
Dans la page [Link], utiliser la balise <c:url> dans le tableau pour envoyer lidentifiant, le nom et le prenom de la personne a` modifier a` la servlet EditerServlet. Utilisez la balise
<c:param> pour passer ces valeurs.
Ajouter une personne
Travail a` effectuer :
Dans votre vue de lannuaire, 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 creation dune personne. Pour cela, on se basera sur le fait que dans le cas dune
creation, lidentifiant est inconnu et a` attribuer.