Introduction Principe Création et déploiement API des servlets Cookies / HttpSession
Servlets mapping
Dans le fichier [Link]
(pour un web module version <= 2.5)
(le web application deployment descriptor)
Cours Java - F. Michel
26 / 35
Introduction Principe Création et déploiement API des servlets Cookies / HttpSession
Servlets mapping
Directement dans le code de la servlet grâce à une annotation
(pour un web module version 3)
@WebServlet ( " / h e l l o " )
p u b l i c c l a s s H e l l o W o r l d extends H t t p S e r v l e t {
p r o t e c t e d v o i d doGet (
H t t p S e r v l e t R e q u e s t request ,
HttpServletResponse response ) throws S e r v l e t E x c e p t i o n , IOException {
response . setContentType ( " t e x t / h t m l " ) ;
P r i n t W r i t e r o u t = response . g e t W r i t e r ( ) ;
. . .
out . close ( ) ;
}
}
Cours Java - F. Michel
27 / 35
Introduction Principe Création et déploiement API des servlets Cookies / HttpSession
Paramètres contenus dans une url
La méthode getParameter de l’objet HttpServletRequest
Il permet de récupérer la valeur d’un paramètre contenu dans une url.
par dans exemple :
http ://localhost :8080/hello ?username=toto&firstName=bob obtenu
avec un formulaire de type get
→String username = [Link]("username") ;
Cours Java - F. Michel
29 / 35
Introduction Principe Création et déploiement API des servlets Cookies / HttpSession
L’objet RequestDispatcher
[Link]
Il permet d’utiliser d’autres servlets pour la construction de la réponse.
sur le principe include : une portion de la réponse
ou forward :une autre servlet s’occupe de la réponse
Récupération de l’objet en fonction de l’url souhaitée
RequestDispatcher dispatcher =
getServletContext().getRequestDispatcher("/response") ;
include ou forward. Attention : l’url de la page ne change pas
[Link](request, response) ;
[Link](request, response) ;
Cours Java - F. Michel
30 / 35
Introduction Principe Création et déploiement API des servlets Cookies / HttpSession
Redirection d’une URL
[Link](String)
Permet d’envoyer au navigateur une réponse contenant une redirection.
Le paramètre correspond :
soit à une url relative à la requête si il ne commence pas par un ’/’
soit à une url relative au context root si il commence par un ’/’
Pour garder l’ID de la session, il faut utiliser les méthodes suivantes :
[Link]() pour encodeRedirectURL
Permet de récupérer la valeur du context root
e.g. String contextPath = [Link]() ;
[Link](String)
String newURL = [Link](contextPath+"/new") ;
[Link](newURL) ;
Cours Java - F. Michel
31 / 35
Introduction Principe Création et déploiement API des servlets Cookies / HttpSession
Utilisation des cookies
Les cookies
L’envoi d’un cookie vers le navigateur du client se fait grâce à la
méthode addCookie() de l’objet HttpServletResponse : void
AddCookie(Cookie cookie)
Il est nécessaire de créer le cookie avant tout envoie de données :
Cookie MonCookie = new Cookie("nom", "valeur") ;
Pour récupérer les cookies provenant de la requête du client, il suffit
d’utiliser la méthode getCookies() de l’objet HttpServletRequest :
Cookie[] getCookies()
La durée de vie d’un cookie est réglable ; par défaut un cookie disparaît
à la fermeture du navigateur, mais on peut le rendre persistant :
int getMaxAge() : Retourne la durée de validité du cookie (en secondes)
void setMaxAge(int duree) : Définit la durée de validité du cookie (en
secondes)
Cours Java - F. Michel
33 / 35
Introduction Principe Création et déploiement API des servlets Cookies / HttpSession
L’objet [Link]
Principe
Il permet de stocker des données côté serveur pendant une durée
déterminée :
API Java EE
Il peut être créé à partir d’un objet HttpServletRequest en utilisant la
méthode getSession (cf. API)
Voici des exemples de code basé sur ce principe :
[Link]
[Link]
Cours Java - F. Michel
34 / 35
Introduction Principe Création et déploiement API des servlets Cookies / HttpSession
Bibliographie
Références
Ce cours reprend largement les tutoriels Java EE proposés par Sun :
Java EE tutoriels v.5 Java EE tutoriel v.8
Cours Java - F. Michel
35 / 35