URL сервлета / JSP при пересылке запросов - PullRequest
2 голосов
/ 11 января 2009

В моем веб-приложении есть сервлет с именем admin, который при переходе проверяет, вошел ли пользователь в систему и направлен ли он в раздел admin, но если нет, он направляет их на страницу JSP со знаком сообщить. Имя JSP не отображается в URL, оно остается как / admin. Но затем, когда JSP отправляет сообщение другому сервлету для проверки учетных данных, URL-адрес изменяется на / validate, что является именем сервлета. Если пользователь проверяет, они перенаправляются в другой JSP, но URL все равно остается как / validate. Как я могу убедиться, что URL отражает то, что просматривается в браузере?

Извинения, если это не слишком ясно.

1 Ответ

4 голосов
/ 11 января 2009

Используйте перенаправление, а не пересылку. Форварды являются внутренними для сервера; один запрос из браузера передается разным сервлетам. Перенаправление - это взаимодействие между сервером и браузером, при котором браузер запрашивает второй URL.

Я бы порекомендовал использовать управляемую контейнером аутентификацию, которая будет обрабатывать перенаправление на форму и возвращаться к первоначально запрашиваемой странице, когда пользователь запрашивает страницу, требующую аутентификации.

...