2009-12-16 7 views
9

¿Hay alguna manera para que un servlet/jsp java determine el tiempo de espera de la sesión del servidor web (en segundos, minutos, etc.)? Intenté buscar en HttpSession y System API, pero no vi ninguna propiedad para determinar el tiempo de espera de la sesión del servidor web. Sé que este valor está establecido en web.xml, pero estoy diseñando una biblioteca de Java que necesita determinar esto a través del código.Determine programáticamente el tiempo de espera de la sesión de Java

Nota: Estoy diseñando para un servidor web genérico y no puedo confiar en las extensiones específicas del proveedor.

Respuesta

2

tiempo de espera de la sesión se determina por el tiempo de inactividad lo que no hay manera de saber cuándo se agotará el tiempo.

Sin embargo, se puede calcular que no se está accediendo a la próxima sesión de tiempo de espera posible asumir,

Date expiry = new Date(session.getLastAccessedTime() + session.getMaxInactiveInterval()*1000); 

 

5

En un uso de servlets:

int timeoutInSeconds = request.getSession().getMaxInactiveInterval(); 

En un uso JSP:

<p>Timeout in seconds: ${pageContext.session.maxInactiveInterval}</p> 
1

Este es el código para obtener el valor de tiempo:

<%= session.getMaxInactiveInterval() %> 
Cuestiones relacionadas