Désolé, je n'avais pas initialisé la variable c

Bonjour,

je débute en Servlets, et je bloque sur l'utilisation des servletContexts.

Je veux initier des objets (threads) dans un ServletContextListener. Et je veux y accéder à partir de mes servlets.

dans mon listener, j'ai
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
    @Override
    public void contextInitialized(ServletContextEvent event) {
        ServletContext sc = event.getServletContext();
        thread = new Thread(new Counter());
        thread.start();
        sc.setAttribute("com.airbus.mcctls.counter", c);
        System.out.println("attribut = "+sc.getAttribute("com.airbus.mcctls.counter"));
    }
déjà, le sysout me sort un "attribut = null". Pas bon.

ensuite, dans ma servlet j'ai
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        PrintWriter out = response.getWriter();
        try {
            Counter c = (Counter)getServletContext().getAttribute("counter");
            out.println("the current count is "+c.i);
        } catch (Exception e) {
            e.printStackTrace(out);
        }
    }
Evidement, dans ma servlet, j'ai null. J'ai vérifié que l'adresse de sc et getServletContext() pointent sur le meme objet.

est ce que qq peut me débloquer?

merci