Este artículo describe el método de implementación para configurar el tiempo de vencimiento de la sesión en Java y lo comparte con usted para su referencia. El método de implementación específico es el siguiente:
1. Tiempo de espera en el descriptor de implementación (web.xml)
en minutos
Copie el código de la siguiente manera: <web-app...>
<configuración de sesión>
<tiempo de espera de sesión>20</tiempo de espera de sesión>
</sesión-config>
</aplicación web>
La configuración anterior tiene efecto para toda la aplicación web. Cuando el cliente no inicia una solicitud dentro de los 20 minutos, el contenedor cerrará la sesión.
2. Tiempo de espera con setMaxInactiveInterval()
Especifique el tiempo de vencimiento de una sesión específica mediante codificación, en segundos. Por ejemplo:
Copie el código de la siguiente manera: HttpSession session = request.getSession();
sesión.setMaxInactiveInterval(20*60);
La configuración anterior solo se aplica a la sesión que llama al método "setMaxInactiveInterval()", y el contenedor cerrará la sesión si el cliente no realiza ninguna solicitud después de 20 minutos.
Pensamientos….
Esto es un poco confuso, el valor en el descriptor de implementación (web.xml) está en "minuto", pero el método setMaxInactiveInterval() acepta el valor en "segundo". Ambas funciones deberían sincronizarlo en una versión futura.
3. Defínalo en el programa, la unidad es segundos, configúrelo en -1 para que nunca caduque, el código de muestra es:
Copie el código de la siguiente manera: session.setMaxInactiveInterval(30*60);
El orden de prioridad para que la configuración de la sesión produzca efectos es: primero el programa, luego la configuración, primero local y luego general.
Espero que este artículo sea útil para la programación Java de todos.