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.