Collaboration JSP‐Servlets

Établissement:ISAMM
Classes:2èmeannéeLicence
TP8‐J2EE
Annéeuniversitaire:2013/2014
Enseignants
:
Makram
Mestiri,
Mohamed
Abderrahmen,YamenElTouati,WassimMessaouadi.
CollaborationJSP‐Servlets
Objectifs
1. Compréhension de la technique de passage de paramètres entre les pages JSP et les Servlets 2. Se familiariser avec les méthodes :  void setAttribute(String attribute, Object valeur)  Object getAttribute(String attribute) 1 Introduction
Le besoin de passer des paramètres aux pages JSP apparaît lorsqu’on veut afficher du contenu dynamique provenant de source de données (base de données, fichiers, flux de données personnalisé …). Les servlets se contentent donc de : ‐
‐
‐
Récupérer des données des sources. Traitement des données. Envoi ver s les pages clients pour formatage et affichage. 2 Syntaxed’envoideparamètres
L’envoi de paramètre s’effectue par le moyen du couple « clé » et « valeur ». La « clé » servant à identifier le paramètre envoyé parmi d’autres et la « valeur » représente l’objet envoyé (String, int, int[] …). Ces attributs sont stockés dans la requête http et sont récupérable par leurs clés. Exemple d’envoi de paramètres dans une Servlet ‐
‐
‐
‐
Envoi de paramètre de type String : request.setAttribute(‘’nom’’, ‘’ali’’ ) ; Envoi de paramètre de type int : request.setAttribute(‘’age’’, 18 ) ; Envoi de paramètre de type Personne : request.setAttribute(‘’personne’’, new Personne() ) ; Exemple de récupération de paramètres dans une page JSP: <% String monNom = (String)request.getAttribute(“nom”);%> <% int monAge = (int)request.getAttribute(“age”);%> <% String maPersonne = (Personne)request.getAttribute(“personne”);%> Page1
3 Exercice
es
3.1 Exercicce1
Reprendre le cod
de de l’exerccice 1 du TP 6 et : ‐
‐
Dans la SServlet Identtification, tra
ansférer le loogin de l’utiliisateur connecté dans laa requête htttp et redirigeer vers la jssp « accueil.jjsp » Afficher la phrase « Bonjour <uttilisateur_co nnecté> dan
nss la page « accueil.jsp »» 3.2 Exercicce2
L'ob
bjectif de cet exercice estt de développ
per une calcuulatrice perm
mettant à l'utilisateur de saaisir deux op
pérandes (enttiers)
et dee sélectionneer l'opérationn à effectuer parmi
p
l'addittion, la multiiplication, la division et lla soustractio
on.
L'ap
pplication estt composée de:
d
1. une pagee jsp appeléee saisie.jsp co
ontenant le fformulaire dee saisie.
2. une servvlet nommée Calcul récup
pérant les oppérandes saissis ainsi que l'opération cchoisie par l'u
utilisateur.
3. une pagee jsp appeléee resultat.jsp
p affichant lee résultat de l'opération et un lien de rretour vers laa page saisie.
e.jsp.
Tra
avail demaandé:
1. écrire le code du form
mulaire de laa page saisiee.jsp contenaant (voir les figures
f
des illlustrations):
a. Deux champps de saisie nommés
n
opeerande1 et operande2
o
dans
d
lesquelss l'utilisateurr pourra saisiir les
deux entiers de l'opératio
on.
b. Une liste déroulante (balise seleect) nomméée opération contenant
nt 4 choix (balise option)
correspondaant aux opéraations possiblles (+, -, / et *).
c. Un bouton de
d type subm
mit permettannt d'envoyer le contenu du formulairee à la servlet Calcul.
d. Un script jspp permettant d'afficher unn message d'erreur conteenu dans un aattribut nomm
mé message reçu
dans l'objet request. L'aattribut messsage est envo
oyé par la seervlet calcul s'il y a eu une
u erreur daans le
calcul précéddent (voir les messages dd'erreur dans les illustrations des cas 2 et 3).
2. Ecrire lee code de la méthode
m
doG
Get de la servvlet Calcul qui :
a. Récupère la saisie de l'uttilisateur
b. Transforme le type des opérandes
o
deepuis le type String vers int (voir en annexe).
c. Calcule le réésultat selon l'opération cchoisie par l'u
utilisateur.
d. Si un des chhamps des opérandes estt vide ou s'ill y a division
n par zéro, lla servlet rajoute un messsage
d'erreur danss un attribut nommé messsage de l'ob
bjet request et
e renvoie l'uutilisateur à la
l page saisie.jsp
(voir les illuustrations dess cas 2 et 3).
e. Sinon, si less saisies sontt correctes laa servlet env
voie le résulttat à la page resultat.jsp
p dans un atttribut
appelé résulltat (voir les figures de l' illustration 1).
1
3. Écrire lee code de la page
p
resulta
at.jsp permetttant d'afficher le résultatt déjà envoyéé par la servllet Calcul soous le
format ooperande1 opération
o
op
perande2 = rresultat. Parr exemple, sii l'utilisateur avait saisi lees opérandess 3 et
5 dans lee formulaire et choisi l'op
pération addiition, alors laa page resulttat.jsp affichhe 3 + 5 = 8.
Illu
ustrations
Ci-d
dessous, touss les cas d'utiilisation posssibles sont illlustrés.
Cas d'utilisation
n 1 : saisies correctes don
nc passage à la page résu
ultat.jsp
Cas d'utilisation
n 2 : Divisioon par zéro donc retour à la page saisiie.jsp avec un
n message d''erreur
Paage2
Cas d'utilisation
n 3 : Champps vide donc retour
r
à la paage saisie.jsp
p avec un meessage d'erreuur
Paage3