¿Cuáles son las formas de destruir Session?

Session, como tecnología back-end de la que no podemos prescindir, su aparición es principalmente para resolver las características sin estado del protocolo Http, que se utiliza para resolver el problema de almacenamiento del estado del usuario, y que a menudo implica un problema de tiempo para el almacenamiento. Echemos un vistazo a los métodos de destrucción.

La destrucción del
tiempo predeterminado expira el tiempo de
expiración establecido propio
expira inmediatamente
cerrar el navegador
apagar el
caso del servidor la operación práctica del
tiempo predeterminado expira
cuando el cliente solicita por primera vez el servlet y la sesión operativa, la generación de objetos de sesión, por ejemplo a Tomcat, Tomcat El tiempo de supervivencia predeterminado de la sesión intermedia es de 30 minutos, es decir, el tiempo que no se opera la interfaz, una vez que se realiza una operación, la sesión se cronometrará nuevamente. ¿Se puede cambiar la hora predeterminada de la sesión? La respuesta es sí. Se puede modificar en el archivo web.xml de Tomcat. Como se muestra abajo:

Configure el tiempo de caducidad usted mismo.
Por supuesto, además de los métodos de modificación anteriores, también podemos configurar el ciclo de vida de la sesión en el programa. Configure el tiempo máximo de inactividad de la sesión a través de session.setMaxInactiveInterval (int); en segundos.

La sesión = la req.getSession la HttpSession ();
session.setMaxInactiveInterval (5);
Copie el código,
por supuesto, también podemos getMaxInactiveInterval (); para ver el objeto de sesión de tiempo máximo de inactividad actual.

Invalidar inmediatamente
o también podemos usar session.invalidate (); método para invalidar la sesión inmediatamente.

session.invalidate ();
Copiar el código para
cerrar
la parte inferior de la sesión del navegador depende de la implementación de la cookie, porque diferentes usuarios acceden al servidor para determinar qué sesión se utiliza, por lo que cuando el usuario visita el servidor por primera vez, una identificación de sesión a menudo se almacena en una cookie Para el lado del usuario, y el tiempo efectivo de la cookie es cerrar el navegador, por lo que la sesión es equivalente a inválida cuando se cierra el navegador (porque no hay una identificación de sesión que le corresponda). Como se muestra en la figura a continuación, ciérrelo y ábralo nuevamente, y asigne una identificación de sesión al navegador nuevamente.

imagen-20200708195027943

Cabe señalar que aquí solo la cookie no es válida. Si vuelve a visitar el servidor, lo tratará como un nuevo usuario y creará una sesión para usted sin destruir el objeto de la sesión anterior.

Apagar el servidor
Cuando el servidor se apaga de forma anormal, la sesión se destruye; cuando el servidor se apaga normalmente, la sesión se serializará en el disco en el archivo SESSION.ser en el directorio de trabajo del espacio de trabajo. Si el objeto se guarda en la sesión, el servidor Para serializar el objeto en el disco duro cuando se apaga, el objeto debe implementar la interfaz serializable, y se cargará automáticamente en la memoria cuando se inicie el servicio la próxima vez. Como se muestra en la figura siguiente, después del apagado normal, puede ver que hay un archivo SESSIONS.ser adicional en la carpeta y el archivo desaparece cuando se reinicia el servidor.

Extensión ~ Destrucción de cookies

Además de ver el nombre y el contenido de la cookie en la figura, también debemos preocuparnos por una parte de la información, el tiempo de vencimiento, el tiempo de vencimiento se usa para especificar cuándo caduca la cookie. El valor predeterminado es que el navegador actual está deshabilitado cuando se cierra. Podemos establecer manualmente el tiempo efectivo de la cookie (calculado por el tiempo de vencimiento) y establecer el tiempo efectivo máximo de la cookie a través del método setMaxAge (int expiry);, en segundos.

Un entero mayor que 0 indica la cantidad de segundos a almacenar; si es un número negativo, indica que la cookie no está almacenada; si es 0, la cookie se borra.
Entero negativo: el valor predeterminado del atributo maxAge de la cookie es -1, lo que significa que solo sobrevive en la memoria del navegador. Una vez que se cierra la ventana del navegador, la cookie desaparecerá.
Entero positivo: indica que el objeto de la cookie puede sobrevivir el número especificado de segundos. Cuando la vida es mayor que 0, el navegador guardará la cookie en el disco duro, incluso si el navegador está cerrado, incluso si se reinicia la computadora cliente, la cookie sobrevivirá el tiempo correspondiente.
Cero: la duración de la cookie igual a 0 es un valor especial, lo que significa que la cookie no es válida. En otras palabras, si el navegador original ya ha guardado la cookie, puede eliminar la cookie a través de setMaxAge (0) de la cookie. Este Coo se eliminará ya sea en la memoria del navegador o en el disco duro del cliente.

Supongo que te gusta

Origin blog.51cto.com/14966610/2542500
Recomendado
Clasificación