Pessoal, to fazendo uma aplicação em que um usuário loga no sistema e possui escopo de sessão.
Eu tenho um botão de sair e gostaria de limpar a sessão para que se o usuário tentar acessar uma
página diretamente ele seja impedido…
busquei no google e achei o código
session.invalidate();
Só que isso é mexendo entre tags <%%> certo?
Eu to usando JSF e passo para o commandButton um metodo de um managedbean chamado sair.
gostaria de saber como limpar sessão estão na classe java e não mais no jsp
obrigado
Amigo é isso mesmo para limpar a sessão precisa escrever dentro do action do seu commandButton
Codigo abaixo
//Contexto da Aplicação
FacesContext conext = FacesContext.getCurrentInstance();
//Verifica a sessao e a grava na variavel
HttpSession session = (HttpSession) conext.getExternalContext().getSession(false);
//Fecha/Destroi sessao
session.invalidate();
outra coisa não deixe de conhecer esta lista de discussão sobre JSF nivel tecnico bem interessante
consegui limpar a sessão mas está dando a seguinte exceção (porque mesmo dando a exceção quando clico no link da página aparece normalmente):
09:33:54,921 ERROR [[Faces Servlet]] Servlet.service() for servlet Faces Servlet threw exception
java.lang.IllegalStateException: Cannot create a session after the response has been committed