Мое веб-приложение - это просто приложение JS с перекрестками js для маршрутизации. Для входа я использую j_security_check FORM Auth и/LogOut сервлет, чтобы аннулировать сеанс.Java: проверка фильтра тайм-аута HttpSession возвращает действительный объект сеанса
Выпуск 1 Реальная проблема возникает, когда сеанс истек, то login.html визуализируется в части страницы, без CSS, с ошибкой «интерпретируется, как ресурс, но передается стили с MIME типа текстом/HTML '
При использовании фильтр
<filter>
<description>Session Timeout Filter</description>
<filter-name>SessionTimeoutFilter</filter-name>
<filter-class>filters.SessionTimeoutFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>SessionTimeoutFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
....
<session-config>
<session-timeout>1</session-timeout>
</session-config>
и JAVA код
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain)
throws IOException, ServletException {
HttpServletRequest req = null;
HttpSession session = null;
try {
req = (HttpServletRequest) request;
session = req.getSession(false);
if (session != null && !session.isNew()){
LOGGER.log("Session is Valid");
chain.doFilter(request, response);
}else{
LOGGER.log("Session is Invalid");
req.getRequestDispatcher("/login.html?loggedOut=true").forward(request, response);
}
} catch (Throwable t) {
}
}
Выпуск 2 Когда фильтр запускается после неактивных 2-3 минут, он печатает «Сессия действительна». Почему это так?
Для проблемы 1 я включил проверку фильтра, чтобы продолжить фильтрацию, если запрос предназначен для входа в систему HTML и CSS. Даже в этом случае проблема сохраняется. –