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

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 70
    Points : 39
    Points
    39
    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 actif 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
    Points : 205
    Points
    205
    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 sénior
    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
    Points : 23 190
    Points
    23 190
    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
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 70
    Points : 39
    Points
    39
    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 sénior
    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
    Points : 23 190
    Points
    23 190
    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 actif Avatar de coco62
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 237
    Points : 278
    Points
    278
    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
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 70
    Points : 39
    Points
    39
    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?

  8. #8
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par enok37 Voir le message
    A quoi sert le listener de session?
    Les possibilités sont multiples et variés, quelques exemples en vrac :
    • Compter le nombre d'utilisateur en ligne (1 session = 1 utilisateur).
    • Associer une ressource à une session, et la libérer proprement cette ressource lorsque la session est détruite.
    • Pour un site de commerce en ligne, la session sert à gérer un panier. Le listener pourrait permettre de sauvegarder ce panier dans une base de données lorsque la session expire, afin de pouvoir le restaurer lorsque l'utilisateur se reconnecte.
    • etc.


    Il y a surement d'autre cas d'utilisation, mais une chose est certaine : cela ne concerne que la partie serveur et pas directement la partie cliente...

    a++

  9. #9
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 70
    Points : 39
    Points
    39
    Par défaut
    Merci pour ces éclaircissements,

    dans mon cas un filtre, comme le dit coco62, un filtre fera t-il l'affaire ?

    A+

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, 15h26
  2. [web]maj de pages
    Par Gogoye dans le forum Web
    Réponses: 3
    Dernier message: 17/06/2002, 19h25
  3. Réponses: 7
    Dernier message: 01/05/2002, 21h23

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