ServletContextListener não funciona

Pessoal,

Alguém aqui já implementou a interface ServletContextListener? Fiz tudo certo (eu acho) e não acontece nada, coloquei alguns prints nos métodos que não são executados nunca…

o servlet:

package br.com.apl.servlet;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

/**
 * (descreva a classe aqui) 
 * @author glmelo
 * @version 1.0
 */
public class ListenerAplicacaoServlet implements ServletContextListener {
  /*
  This class acts as a listener for the ServletContext. When the servlet context
  is started an instance of Serial is created.

  When destroyed the Serial thread is stopped cleanly.
  */
   
    public void contextDestroyed(ServletContextEvent event){
      event.getServletContext().log("DESLIGOU O SERVIDOR.");
      System.out.println("DESLIGOU O SERVIDOR");
    }
   
    public void contextInitialized(ServletContextEvent event)
    {
      //start thread
      System.out.println("LIGOU O SERVIDOR. ");
      event.getServletContext().log("LIGOU O SERVIDOR. ");  
      String teste = null;
      teste.substring(0,5);
    }
  }

Tentei até provocar um erro para ver se ocorria uma exceção e nada aconteceu…

Olha meu web.xml

<web-app> 
 <description>Empty web.xml file for Web Application</description>
 <listener>
    <listener-class>
        br.com.apl.servlet.ListenerAplicacaoServlet
    </listener-class>
  </listener>

  <servlet>
    <servlet-name>TesteServlet</servlet-name>
    <servlet-class>br.com.apl.servlet.TesteServlet</servlet-class>
  </servlet>
.
.
.
.
<display-name>default-app</display-name>
</web-app>

Me parece que ta tudo certo, alguma sugestão?

Olá. Qual IDE você está usando? Qual servidor você está usando?

Acho que nesse caso a IDE não fará diferença, já que eu só consigo testar a aplicação direto no servidor… não consigo nem debugar

O servidor é o Jrun 3.1 (antiguidade)

A estrutura de diretório dos servidor é assim:

servers
– default
– default-app
– web-inf
– web.xml

– demo-app
– demais aplicações…

Dentro de cada diretório de aplicação (demo-app, etc) há a mesma estrutura. Dentro da pasta default também há o web-inf. Não sei detalhadamente como ele funciona, mas minha aplicação é composta somente de servlets, dos quais eu gero um .jar e coloco dentro do diretório default-app\web-inf\lib.
Todos os servlets estão configurados dentro do web.xml que está em default-app\web-inf e foi nesse mesmo web.xml que eu configurei meu listener.

Fiz tudo certinho, provavelmente é uma configuração do JRun, mas como eu disse antes, ele é muito antigo e não tenho um suporte satisfatório…

Qualquer sugestão será bem vinda, já que esgotei todas as minhas possibilidades…

Se de tudo não conseguir, tentarei explicar o problema aqui para ver se alguém da outra sugestão, mas o listener é um recurso muito interessante e caiu como uma luva para resolver meu problema.

Valeu pessoal, me ajuda ae…

Oi. Bom, para começar eu te aconselharia a usar o tomcat que é bem leve ou jboss(um pouco mais pesado, porém mais completo).
Olhando o seu código, não há nada de errado aparentemente. Também te aconselharia a usar uma IDE, pois ficaria mais fácil de encontrar os erros.
Nunca usei esse JRun(nem sabia que existia).

Espero ter ajudado.