Funcion cerrar del Explorer

ArtiosFAE
18 de Enero del 2005
Actualmente estoy manteniendo el codigo fuente (servlets) del sitio web de la empresa y lo que necesito es saber si puedo capturar la accion de cerrar la ventana del Internet explorer para modificar algunas variables de sesion del usuario cuando se sale del sistema de manera anormal. De antemano gracias al que me responda.

Lemony Snicket
18 de Enero del 2005
Hola,...

Cuando se cierra el navegador la sesión asociada se pierde por completo, de modo que no entiendo bien eso de... "modificar algunas variables de sesión del usuario cuando se sale del sistema de manera anormal". No puedes trabajar con las variables de sesión del usuario si ese usuario destruye su sesión cerrando el navegador. ¿En la sesión de quién se guardarán ahora esas variables?.

En cualquier caso, si -por higiene del código o cualquier otra razón- lo que quieres es asegurarte de que esas variables desaparecen de sesión antes de que el usuario cierre la aplicación se me ocurre que puedes deshabilitar la botonera del navegador y obligar a utilizar un botón habilitado en tu aplicación para cerrar la ventana del navegador. En ese caso puedes trabajar con JavaScript empleando eventos... A grandes rasgos sería algo así,...

En el JSP donde se ubica el botón para cerrar la ventana...
<form name="form_cerrar"
action ="jsp/modulo/cierra.jsp"
method ="post">
<input type=image src"/boton_cerrar.gif" >
</form>

Al pulsar sobre la imagen "boton_cerrar.gif" se envía una petición al JSP especificado en el atributo "action" en el que podrías limpiar las variables de sesión (session.remove()) y finalmente cerrar la ventana con la sentencia javaScript window.close();

Espero que te sirva...