Я получил файл jsp, который включает другой файл jsp для проверки некоторых значений и таких:
Внутри setup.jsp у меня есть некоторый условный код, который определяет если в сеансе установлены некоторые необходимые значения, а если нет, перенаправляет их на другую страницу. По крайней мере, предполагается, но перенаправление, похоже, игнорируется.
System.err.println("Redirecting!");
response.sendRedirect("http://www.google.com");
return;
Я вижу "Перенаправление!" войти в консоль, но страница продолжает работать и отображается нормально. Я попросил curl выгрузить заголовки и увидел, что ответ HTTP / 1.1 200 OK
, так что он определенно не отправляет перенаправление 302.
Есть идеи, в чем проблема и как я могу исправить это?
РЕДАКТИРОВАТЬ: Я убедился, что мой ответ еще не подтвержден. response.isCommitted ()
возвращает false
, что означает, что код состояния и заголовки еще не отправлены.
РЕДАКТИРОВАТЬ 2: Я пробовал вызвать response.sendRedirect ()
во многих других местах и обнаружил, что могу успешно перенаправить до. Кажется, что перенаправление внутри JSP игнорируется, и если я попытаюсь перенаправить вправо ПОСЛЕ jsp, я получаю исключение недопустимого состояния, потому что ответ уже был зафиксирован.