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 :

Perte de session


Sujet :

Servlets/JSP Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2008
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 40
    Points : 29
    Points
    29
    Par défaut Perte de session
    Bonjour,

    j'ai un petit pb concernant la récuperation de données dans la session.
    Je mets une string dans la session à partir d'une page (menu) :

    <a href="../Test" title="menuTest" target="mainFrame" onclick=<%request.getSession().setAttribute("menu", "menuTest");%>

    lors du premier click je récupere bien dans la servlet Test la donnée "menuTest":
    String menu = (String)session.getAttribute("menu")
    ... Traitements ...
    session.removeAttribute("menu");

    en revanche les clicks suivant sur le menu donnent systematiquement menuTest = null dans la servlet.

    Avez vous une idée ? merci pour vos réponses

  2. #2
    Membre averti Avatar de welcome_59
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 203
    Points : 352
    Points
    352
    Par défaut
    C'est normal si tu fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    session.removeAttribute("menu");
    Cette instruction retire l'attribut menu du scope session. Du coup l'objet menuTest devient inaccessible dans le scope session.
    Tu ne devrais faire session.removeAttribute("menu"); que lorsque tu es sûr de n'avoir plus besoin de cet attribut dans le scope session.
    SCJP 5 | CAPM

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Accesoirement, es-tu bien conscient du mélange que tu fais là?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="../Test" title="menuTest" target="mainFrame" onclick=<%request.getSession().setAttribute("menu", "menuTest");%>
    Tu met dans onclick (un évènement coté client), le résultat (vide) de setAttribute (coté serveur).
    Le code que t'aura en html sera donc toujours:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="../Test" title="menuTest" target="mainFrame" onclick=
    et le setAttribute ne sera pas magiquement appelé coté serveur lors des clics, il ne le sera que lors des rendus

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juillet 2008
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 40
    Points : 29
    Points
    29
    Par défaut ...
    Bonjour et merci de m'avoir ouvert les yeux.
    En fait j'aimerai lors du click sur ce lien ajouter une string dans la session pour la recuperer coté serveur.

    Cela est il faisable en html ou Faut il que j'utilise du javascript ?

    Merci

  5. #5
    Membre averti Avatar de welcome_59
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 203
    Points : 352
    Points
    352
    Par défaut
    Tu met dans onclick (un évènement coté client), le résultat (vide) de setAttribute (coté serveur).
    Exact. Le code Javascript est interprété par le navigateur (coté client donc), alors que request est un objet qui ne vit que côté serveur et est donc inconnu dans ton lien. Pour envoyer une String au serveur par ce lien, tu dois ajouter un paramètre à ta requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="../Test?parametre=ta_string">le lien</a>
    SCJP 5 | CAPM

  6. #6
    Nouveau membre du Club
    Inscrit en
    Juillet 2008
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 40
    Points : 29
    Points
    29
    Par défaut Super...
    En effet ca marche super bien :-)
    la chaine de caractere doit pouvoir etre parametrée car en fait elle renseigne la servlet sur le menu sur lequel a cliqué l'utilisateur.

    Puis je utiliser une variable (javascript par exemple) qui serait alimenter en fonction du lien cliqué ?

    Merci
    J'espere ne pas trop abuser de votre temps.

  7. #7
    Nouveau membre du Club
    Inscrit en
    Juillet 2008
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 40
    Points : 29
    Points
    29
    Par défaut Résolu
    Ma question est idiote j'ai la réponse.

    Je vous remercie tous

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

Discussions similaires

  1. [JSP][session] perte de session et sendRedirect
    Par blaz dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 30/03/2007, 09h32
  2. Perte de Session d'une page à l'autre
    Par Flam dans le forum Langage
    Réponses: 3
    Dernier message: 15/03/2006, 14h34
  3. [Struts]Redirection globale en cas de perte de session
    Par Mercenary Developer dans le forum Struts 1
    Réponses: 10
    Dernier message: 03/02/2006, 14h40
  4. [navigateur]Problême de pertes de sessions sous IE (.js)
    Par Invité4 dans le forum Général JavaScript
    Réponses: 26
    Dernier message: 21/11/2005, 17h53
  5. [VB.NET] Perte de session entre 2 projets
    Par TekP@f dans le forum ASP.NET
    Réponses: 3
    Dernier message: 02/05/2005, 09h12

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