Мое веб-приложение - это чисто JS-приложение с перекрестком js для маршрутизации. Для входа в систему я использую j_security_check FORM Auth и сервлет /LogOut для аннулирования сеанса.
Проблема 1 Настоящая проблема возникает, когда время сеанса истекло, файл login.html отображается в части страницы без css с ошибкой «Ресурс интерпретируется как таблица стилей, но передается с типом MIME text/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 минут бездействия, он печатает "Сеанс действителен". Почему это так?