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 :

Rédirection de page


Sujet :

Servlets/JSP Java

Vue hybride

enok37 Rédirection de page 22/08/2007, 12h30
kore62 Je pense maisd j'en suis pas... 22/08/2007, 13h59
adiGuba Salut, Le listener ne... 22/08/2007, 14h23
enok37 En fait le but est de savoir... 22/08/2007, 15h48
adiGuba Ce n'est pas possible de la... 22/08/2007, 15h58
coco62 un filtre de servlet peut... 22/08/2007, 17h31
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 70
    Par défaut Rédirection de page
    Bonjour à tous,
    dans mon appli web, j'ai un listener sur les sessions. Lorsqu'une session expire, j'aimerais rédiriger l'utilisateur vers la page de login (login.jsp).
    Mais dans ma classe SessionFini , je ne sais pas comment faire pour la rédirection.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    public class SessionFini implements HttpSessionListener  {
     
     
    	public void sessionCreated(HttpSessionEvent evt) {
     
    	}
     
     
    	public void sessionDestroyed(HttpSessionEvent evt) {
     
    		// Le code permettant de rédiriger doit être ici.
     
    	}
     
    }
    Quelqu'un aurait il une idée? Je ne sais pas comment acceder à l'objet HttpServletResponse qui me permettrait par exemple d'utilise la méthode sendRedirect("login.jsp");

    Merci d'avance.

  2. #2
    Membre éprouvé Avatar de kore62
    Profil pro
    Inscrit en
    Août 2007
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 222
    Par défaut
    Je pense maisd j'en suis pas tres suer que tu peux en creer un toi meme.. Comme un simple objet..

  3. #3
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,



    Le listener ne s'exécute que coté serveur, et renseigne ton serveur sur le moment où un session est supprimé. A ce moment là il est fort probable que le client soit déjà "déconnecté" depuis longtemps tu ne pourras donc pas le rediriger...

    En fait c'est lors de la "connection" que tu dois vérifier si la session obtenu est nouvelle ou pas (bref tu dois utiliser session.isNew()).

    a++

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 70
    Par défaut
    En fait le but est de savoir si l'utilisateur est resté longtemps sans rien fait. Dans ce cas, sa session va expirer automatiquement. J'ai configurer mon time-out au bout de 15 min. Donc si au bout de 15 min, l'utilisateur ne fait rien alors sa session expire. Alors j'ai mis un listenr de session pour savoir si la session a expiré. Je souhaite donc rédiriger l'utilisateur vers la page de login.

    Si l'utilisateur se déconnecte (de lui-même) ça c'est facile. Il n'y a pas de pb à ce niveau.

    Quelqu'un a une idée? Merci d'avance!

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par enok37 Voir le message
    En fait le but est de savoir si l'utilisateur est resté longtemps sans rien fait. Dans ce cas, sa session va expirer automatiquement. J'ai configurer mon time-out au bout de 15 min. Donc si au bout de 15 min, l'utilisateur ne fait rien alors sa session expire. Alors j'ai mis un listenr de session pour savoir si la session a expiré. Je souhaite donc rédiriger l'utilisateur vers la page de login.
    Ce n'est pas possible de la sorte ! Le protocol HTTP n'est pas "connecté".

    A chaque fois qu'un utilisateur demande une nouvelle page il fait une nouvelle connection.

    Donc au bout des 15 minutes d'inactivités, tu ne peux pas savoir si il est toujours sur ta page, s'il a fermé le navigateur voir s'il a éteins son PC...

    De plus la communication se ferais dans le sens serveur->client ce qui n'est pas possible en HTTP...




    Bref c'est à chaque nouvelle page que tu dois vérifier si la session a expirée ou pas...

    a++

  6. #6
    Membre expérimenté Avatar de coco62
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 237
    Par défaut
    un filtre de servlet peut d'aider pour centraliser cette vérification.
    Sinon, un include jsp dans chaque page (moins évolutif)

  7. #7
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 70
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Ce n'est pas possible de la sorte ! Le protocol HTTP n'est pas "connecté".

    A chaque fois qu'un utilisateur demande une nouvelle page il fait une nouvelle connection.

    Donc au bout des 15 minutes d'inactivités, tu ne peux pas savoir si il est toujours sur ta page, s'il a fermé le navigateur voir s'il a éteins son PC...

    De plus la communication se ferais dans le sens serveur->client ce qui n'est pas possible en HTTP...




    Bref c'est à chaque nouvelle page que tu dois vérifier si la session a expirée ou pas...

    a++
    Merci pour votre réponse.

    Mais j'ai une question pour toi adiGuba:
    D'après ce que j'ai compris, le listener de Session est là pour savoir si une session a débuté ou a expiré. Et comme son nom l'indique, il écoute toujours la session (donc le serveur). Donc ma question est:
    A quoi sert le listener de session?

Discussions similaires

  1. Rédirection d'une page JSP vers une autre page JSP
    Par demcoul dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 13/03/2014, 14h26
  2. [web]maj de pages
    Par Gogoye dans le forum Web
    Réponses: 3
    Dernier message: 17/06/2002, 18h25
  3. Réponses: 7
    Dernier message: 01/05/2002, 20h23

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