2009-12-16 2 views
9

Есть ли способ для java-сервлета/jsp для определения тайм-аута сеанса веб-сервера (в секундах, минутах и ​​т. Д.)? Я пробовал искать в HttpSession и System API, но не видел никакого свойства для определения тайм-аута сеанса веб-сервера. Я знаю, что это значение задано в web.xml, но я разрабатываю java-библиотеку, которая должна определять это через код.Программно определить тайм-аут сеанса Java

Примечание: Я проектирую для универсального веб-сервера и не могу полагаться на конкретные расширения поставщика.

ответ

2

Тайм-аут сеанса определяется время простоя, так что нет никакого способа узнать, когда он будет тайм-аут.

Однако, вы можете рассчитывать на следующий сеанс можно таймаут при условии, не обращается,

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

 

5

В использовании сервлетов:

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

В с использованием JSP:

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

Это код, чтобы получить значение времени ожидания:

<%= session.getMaxInactiveInterval() %> 
Смежные вопросы