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 :

2 sessions non hermétiques


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 540
    Par défaut 2 sessions non hermétiques
    Bonjour, le problème que j'ai provient du fait que les sessions se mélangent lorsque 2 clients se connectent simultanément au site.
    A la page index.jsp, le client entre son ligin/mot de passe et créé une session d'après la requête dans ma servlet Authentication. (request.getSession()) Je stocke mes attributs directement dans la session. (session.setAttribute("nom", valeur) Si 2 clients sont connectés en même temps, les attributs sont écrasés. Le premier a avoir écrit se retrouve avec les valeurs du 2eme. J'aurais voulus avoir 2 fois le même attribut mais dans deux sessions différentes. Vous comprenez ? Peut-être se servir de l'id ?

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Les session sont indépendantes. Vous avez bien testé avec deux machines différentes ou deux navigateurs différents?

  3. #3
    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
    Billets dans le blog
    1
    Par défaut
    Si tu as lancé 2 fois le navigateur sur le même poste ou si tu utilises 2 onglets avec la même application, les sessions sont communes (en tout cas avec Firefox).
    Pour ne pas écraser les informations de session, il va falloir imaginer un mécanisme d'identification de ton client et rattacher les valeurs à cet identifiant (avec une Map par exemple).
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Si tu désactive les cookies et que tu utilise correctement les URLrewriting dans tes pages, partir de deux fenêtre séparée, sans session au départ, te mènera à avoir deux sessions distincte. M'enfin pour ce genre de test, ouvrir deux navigateurs séparés reste plus simple

  5. #5
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 540
    Par défaut
    Merci pour vos réponses, c'est vrai qui firefox écrase les sessions.
    Cela dit, je n'ai pas entièrement résolu mon problème :
    Lorsque les clients font des requêtes sur ma base de données j'ai beaucoup de resultset is closed. Je le suis renseigné là-dessus, et de ce que je comprend, il faut que sérialise tous mes composants y compris ma connexion avec le SGBD ?

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    la serialisation n'es nécessiare que si tu veux préserver les session à l'arret de ton conteneur ou si tu désire supporter le clustering. Le "resultset is closed" n'a, a priori, rien à voir avec la session.

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

Discussions similaires

  1. Variable session non retenue / problème sur Firefox
    Par hatembr dans le forum Langage
    Réponses: 10
    Dernier message: 25/04/2007, 17h22
  2. Réponses: 5
    Dernier message: 24/10/2006, 11h56
  3. session non reconnue sur autre pc
    Par Makari dans le forum Langage
    Réponses: 6
    Dernier message: 24/08/2006, 13h54
  4. Ajouter une clé pour une session non ouverte
    Par prgasp77 dans le forum Windows
    Réponses: 4
    Dernier message: 29/10/2005, 00h26
  5. [Session Context] session non transmise
    Par patricetouner dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 29/12/2004, 14h56

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