Exam JEE 2008 2009 Corrige
Java EE
1h30 – Aucun document autorisé
NOM :
PLACE :
PRENOM :
GROUPE TD :
Q1 : cycle de vie d’un servlet (2 points)
Donnez le diagramme d’état représentant le cycle de vie d’un servlet dans son conteneur.
Q2 : redirection vs. forward (4 points)
Un servlet peut « appeler » une JSP :
- avec une redirection : response.sendRedirect("myJSP.jsp"); - ou avec un forward :
RequestDispatcher
jsp=resquest.getRequestDispatcher("myJSP.jsp"); jsp.forward(request,response); Expliquez puis montrez sur un exemple concret la différence entre l’utilisation de ces deux mécanismes (vous pourrez vous appuyer sur des diagrammes de séquence faisant intervenir le client, le servlet et la JSP, pour étayer votre réponse).
Forward :
C’est une action effectuée de manière interne à la servlet dans son conteneur.
Le navigateur du client n’est jamais mis au courant des changements effectués. Ainsi l’URL du navigateur ne change pas.
Si le navigateur client actualise la page, la requête initiale sera répétée, avec l’URL originale.
Redirect :
C’est un processus en 2 étapes. Après avoir reçu la première requête, le Servlet envoi au navigateur client une demande de redirection vers une autre URL qu’il effectue.
Si le navigateur client actualise la page, la requête initiale ne sera pas répétée. Au contraire c’est la nouvelle URL qui sera rechargée.
Les Objets/Beans placés dans le request Scope initial ne seront plus disponible dans la seconde requête. La redirection est toujours plus lente qu’un forward, car il nécessite une seconde requête du navigateur client.
Exemple :
Les Forward doivent être utilisés si l’opération peut être répétée lorsque l’on recharge la page. Sinon il faut utiliser un redirect. Par exemple, si l’opération modifie une base de donnée, alors il faut utiliser un redirect.
Q3 : QCM (8 points)
Entourez la ou les bonnes réponses (seulement la lettre).
1) Quelles sont les méthodes utilisées par un servlet pour gérer les données envoyées par un client