sesiones con servlets
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.
Es algo urgente, agradeceria vuestra ayuda.
No se si podria ser usando invalidate() o borrando el cookie q este utilizando.
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.
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.