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 :

Gérer la Fermeture d'une HTTPSession


Sujet :

Servlets/JSP Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 22
    Points : 8
    Points
    8
    Par défaut Gérer la Fermeture d'une HTTPSession
    Bonjour à tous,

    depuis toute la journée que j'essaye de résoudre un pb sur mes sessions TomCat. Je m'explique.
    Mon besoin étant de détecter chaque session créée et fermé par les utilisateur de mon apli.
    Pour la création y'a pas de pb. Mais sur la fermeture de la session j'arrive pas à gérer l'événement quand l'utilisateur ferme son navigateur IE.
    J'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class MySessionListner implements HttpSessionListener {
     
    	public void sessionCreated(HttpSessionEvent arg0) {
    		System.out.println("  Début de session... ");
    	}
     
    	public void sessionDestroyed(HttpSessionEvent arg0) {
    	System.out.println(" Fin de session... ");
            }
     
    	}
    Sauf que quand je ferme navigateur IE (Donc mon application), la méthode sessionDestroyed ne détecte rien.

    Pouvez vous m'aider SVP pour detecter la fermeture de la session par l'utilisateur.

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    La session n'est pas fermée. C'est le serveur qui gère la fermeture après un timeout.

  3. #3
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Ou par un appel à une méthode de fermeture de session.

  4. #4
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 22
    Points : 8
    Points
    8
    Par défaut Oui mais comment faire
    Ahhhh okkk, Mais dans ce cas là comment gérer l'évenement quad l'utilisateur ferme IE

  5. #5
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Avec un peu de javascript, tu peux envoyer une action à ton serveur pour que celui ci ferme la session en question.

    Néanmoins, tu ne pourras jamais être certain que l'utilisateur ferme sa session, voilà, l'utilité du timeout côté serveur.

  6. #6
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 22
    Points : 8
    Points
    8
    Par défaut JAVAScript
    Je ne sais pas comment on peut faire ca mais je vais chrecher merci bcp pour vos réponses les gars

  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
    On ne peut pas détecter la fermeture sur tous les navigateurs, donc, pour le javascript, ça limite !

    Une solution de contournement serait de mettre un timeout de session très bas, quitte à stimuler la session périodiquement par une requête AJAX.
    Dans ce cas, si tu fermes le navigateur, la stimulation ne se faisant plus, la session sera rapidement détruite.

    A+

  8. #8
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 22
    Points : 8
    Points
    8
    Par défaut Ca ne marche pas
    Je viens d'essayer le code suivant :

    <body onbeforeunload="quitter();" >


    <script language="JavaScript">
    function quitter(){
    alert('A bientot ...');
    }
    </script>

    sauf que ça marche pas, je n'ai jamais le message 'A bientot ...' qui s'affiche.
    et même onunload ne marche pas... qq un peut m'aider SVP

  9. #9
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 22
    Points : 8
    Points
    8
    Par défaut C'est pas vraiment ca
    Ok, ça marche mais que sur la page dans laquelle j'ai mis le onbeforeunload.

    Mais ce que je veux c'est une fois que l'utilisateur ferme l'application (Càd fermer IE pour toutes les pages) je veux faire un traitement particulier...

  10. #10
    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
    Non, ça ne va pas... onbeforeunload est déclenché à chaque fois que tu quittes la page, pas quand tu fermes le navigateur !

    Dans l'exemple : page1 --navigation-> page2
    Si page1 à un "onbeforeunload", il sera déclenché

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 41
    Points : 37
    Points
    37
    Par défaut
    Bonjour,
    Je vois que vous vous y connaissez en terme de fermeture de session, voilà j'ai un probleme dans mon application on passe part un proxy et la session est limitée par celui-ci, et mon traitement ne fini pas j'ai un retour du serveur avec un code 504 qui signifie un time out, est-il possible de récuperer la fin de mon traitement avec l'id session
    Merci

Discussions similaires

  1. gérer la fermeture d'une session
    Par Golzinne dans le forum Silverlight
    Réponses: 2
    Dernier message: 20/01/2013, 18h50
  2. Gérer la fermeture d'une CDialog
    Par superjaja dans le forum Visual C++
    Réponses: 3
    Dernier message: 20/03/2007, 16h31
  3. [VB.Net] Comment gérer la fermeture d'une fenêtre ?
    Par nakata77 dans le forum VB.NET
    Réponses: 2
    Dernier message: 14/09/2006, 11h31
  4. [VB6] [MDI] Signaler la fermeture d'une fille à la mère
    Par cpri1shoot dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 13/04/2004, 09h57
  5. gérer les jpg dans une fenetre directdraw???
    Par Anonymous dans le forum DirectX
    Réponses: 1
    Dernier message: 14/06/2002, 14h39

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