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 :

Problème listener session


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 21
    Points : 18
    Points
    18
    Par défaut Problème listener session
    Bonjour je commence tout juste la programmation avec les servlets et je rencontre quelques petits problèmes avec les listeners de session
    Je vous montre le code et je vous expose ensuite le problème

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
     
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
     
    package exemple;
     
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import javax.servlet.http.HttpSessionEvent;
    import javax.servlet.http.HttpSessionListener;
     
    /**
     *
     * @author Minifish
     */
    public class Chat extends HttpServlet implements HttpSessionListener{
        private List<String> messages=new ArrayList<String>();
        private HttpServletRequest lastRequest;
        private HttpServletResponse lastResponse;
     
     
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
            lastRequest=request;
            lastResponse=response;
            lastResponse.setContentType("text/html;charset=UTF-8");
            PrintWriter out = lastResponse.getWriter();
            HttpSession session=lastRequest.getSession();
     
            if(lastRequest.getParameter("deconnexion")==null){
                if(lastRequest.getParameter("nom")!=null){
                    System.out.println("Dans code principal : "+lastRequest.getParameter("nom"));
                }
                if(lastRequest.getParameter("message")!=null){
                    messages.add(session.getAttribute("nom")+" : "+lastRequest.getParameter("message"));
                }
     
                try{
                    out.println("<html>");
                    out.println("<head>");
                    out.println("<title>Servlet MyForm</title>");
                    out.println("</head>");
                    out.println("<body>");
                    out.println("Bonjour "+session.getAttribute("nom")+"<br/>");
                    out.println("Session id ?"+session.getId()+"<br/>");
                    for(int i=0;i<messages.size();i++){
                        out.println(messages.get(i));
                        out.println("<br/>");
                    }
     
                    out.println("<form action=\"chat\" method=\"POST\">");
                    out.println("<input type=\"text\" name=\"message\" \\>");
                    out.println("<input type=\"submit\" name=\"envoyer\" value=\"Envoyer\"");
                    out.println("<input type=\"submit\" name=\"deconnexion\" value=\"Deconnexion\" ");
                    out.println("</form>");
                    out.println("</body>");
                    out.println("</html>");
                }finally{
                    out.close();
                }
     
            }else{
     
                RequestDispatcher rd;
                rd=getServletContext().getRequestDispatcher("/connexion.html");
                session.invalidate();
                rd.forward(request, response);
            }
     
     
        }
     
        @Override
        public void sessionCreated(HttpSessionEvent se) {
            System.out.println(lastRequest.getParameter("nom"));
        }
     
        @Override
        public void sessionDestroyed(HttpSessionEvent se) {
     
            System.out.println("Déconnexion");
     
        }
    }
    Le problème c'est que dans le listener je fais un println de ma variable passées par mon formulaire et ça m'affiche null alors que dans le code principal j'arrive à afficher la valeur en question
    Aider moi s'il vous plait, ça fait 2 heures que je planche dessus
    Merci de vos réponses.

  2. #2
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Points : 1 161
    Points
    1 161
    Par défaut
    Bonjour

    votre formulaire est passé en GET ou en POST ?
    je ne vois pas l'implémentation de la méthode doGet

    sinon vous rajouter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     protected void doGet(HttpServletRequest request, HttpServletResponse response) {
    doPost(request,response);
    }

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 21
    Points : 18
    Points
    18
    Par défaut
    Le formulaire est passer par la methode post comme l'autre formulaire qui envoi les messages

Discussions similaires

  1. [Servlets - JSP] Problème de session
    Par the java lover dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 28/11/2011, 09h54
  2. Problème de session
    Par kephy dans le forum Langage
    Réponses: 11
    Dernier message: 24/11/2005, 10h08
  3. Problème de session
    Par meda dans le forum Langage
    Réponses: 13
    Dernier message: 25/10/2005, 18h25
  4. problème de session en cours
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 2
    Dernier message: 19/07/2005, 14h36
  5. Gros problème de session/cookies
    Par valfredr dans le forum XMLRAD
    Réponses: 18
    Dernier message: 03/06/2004, 09h21

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