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

Struts 1 Java Discussion :

Problème sur HttpSession


Sujet :

Struts 1 Java

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    144
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 144
    Par défaut Problème sur HttpSession
    bonjour,

    j'ai viens de decouvrir un soucis sur mon appli concernant les sessions que je créer mais peut etre moi qui les utilise mal.
    bref, je vous met un bout de mon code pour etre ds le context.
    HttpSession maSession = req.getSession(true);

    maSession.setMaxInactiveInterval(60 * 120);//120 minutes

    SessionData sessionData = new SessionData(serveurNomLogique, serveurNomPhysique,
    baseSysteme, typeServeur,
    base, user, password);

    maSession.setAttribute("sessionData", sessionData);
    alors mon soucis, c'est ouvre une premiere session avec un user X, ok, il le fait bien je recupere bien ma sessionData.
    Le probleme c'est quand je ferme pas ma session X et que j ouvre une 2e session nommé Y, je perds la session X .
    Je crois peut etre comprendre que le setAttribute() a le mm identifiant donc il le remplace mais pkoi alors est ce tjrs la mm maSession alors que j ai fait un req.getSession(true);
    c'est pas censé me donné une nouvelle session en mettant true?

  2. #2
    Membre chevronné Avatar de supermanu
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 330
    Par défaut
    Je n'ai pas tout compris :
    tu veux dire que quand tu te connecte avec l'utilisateur Y, lorsque tu fais session.getAttribute("sessionData"), tu récupère les données de l'utilisateur X ?

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    144
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 144
    Par défaut
    Citation Envoyé par supermanu
    Je n'ai pas tout compris :
    tu veux dire que quand tu te connecte avec l'utilisateur Y, lorsque tu fais session.getAttribute("sessionData"), tu récupère les données de l'utilisateur X ?

    non le contraire
    si j ouvre une session pour le user X et que sur la mm machine, j ouvre une session Y, le user X recupere la session du Y.
    en clair , le req.getSession(true) pose souci car il a pas creer une nouvelle session.

    Qu'est ce que vous en pensez?
    d apres ce ke j ai lu, c un probleme de cookies car je vien de tester avec 2 browser different, ca ne pose pas de soucis. mais est ce vraiment ca?

  4. #4
    Membre chevronné Avatar de supermanu
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 330
    Par défaut
    Dans la doc je vois :
    Returns the current HttpSession associated with this request or, if there is no current session and create is true, returns a new session.
    Donc s'il existe déjà une session, en mettant à true, il se servira de celle-ci et il n'en créera pas une autre.
    Peut-être que ton problème vient de là

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    144
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 144
    Par défaut
    Citation Envoyé par supermanu
    Dans la doc je vois :


    Donc s'il existe déjà une session, en mettant à true, il se servira de celle-ci et il n'en créera pas une autre.
    Peut-être que ton problème vient de là

    oui c'est bien possible, mais comment je pourrais faire pour creer une nouvelle session pour X utilisateurs, si les sessions sont reutilisées?
    a noter que ce binz ne se pose pas quand j ouvre X et Y sur 2 machine differente ou en utilisant 2 browser differents!

  6. #6
    Membre éprouvé
    Avatar de dtateur
    Inscrit en
    Mars 2004
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 106
    Par défaut
    Le probleme doit venir de la façon dont tu fermes ta session.
    Quel est le code te permettant de fermer la session ?

  7. #7
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    144
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 144
    Par défaut
    Citation Envoyé par dtateur
    Le probleme doit venir de la façon dont tu fermes ta session.
    Quel est le code te permettant de fermer la session ?

    Je ferme par le valueUnbound();
    mais c pas ca le probleme, puisque mon but c d'ouvrir 2 sessions en mm temps, et je vois que la premiere prend les parametres de la session suivante.

  8. #8
    Membre éprouvé
    Avatar de dtateur
    Inscrit en
    Mars 2004
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 106
    Par défaut
    Pour fermer une session, il faut utilisé la méthode invalidate().

    La méthode valueUnbound ne sert pas à fermer une session.


    Quand à la création de 2 sessions, si tu utilises IE, il ne faut pas faire de CTRL+N pour avoir une nouvelle fenetre IE car la session sera partagé entre le 2 fenetre.

  9. #9
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    144
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 144
    Par défaut
    Citation Envoyé par dtateur
    Pour fermer une session, il faut utilisé la méthode invalidate().

    La méthode valueUnbound ne sert pas à fermer une session.


    Quand à la création de 2 sessions, si tu utilises IE, il ne faut pas faire de CTRL+N pour avoir une nouvelle fenetre IE car la session sera partagé entre le 2 fenetre.
    ah j etais persuader que le valueUnbound servait aussi a ca.
    Mais ca n explique pas pkoi je perds la premiere session lorsque je me connecte avec 2 sessions simultané sur firefox ou explorer.

  10. #10
    Membre éprouvé
    Avatar de dtateur
    Inscrit en
    Mars 2004
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 106
    Par défaut
    Si tu souhaites tester ton application avec 2 sessions simultanément, je te conseille d'ouvrir une session sous IE et l'autre avec firefox.

    Sous firefox, il n'est pas possible de creer 2 sessions sur une même application simultanément.

  11. #11
    Membre expérimenté Avatar de petitpasdelune
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 221
    Par défaut Idem
    Merci, j'allais poser la même question pour le même problème de session

    PPDL.

Discussions similaires

  1. Connexion RS-232 sur un analyseur (driver inexistant )
    Par lolipope dans le forum LabVIEW
    Réponses: 1
    Dernier message: 15/07/2014, 12h48
  2. [XL-2007] Probl sur boucle
    Par alexandrek dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 28/01/2011, 12h23
  3. Sortie TX à 1 ou 0 sur port RS-232
    Par tibo7 dans le forum C++
    Réponses: 0
    Dernier message: 02/06/2008, 14h39
  4. pause de 100us sur une trame RS-232
    Par tibo7 dans le forum C++
    Réponses: 3
    Dernier message: 02/06/2008, 11h17
  5. Aide sur la RS 232
    Par Andr0 dans le forum C
    Réponses: 5
    Dernier message: 12/04/2005, 13h58

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