sesiones con servlets

inma
29 de Octubre del 2003
Hola a todos, no se como se puede cerrar una sesion mediante servlets sin que sea necesario cerrar la ventana del navegador.
Es algo urgente, agradeceria vuestra ayuda.

pepillo
29 de Octubre del 2003
No se si podria ser usando invalidate() o borrando el cookie q este utilizando.

inma
29 de Octubre del 2003
He probado invalidate() y no me funcionó, por favor, necesito ayuda.

xDa
29 de Octubre del 2003
para finalizar las sesion utiliza session.invalidate(); un ejemplo sencillo pero practico seria:

if (request.getParameter("logoff") != null) {
session.invalidate();
response.sendRedirect("/Examen/JSP/Salida.jsp");
return;
}

aqui estoy llamando un servlet que contiene el fragmento de codigo anterior desde un jsp, el cual redirecciona a otra pagina segun un parametro especificado mediante un enlace a este servlet por ejemplo:
<A HREF="<%= response.encodeURL("/Examen/servlet/Control.control.login?logoff=true") %>">Salir</A>

imprime el ID de la sesion y te daras cuenta que efectivamente la termina, ahora si el problema es que quieres evitar que un usuario vaya a la pagina anterior por medio de los botones del navegador, una solucion puede ser, inlcuir en tu jsp:
<%@page ------content=, session=,import,.... etc------%>
adiciona esta linea:
<%response.setHeader("Cache-Control","no-cache,no-store");%>

y listo.