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 :

Probleme de session (deconnexion) avec servlet et jsp


Sujet :

Servlets/JSP Java

  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2005
    Messages
    288
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 288
    Par défaut Probleme de session (deconnexion) avec servlet et jsp
    Bonjour,

    J'ai un souci avec mes sessions.

    J'aimerais faire de sorte que quand on clique sur le bouton Déconnexion de mon site, la session se termine et qu'une fois que c'est fait, s'il on clique sur le bouton Précédent, ça renvoie sur la page de login, plutôt que la dernière page visitée.

    Voici mon script logout.jsp
    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
    <%@ page language="java" session="true"contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    <%
    session.invalidate();
    %>
    <jsp:forward page="deconnexion.jsp"></jsp:forward>
    </body>
    </html>
    et voici les lignes qui recupèrent la session dans le veriflogin.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    String login = request.getParameter("login");
            String password1 = request.getParameter("password");
            HttpSession session = request.getSession();
            session.getAttribute("login");
            if(login.equals("") || (password1.equals("")))
            {
                response.sendRedirect("erreurlogin.jsp");
            }
    Quelqu'un saurait-il m'indiquer comment faire ?

    Merci d'avance pour votre aide.

  2. #2
    Membre émérite Avatar de Lorantus
    Homme Profil pro
    Consultant développeur indépendant / Java/VB/C(++)/ObjectPal
    Inscrit en
    Août 2007
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant développeur indépendant / Java/VB/C(++)/ObjectPal

    Informations forums :
    Inscription : Août 2007
    Messages : 599
    Par défaut
    Plusieurs points à reprendre...

    1.
    Dans la JSP de deconnexion:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    session.removeAttribute("login");
    session.invalidate();
    Je sais pas où va "deconnexion.jsp", mais il semble que ce soit déjà fait dans cette JSP.

    2.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    session.getAttribute("login");
    pas d'affectation... ? Fait une classe type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    class Utilisateur{
     public String login;
    }
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Utilisateur u=(Utilisateur)session.getAttribute("login");
    3.
    Un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    {
     response.sendRedirect("erreurlogin.jsp");
     return;
    }
    evitera d'executer la suite du code -s'il y en a un.

  3. #3
    Membre éclairé
    Inscrit en
    Juillet 2005
    Messages
    288
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 288
    Par défaut
    Merci d'avoir répondu.

    J'ai ajouté tes lignes mais cela ne résout pas mon problème. Pourrais-tu être plus explicite ?

    Merci d'avance.

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Teste plutôt si la connexion est toujours valide, ou si un attribut de session est different de null, normalement quand tu authentifies un user tu le mets en session, le session invalidate des fois t'es même pas obligé de le faire.

  5. #5
    Membre éclairé
    Inscrit en
    Juillet 2005
    Messages
    288
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 288
    Par défaut
    Oui la connexion est validée. En fait, je voudrais faire comme en PHP (session_start();) au début de toutes les pages et une fois déconnecté, même s'il on clique sur bouton Précédent, il nous demande de nous logger avant d'entrer dans le site.

  6. #6
    Membre émérite Avatar de Lorantus
    Homme Profil pro
    Consultant développeur indépendant / Java/VB/C(++)/ObjectPal
    Inscrit en
    Août 2007
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant développeur indépendant / Java/VB/C(++)/ObjectPal

    Informations forums :
    Inscription : Août 2007
    Messages : 599
    Par défaut
    Si je comprend bien, c'est la possibilité de faire 'précédent' qui te pose un probléme.

    Pourquoi ne pas faire un no-cache, avec un expires à -1 pour ne pas mettre en cache ? Lors du bouton précédent, le navigateur doit faire une requête -car pas en cache- et là, tu peux verfiier si session.getAttribute("login") est null ou valide.

  7. #7
    Membre éclairé
    Inscrit en
    Juillet 2005
    Messages
    288
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 288
    Par défaut
    Oui, c'est le bouton Précédent qui me pose toujours problème et qui me renvoie toujours à la derniére page visitée, alors qu'il devrait me demander de me logger.

Discussions similaires

  1. Utilisation FullCalendar avec servlet et JSP
    Par amalliap dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 08/04/2015, 10h14
  2. problem de session.delete avec hibernate
    Par sheura dans le forum Hibernate
    Réponses: 2
    Dernier message: 11/02/2009, 23h32
  3. [JSP] probleme de out.println() avec un document
    Par SEMPERE Benjamin dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 15/08/2004, 23h05
  4. [JSP] probleme de out.println() avec un document
    Par SEMPERE Benjamin dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 12/08/2004, 08h31

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