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 :

[Session Context] session non transmise


Sujet :

Servlets/JSP Java

  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2004
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [Session Context] session non transmise
    J'essaie de transférer des objets d'une servlet à une autre via la
    session http. Mais ma deuxième servlet ne trouve pas la session
    créée ???

    Le code de ma première servlet (simplifié des tests) comporte
    les lignes suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    HttpSession session = request.getSession();
    session.setAttribute("message","mon message");
    RequestDispatcher dispatcher = request.getRequestDispatcher("/second");
    dispatcher.forward(request,response);
    Et ma deuxième servlet contient le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    HttpSession httpSession = request.getSession();
    if ( httpSession.isNew()) {
        // trace message nouvelle session
    }
    Dans les traces, je vois bien l'appel de ma première servlet, et l'appel
    de ma seconde servlet. Donc, le fichier web.xml n'est pas en cause.

    De plus, si, une fois mon test effectué, je lance la deuxième servlet
    via le navigateur directement, elle voit bien la session, et le paramètre
    initialisé !!!

    Petite remarque, lorsque ma première servlet a fini d'appeler la seconde,
    dans la barre d'adresse du navigateur, j'ai toujours le nom de ma
    première servlet.

    Bref, je ne sais plus où chercher. Je pense que la méthode :
    dispatcher.forward ne transmet pas la session. J'ai même essayé en
    passant le sessionId que je peux récupérer par la méthode encodeURL.

    Help me if you can,

    thanks a lot.

  2. #2
    zev
    zev est déconnecté
    Membre actif
    Inscrit en
    Octobre 2004
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 204
    Points : 220
    Points
    220
    Par défaut
    La premiere fois, quand tu crées ta session, fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    HttpSession session = request.getSession(true);
    // Pour mettre une variable en session
    ArrayList liste = new ArrayList();
    session.setAttribute("maListe",liste);
     
    Toutes les autres fois, pour appeler la session dans une servlet :
    HttpSession session = request.getSession(false);
    //Pour appeler ta variable
    ArrayList liste=(ArrayList )session.getAttribute("maListe");
    true crée une nouvelle session si elle n'existe pas deja,
    false refuse de creer une nouvelle session.
    bien sur, tu peux utiliser n'importe quel objet à la place de arraylist, y compris ceux que tu as fabriqués.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 54
    Points : 58
    Points
    58
    Par défaut
    Deja je pense que si c'est possible, il faut que tes deux servlet soient sur le meme serveur d'application.

    Et j'ai une question a cent balle : Une session est relative à une servlet ou un serveur d'application ? Si 1, ca ne risque pas de marcher. A première vue je penche pour un fonctionnement 1.... faut appeler les gourous ou google pour la réponse.

  4. #4
    Candidat au Club
    Inscrit en
    Décembre 2004
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Bizarrement, cela s'est mis à fonctionner quelques jours plus tard !!!

    Merci pour vos réponses et bonnes fêtes.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. variable de session non transmise
    Par laurentSc dans le forum Langage
    Réponses: 11
    Dernier message: 13/12/2013, 12h44
  2. [PHP 5.2] Session à travers domaines/sous-domaines - données non transmises
    Par Jacynthe dans le forum Langage
    Réponses: 2
    Dernier message: 16/11/2011, 14h55
  3. Réponses: 6
    Dernier message: 28/05/2008, 16h57
  4. Variables de sessions non transmises en local
    Par cerveza dans le forum Langage
    Réponses: 5
    Dernier message: 31/12/2007, 21h34
  5. [Cookies] variable de session ou cookie non transmise
    Par dubitoph dans le forum Langage
    Réponses: 1
    Dernier message: 01/12/2006, 21h37

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