JSF gerenciamento de sessão

5 respostas
P

Galera é o seguinte:

Estou fazendo um programa para empresa onde trabalho que é necessario possibilitar ao usuario o download de um relatorio. O relatorio esta pronto, e eu ja consigo fazer um download, mas nao da maneira correta. Pois para fazer o download de um arquivo preciso salva-lo em algum local do servidor (onde o programa será executado) para que o usuario possa baixa-lo para sua maquina, e apos este download preciso deletar este arquivo. Eu tive a ideia de deletar o arquivo quando a sessao do usuario for fechada, ai se o arquivo ainda estiver em uso eu coloco ele em uma lista e vou tentando deletar os arquivos desta lista de tempos em tempo.

O grande problema é: Tem como eu executar um metodo logo depois que a sessao do usuario foi fechada? Se sim, como eu faria isso?

Espero que alguem possa me ajudar.

5 Respostas

Hebert_Coelho

Vc pode implementar um listener do httpsession.

toda vez que alguém fizer logout esse método será executado:
http://www.java2s.com/Tutorial/Java/0400__Servlet/ServletHttpSessionListener.htm

P

Cara tentei fazer o listener aqui mas tive um problema… Quando eu abro o programa o metodo sessionCreated(HttpSessionEvent se) é chamado e faz tudo que tinha que fazer blz… Mas quando eu fecho a aba onde esta sendo executado o programa, ou fecho o browser o metodo sessionDestroyed(HttpSessionEvent se) - que é o que eu preciso realmente - não é chamado… Vc sabe pq isso pode estar acontecendo?

Hebert_Coelho

Pq fechar browser não mata sessão.

Ou vc cria um método que chama session.invalidate() ou você reduz o tempo da sessão para que o próprio containner a finalize.

Pesquisa no google: “como finalizar sessão java” vc vai ver que várias pessoas já confabularam sobre o assunto.

Mas lembre-se: “Fechar janela, não mata sessão” [=

P

O cara valeu mesmo… Eu mudei o tempo para a sessao expirar e ai comecou a chamar o método…

Brigado mesmo

Hebert_Coelho

Por nada chefe! [=

Criado 21 de dezembro de 2011
Ultima resposta 21 de dez. de 2011
Respostas 5
Participantes 2