Java intensif
Programmation Web
Serge Rosmorduc
2013-2014
Serge Rosmorduc () Java intensifProgrammation Web 2013-2014 1 / 23
Premi`
ere partie I
Compl´
ements
Serge Rosmorduc () Java intensifProgrammation Web 2013-2014 2 / 23
Retour sur GET et POST
Usage correct de GET et POST :
GET : bookmarkable ,r´
ep´
etable, plus ou moins public :
particuli`
erement adapt´
e pour la r´
ecup´
eration d’information ;
POST : a priori non r´
ep´
etable, non bookmarkable : adapt´
e pour la
modification d’information.
attention aux robots d’indexation : que ferait un robot sur une lien
comme
<a href="supprimer&id=6">detruire</a>
Serge Rosmorduc () Java intensifProgrammation Web 2013-2014 3 / 23
Post et redirection
Probl`
eme de r´
ep´
etition d’un POST lors d’un rechargement de
page : modification effectu´
ee deux fois ?
Produit command´
e deux fois au lieu d’une, par exemple...
Solution : la page qui affiche le r´
esultat de l’ex´
ecution du POST ne
doit pas ˆ
etre celle qui l’a trait´
e.
Utilisation de request.sendRedirect(...)
Serge Rosmorduc () Java intensifProgrammation Web 2013-2014 4 / 23
Exemple
1 @WebServlet ( name = Supprimer , u r l P a t t e r n s = { / supprimer ” })
2publi c class SupprimerProduit extends HttpServlet {
3 @Override
4protected void doPost ( . . . ) {
5i n t i d = I n t e g e r . p a r s e I n t ( req . g et Paramete r ( i d ) ) ;
6 BaseDeDonnee . g e t I nst a n c e ( ) . supprimer ( i d ) ;
7 resp . s en dR ed ire ct ( messageSuppression&i d = ” + i d ) ;
8}
9
10 }
On charge la page /supprimer, en passant en mode POST l’id
de l’´
el´
ement `
a supprimer (par exemple 144) ;
on supprime l’ ´
el´
ement 144 ;
la servlet envoie une redirection : elle demande au navigateur
client de charger (en mode GET) une nouvelle page,
/messageSuppression&id=144, qui affichera un message
confirmant la suppression.
recharger cette page l`
a se contentera d’afficher `
a nouveau le
message.
Serge Rosmorduc () Java intensifProgrammation Web 2013-2014 5 / 23
1 / 23 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !