У меня есть сервлет фильтр Whith проверки время сеанса из:Фильтр сервлета после того, как время сеанса из проблем
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) servletRequest;
HttpServletResponse res = (HttpServletResponse) servletResponse;
String uri = req.getRequestURI();
if (req.getUserPrincipal() == null && !uri.endsWith("login.xhtml") && uri.endsWith("xhtml")) {
res.reset();
res.setHeader("Location", "/nsi/faces/login.xhtml");
res.setStatus(HttpServletResponse.SC_FOUND);
res.setContentType("xhtml");
// filterChain.doFilter(servletRequest, servletResponse);
// req.getServletContext().getRequestDispatcher("/faces/login.xhtml").forward(req, res);
} else {
filterChain.doFilter(servletRequest, servletResponse);
}
}
почему, когда сессия таймаут перенаправление не работает? Я пытаюсь использовать HttpServletResponse.sendRedirect и HttpServletResponse вперед. P.s. получить запрос перенаправлен, но POST запрос entrer в методе и ничего не делать;
этот метод бросить java.lang.NullPointerException –