IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

[JSP/Bean] Les sessions


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 35
    Points : 19
    Points
    19
    Par défaut [JSP/Bean] Les sessions
    Bonjour,


    Je cherche des informations concernant la création de session en Java. En fait à la connexion d'un utilisateur je cherche à créer une session dans laquelle je stockerai des infos de base (id, login, nom). Exactement comme on le fait avec un session_start() et les $_SESSION[] en PHP.

    J'ai donc une page JSP avec un formulaire qui envoie des infos à une méthode doLogin() dans un Bean.

    Mais sur le web je tombe toujours sur le même morceau de code concernant la création de session, à savoir celui la :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public void doGet (HttpServletRequest request, HttpServletResponse response)
    		throws ServletException, IOException		{
    		// Recupere la session
    		HttpSession session = request.getSession(true);		  
    		...
    		// Ecrit la reponse	
    		out = response.getWriter();			
    		...		
    	}
    Code qui sert à vérifier l'existence d'une session et à la créer le cas échéant.

    Mais comment utilise-t-on request et response ? C'est une méthode qui doit faire partie de mon bean directement appelé par ma JSP ? C'est là que je ne saisi pas tout...


    Merci d'avance.

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    HttpServletRequest et HttpServletResponse sont liés aux servlet.
    Une JSP étant une servlet, tu peux facilement les transmettre à ton bean.
    Il suffirait de prévoir un truc dans le genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public class UnBean
    {
       HttpServletRequest request;
       HttpServletResponse response;
    ...
       // autres propriétés
    ...
       // getter/setter
    ...
    }
    et dans la page JSP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <jsp:useBean id="MonBean" ... />
     
    <%
    MonBean.setRequest(request);
    MonBean.setResponse(response);
    %>
    (Par exemple)
    A+

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    Merci pour ta réponse.

    Je vois mieux le contexte d'utilisation mais par contre comment rempli-t-on resquest et response ? Qu'est-ce que ces objets contiennent ?


    Et autre contrainte, mes pages webs sont des .xhtml je peux faire du JSF mais pas de code JAVA dedans.

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    C'est que tu n'es pas dans le bon forum... Servlets/JSP n'a rien à voir avec JSF/Facelets...
    Mais je te rassure, tu n'y es pour rien, il n'y a pas ce découpage (il me semble qu'on en avait parlé il fût un temps...)

    Pour répondre à ta question : request et response, dans une page JSP représentent respectivement l'objet HttpServletRequest et HttpServletResponse, c'est automatique, tu n'as rien à faire et tu peux les utiliser directement (comme dans l'exemple que je t'ai montré)

    En JSF, dans un bean, tu peux accéder au context et récupérer ces 2 objets (ou la session) comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    FacesContext.getCurrentInstance().getExternalContext().getRequest()
    FacesContext.getCurrentInstance().getExternalContext().getResponse()
    FacesContext.getCurrentInstance().getExternalContext().getSession(true)
    A+

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    Merci encore pour ta réponse !

    Visiblement c'est de ça que je vais avoir besoin ! C'est juste un peu moins évident à utiliser que les servlets/jsp.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 35
    Points : 19
    Points
    19
    Par défaut
    Exemple : je veux vérifier si ma session existe et si ce n'est pas le cas la créer j'ai simplement besoin de faire ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    HttpSession     session;
    ExternalContext Ex;
     
    Ex = FacesContext.getCurrentInstance().getExternalContext();
     
    session = (HttpSession) Ex.getSession(true);

  7. #7
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Si tu fais getSession(true) il la créera si elle n'existe pas...

Discussions similaires

  1. [Servlets - JSP] Problème de session
    Par the java lover dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 28/11/2011, 10h54
  2. jsp et les sessions
    Par fanC++ dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 13/02/2008, 16h23
  3. les sessions en jsp
    Par samil dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 31/08/2007, 22h28
  4. [Servlet - JSP] bean session sous was
    Par piwai dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 08/08/2005, 11h00
  5. [debutant][JSP][bean]
    Par blaz dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 26/08/2003, 15h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo