Fechar Sessao - objeto Session
Oi amigos...
estou buscando como fazer uma sessão ser fechada e só achei em JavaScript... dei uma olhada nos meus livros, mas não achei nada... Como meu tempo é muito escasso, recori a ajuda de vcs...
O que estou fazendo:
qdo um cliente se loga ao meu sistema, armazeno seu código e seu nome na sessão. Porém, tenho uma opção SAIR, (que talvez mudarei para FECHAR SESSÃO) e preciso limpar esses registros.
Podem me ajudar?
a opção vai estar em um ítem de menu e será fechada ao clique do mouse....
obrigada mais uma vez! :roll:
Andréa
Andréa Martins
Curtidas 0
Respostas
Marcos Pereira
09/04/2009
Andrea, para fechar a sessão vc simplesmente usa o metodo [url=http://java.sun.com/products/servlet/2.3/javadoc/javax/servlet/http/HttpSession.html#invalidate()]invalidate()[/url]. Todos os objetos que vc tiver guardado na sessão serão descartados.
valeuz...
GOSTEI 0
Marcos Pereira
09/04/2009
certo, meu menu esta em javascript. No ítem sair, onclick="window.location='index.jsp';". Com isso ele volta à pagina inicial e pede login e senha novamente. Se eu voltar a página, percebo que a sessão não foi eliminada.
Não sei como fazer porque mistura códigos JavaScript e Java.
Pensei em fazer o seguinte:
Na página inicial, coloco em uma das primeiras linhas um código que testa se é uma nova sessão:
if (session.isNew()){
}
else
session.invalidate();
mas não estou tão certa se é realmente assim...
vou testar aqui, mas se não for isso, me avisem.
Obrigada,
Andréa :oops:
GOSTEI 0
Marcos Pereira
09/04/2009
[quote="Andréa Martins"]certo, meu menu esta em javascript. No ítem sair, onclick="window.location='index.jsp';". Com isso ele volta à pagina inicial e pede login e senha novamente. Se eu voltar a página, percebo que a sessão não foi eliminada.
Não sei como fazer porque mistura códigos JavaScript e Java.
Pensei em fazer o seguinte:
Na página inicial, coloco em uma das primeiras linhas um código que testa se é uma nova sessão:
if (session.isNew()){
}
else
session.invalidate();
mas não estou tão certa se é realmente assim...
vou testar aqui, mas se não for isso, me avisem.
Obrigada,
Andréa :oops:
Faça assim:
window.location='index.jsp?invalidate=true'
String ssRp = request.getParameter("invalidate");
if(ssRp != null)
session.invalidate();GOSTEI 0
Marcos Pereira
09/04/2009
E para limpar determinados itens da sessao e deixar outros ?
GOSTEI 0
Marcos Pereira
09/04/2009
[quote="schneider"]E para limpar determinados itens da sessao e deixar outros ?
Bom, nesse caso, Guilherme, vc tem que remover os itens explicitamente usando o metodo [url=http://java.sun.com/products/servlet/2.3/javadoc/javax/servlet/http/HttpSession.html#removeAttribute(java.lang.String)]removeAttribute[/url].
valeuz...
GOSTEI 0
Marcos Pereira
09/04/2009
Certo ...
Gracias Jack
:!: :!:
GOSTEI 0
Alexandre Jensen
09/04/2009
<%@ page import="java.sql.*" session="true" errorPage="error.jsp" %>
<%
[color=red:a1dacd13f2]session.putValue("s_id",null);
session.setAttribute("usunome",null);
session.invalidate();
response.sendRedirect("index.jsp");[/color:a1dacd13f2]
%>
Isto estaria correto também? Caso positivo, faça assim!
Para mim deu certo
GOSTEI 0
Dalton
09/04/2009
[quote="Alexjensen"]
Qual erro que deu?
<%@ page import="java.sql.*" session="true" errorPage="error.jsp" %>
<%
[color=red:b3db7c3d4d]session.putValue("s_id",null);
session.setAttribute("usunome",null);
session.invalidate();
response.sendRedirect("index.jsp");[/color:b3db7c3d4d]
%>
Isto estaria correto também? Caso positivo, faça assim!
Para mim deu certoGOSTEI 0
Marcos Pereira
09/04/2009
[quote="Alexjensen"]
Alex, aqui parece que vc quer eliminar os atributos s_id e usunome da sua session, certo?! Bom, eu sinceramente faria apenas assim:
<%@ page import="java.sql.*" session="true" errorPage="error.jsp" %>
<%
[color=red:fb0c805bdd]session.putValue("s_id",null);
session.setAttribute("usunome",null);
session.invalidate();
response.sendRedirect("index.jsp");[/color:fb0c805bdd]
%>
session.invalidate();
response.sendRedirect("index.jsp");GOSTEI 0
Alexandre Jensen
09/04/2009
[quote="aspirante"][quote="Alexjensen"]
Qual erro que deu?<%@ page import="java.sql.*" session="true" errorPage="error.jsp" %>
<%
[color=red:433aaefbe0]session.putValue("s_id",null);
session.setAttribute("usunome",null);
session.invalidate();
response.sendRedirect("index.jsp");[/color:433aaefbe0]
%>
Isto estaria correto também? Caso positivo, faça assim!
Para mim deu certoGOSTEI 0
Edison Azevedo
09/04/2009
Tentei fazer assim...mas não rolou...
Eu sei que tenho que usar o session.invalidate().... mas como eu uso no caso de um botão sair ?
<a href="index.jsp"><img src="images/botoes/btn-sair.jpg" border="0" style="cursor:hand;" onClick="window.location='index.jsp?session.invalidate=true' "></a>
GOSTEI 0
Everton Barros
09/04/2009
[quote="edison_filho"]Tentei fazer assim...mas não rolou...
Eu sei que tenho que usar o session.invalidate().... mas como eu uso no caso de um botão sair ?
Nao entedi vc estah tentando invalidar sua sessao dentro de um parametro passado ao carregar uma outra pagina jsp? E outra coisa vc estah setando ela como true para q(Acho q isso ele nem aceita)? Cara vc vai ter q invocar um function javascript e redirecionar para um metodo, ai o seu metodo(código java)vai fazer com que sua sessão seja fechada com o metodo invalidate() "não precisa setar nada nesse metodo".
<a href="index.jsp"><img src="images/botoes/btn-sair.jpg" border="0" style="cursor:hand;" onClick="window.location='index.jsp?session.invalidate=true' "></a>
session.invalidate();
GOSTEI 0
Cristina Constantin
09/04/2009
[quote="ebarros"][quote="edison_filho"]Tentei fazer assim...mas não rolou...
Eu sei que tenho que usar o session.invalidate().... mas como eu uso no caso de um botão sair ?
Eu crio um botão que envia para uma pagina encerrar.jsp.
Na página encerra.jsp eu coloco o codigo a seguir:
<html>
<head>
<title>Encerra Sessão</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<%@include file="cabecalho.jsp"%>
<br>
<div align="center">
<h2>Sessão Encerrada.</h2><br>
<input name="login" type="button" value="Página Inicial" onClick="window.location='index.jsp';">
<%session.invalidate();%>
</div>
<%@include file="rodape.jsp"%>
</body>
</html>
Isso funciona bem... espero ter ajudado.
[]s
Cristina
GOSTEI 0