IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo
Sommaire > Servlets > Session
        Quelle est l'utilité des sessions
        Comment créer un objet session
        Comment les session sont-elles gérées ?

rechercher
precedent    sommaire    suivant    telecharger


Quelle est l'utilité des sessions
auteur : Stessy
La plupart des applications web utilisent le protocole HTTP. Malheureusement ce protocole est ce que l'on appelle un protocole sans état, c'est à dire que le serveur web ne maintient pas les informations à propos du client entre deux requêtes. De ce fait le serveur ne sait pas déterminer si une requête ou une réponse provient du même client. C'est pour cela que les applications web utilisent le concept de session. Une session représente l'ensemble des intéractions pouvant intervenir entre un client et le serveur


Comment créer un objet session
auteur : Stessy
Il existe deux méthodes permettant de créer des sessions :
HttpSession getSession()
et
HttpSession getSession(boolean)
Voici un petit exemple permettant de comprendre la différence entre ces 2 méthodes
// Si la session existe, ces 2 méthodes renvoient la session existante, sinon ces 2 méthodes créent une nouvelle session
HttpSession session = request.getSession();

HttpSession session = request.getSession(true)

// Si la session existe, cette méthode renvoie la session existante, sinon la méthode retourne la valeur null
HttpSession session = request.getSession(false);

Comment les session sont-elles gérées ?
auteur : Stessy
Il existe 2 moyens de gérer les sessions :

  • à l'aide de cookies
  • à l'aide re la réécriture d'URL

Cookies

A chaque session créée, le serveur envoie un identificateur (sous la forme d'un cookie) correspondant au client. Ensuite le client renverra ce cookie au serveur lors de sa prochaine requête permettant ainsi au serveur d'identifier le client.

Voici un petit exemple permettant d'ajouter un cookie dans l'entête de la réponse.
javax.servlet.http.Cookie cookie = new javax.servlet.http.Cookie("user","abc123456");
response.addCookie(cookie);
Mais il arrive assez souvent que le client refuse de recevoir des cookies.
Dans ce cas il vous reste une 2è solution qui consiste en la réécriture d'URL

Réécriture d'URL

Par cette technique le serveur ajoute l'dentificateur de session à la fin de chaque URL des pages envoyées par celui-ci.
Mais malheureusement cette technique a un coût car le serveur doit effectuer une opération supplémentaire. Celui-ci doit personnifier l'url en y incluant l'identifiant de session.
2 méthodes existent pour individualiser les URL:
encodeURL(String)
et
encodeRedirectURL(String)
Ces méthodes réécrivent l'URL uniquement si le client n'accepte pas les cookies. Dans l'autre cas les URL resteront inchangées.
La 2è méthode est utilisée lorsque la servlet utilise la méthode
sendRedirect(String)
Exemple :
response.sendRedirect(response.encodeRedirectURL("maServlet");

rechercher
precedent    sommaire    suivant    telecharger

Consultez les autres F.A.Q's

Valid XHTML 1.1!Valid CSS!


Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2004 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.