Я использую JSF2. Я реализовал собственный сервлет сервлетов:
public class MyFacesServletWrapper extends MyFacesServlet {
    // ...
}
когда я выполняю некоторые проверки полномочий и отправляю перенаправление, когда пользователь не вошел в систему:
public void service(ServletRequest request, ServletResponse response) {
    HttpServletRequest req = (HttpServletRequest) request;
    HttpServletResponse res = (HttpServletResponse) response;
    if (...) {
        String loginURL = req.getContextPath() + "/LoginPage.faces";
        res.sendRedirect(loginURL);
    }
}
Это работает, когда пользователь пытается перейти на другую страницу. Однако это не работает, когда форма JSF отправляется с помощью кнопки/кнопки командной строки JSF. Строка sendRedirect() удаляется и выполняется, исключение не генерируется, но пользователь остается на той же странице. В принципе, визуальных изменений вообще нет.
Почему это работает при переходе на страницу, но не в форме submit?
