Usando session dentro do jspInit() e jspDestroy()

3 respostas
warley

Bom dia,

Eu estou com um problema que é o seguinte:

Eu tenho que criar session quando a minha página jsp é criada, e tenho que remove-la quando o usuário fechar esta página, eu fiz um cógico seguinte mas está dando problema, vejam:

<%!
private String conteudo = “”;

public void jspInit(){
conteudo = “Testa Saida”;

setSession(session);
}

public void setSession(HttpSession session){

session.setAttribute(“conteudo”, conteudo);

}
public void removeSession(HttpSession session){

session.removeAttribute(“conteudo”);

}

public void jspDestroy(){
removeSession(session);

}

%>

<%
String aux = (String)session.getAttribute(“conteudo”);

out.println(aux);

%>

Os erros são dos seguintes:

setSession(session);
*** Error: No entity named “session” was found in this environment.

removeSession(session);
*** Error: No entity named “session” was found in this environment.

Alguêm poderia me ajudar?

Muito obrigado!

3 Respostas

Rafael_Steil

Nao tem sentido vc fazer da maneira que esta fazendo.

Faca uma classe que implementa SessionListener e manipule as coisas la.

Rafael

warley

Deste modo que eu postei não tem como fazer não?

Eu, obrigatoriamente, tenho fazer uma classe, sendo que eu só preciso destruir a session quando o usuário fecha a página!

Vc não saberia uma forma de fazer isso usando o código que postei, sem ser utilizando uma classe?

Obrigado.

Rafael_Steil

jspInit() eh chamado uma unica vez, que eh quando a pagina jsp eh chamada a primeira vez, da mesma maneira como o metodo init() do HttpServlet.

Faca uma classe que implementa SessionListener e declare o listener no web.xml. Assim voce vai conseguir ter controle sobre o inicio e o termino da sessao de cada usuario.

Rafael

Criado 21 de maio de 2004
Ultima resposta 21 de mai. de 2004
Respostas 3
Participantes 2