Тайм-аут, определенный в web.xml, является idle тайм-аутом сеанса. Если вы установите его на одну минуту, это не означает, что продолжительность сеанса составляет одну минуту, это означает, что он будет признан недействительным через одну минуту неактивности ! Это серьезная разница.
Сказать, что " в начале запроса сеанс все еще действителен, в конце больше не " очень странно, потому что, если запрос обрабатывается, это означает некоторую текущую активность, которая немного противоречит состоянию простоя
(NB: хорошо, вы можете получить тайм-аут чтения, если ваш сервлет не отвечает в течение разумной задержки запрашивающей стороне, но это другая история, с сеансом ничего не видно) ...
Теперь, если вы действительно хотите увеличить время ожидания для текущей сессии, вы можете сделать это программно:
HttpSession session = request.getSession();
session.setMaxInactiveInterval(10*60); // in seconds !