Sie sind auf Seite 1von 7

Travaux Pratiques / Servlet ----Site web dun club de Judo ( 1re partie )

Objectifs du TP : Utilisation des servlets (les JSP seront utilises dans la 2me partie) Include & Forward avec passage dattributs Gestion de la session utilisateur Sparation des rles ( gnration de la vue, contrleur, modle et services ) Utilisation de lURL de la requte Paramtres de configuration dune servlet

Recommandations
Eviter la redondance de code Dfinir des constantes (noms de paramtres, nom dattribut, ) Commenter le code Contrler les rfrences nulles

Structure des pages ( principe de template )


Les pages sont toutes prsentes de la mme faon. Elles sappuient sur un template qui comporte diffrentes zones : un header un bandeau pour indiquer si lutilisateur est authentifi ou non un menu la partie page qui rsulte des actions utilisateur une zone de messages un footer

-1-

Exemples : Cas 1 : utilisateur non authentifi :

Cas 2 : utilisateur authentifi :

-2-

Etape 1 Servlet template


Crer une servlet dont le rle est de mettre en forme les diffrentes parties qui composent la page afficher. A terme cette servlet sera remplace par une JSP. Fichiers html (statiques dans un premier temps, destins tre remplacs par des JSP) Fragments de page : part/header.html part/footer.html part/menulogin.html (menu avec formulaire de login ) part/menulogout.html (menu avec formulaire de logout + mon profil ) part/message.html Contenu de la partie page : page/accueil.html page/competitions.html page/coordonnes.html page/profil.html Classe : Template.java Name : template Paramtres : page (facultatif) : nom de la page inclure Exemples dURL pour les tests : http://localhost:8080/judo/template http://localhost:8080/judo/template?page=competitions http://localhost:8080/judo/template?page=accueil Si le paramtre page nest pas prcis, la page par dfaut est accueil Faire un contrle dexistence pour toutes les ressources inclure dans le template Si la ressource nexiste pas => afficher un message derreur la place de la page La structure du template repose sur une table Le style de chaque cellule ( <td> ) est dfini dans le fichier style.css qui doit tre rfrenc par la page gnre. Exemple :
<link rel="stylesheet" type="text/css" href="/context_webapp/css/style.css" /> <td class="header" > </td> <td class="page" > </td>

NB : context_webapp peut varier (le nom de la webapp peut tre dcid au dernier moment) => il ne doit pas tre cod en dur

-3-

Etape 2 Servlet action


Crer une servlet qui sera le point daccs unique pour toutes les requtes de lapplication ( principe de front controler ) Le nom de laction invoque est pass dans le path de lURL Laction par dfaut est accueil Exemples dURL pour les tests : http://localhost:8080/judo/action http://localhost:8080/judo/action/ http://localhost:8080/judo/action/login http://localhost:8080/judo/action/accueil Classe : Action.java Name : action Paramtres : aucun Faire un forward vers la servlet template => placer au pralable le nom de la page inclure dans un espace de stockage adapt La servlet template ne doit plus tre utilisable partir du navigateur Elle ne peut tre invoque que par un forward partir dune autre servlet

La page daccueil du site doit correspondre laction par dfaut => http://localhost:8080/judo/ mme rsultat que http://localhost:8080/judo/action Le nom de la servlet template peut varier => prvoir un paramtre de configuration permettant de changer le nom de la servlet template sans modifier le code de la servlet action . Utiliser init-param dans le fichier web.xml.

-4-

Etape 3 Implmenter et utiliser le modle et les services


Classes du modle (Java beans) : Info ( information publie par le club, afficher sur la page daccueil ) . int code . Date date . String texte Competition ( pour construire la liste des comptitions ) . int code . Date date . String nom . String ville . String adresse . String departement Judoka ( profil ) . String nom . String prenom . Date datenais . String codeGrade . int poids . String login . String password Grade ( pour construire la liste des ceintures de la combo-box ) . String code ( b, J, O, V, B, M, 1, 2, 3, 4, 5 ) . String nom ( Blanche, Jaune, Orange, Verte, Bleue, Marron, Noire 1er dan, etc )

Action login Le login se fait partir dun formulaire situ dans le menu. Si le mot de passe est gal OK : Il est considr comme valide Lutilisateur est donc authentifi Le login de lutilisateur est stock en session ( nom dattribut login ) Aprs chaque tentative de login, on revient la page daccueil. Dans toutes les actions, lutilisateur est considr comme authentifi - si il existe une session - si cette session contient un attribut login . Lorsquun utilisateur est authentifi : Son nom est affich sous le header Le menu comporte un bouton logout Le menu propose un accs au profil utilisateur

-5-

Action logout Le logout est dclench par un click sur le bouton Logout situ dans le menu. La session utilisateur est invalide. On revient la page daccueil.

-6-

Annexes : maquette des diffrentes pages

-7-

Das könnte Ihnen auch gefallen