HttpSessionListener nao funciona :( [resolvido]

3 respostas
J

Oi pessoal.

To estudando para a SCWCD e resolvi fazer um teste com os listenrers

Testei o ServletContextListener e funcionou direitinho, só eu iniciar a aplicaçao que ele executa o método contextInitialized

Mas, eu tenti o HttpSessionListener e nao funciona :(

eu botei no web.xml:

<listener>

   <listener-class>InterceptaSessao</listener-class>

</listener>

e criei a classe:

public class InterceptaSessao implements HttpSessionListener{

    public void sessionCreated(HttpSessionEvent e){
       

new File("c:/pastaTeste").mkdir();
   
    }

    public void sessionDestroyed(HttpSessionEvent e){

        
    }




}

em uma tentativa desesperada rsrs coloquei o código para criar uma pasta caso entrasse no método, mas nunca cria a pasta .. por mais q eu reestarte feche o browser .. abra .. navegue .. a pasta nunca é criada ( outros codigos tambem foram testados, o método de criar a pasta funciona com certeza).

tá faltando alguma coisa gente?

eu fiz dessa mesma forma ai no ServletContextListener e funcionou, para o HttpSessionListener tem mais alguma coisa de diferente pra fazer?

Obrigado

3 Respostas

MrSpaceman

Cara, você criou um servlet que chama request.getSession();?

Esse método de listener só é chamado quando uma nova sessão é criada, e ela só é criada quando algum servlet faz essa chamada.

Abs

MrSpaceman

Outra coisa… o container pode estar serializando sua session e recuperando ela à todo momento que você reinicia o server.
Adicione a linha

HttpSession session = request.getSession();
session.setMaxInactiveInterval(0);

que daí sua sessão não vai viver muito tempo e toda vez que vc fizer uma request ela será recriada.

Abs.

J

Obrigado hein … valew msm …

Realmente era esse o problema, eu pensava que o container já gerava a session automáticamente após a primeira requisição de página, não imaginei que eu precisava de um código para criá-la

valewww

Criado 23 de julho de 2009
Ultima resposta 25 de jul. de 2009
Respostas 3
Participantes 2