Путь ссылки для перенаправления - PullRequest
0 голосов
/ 07 октября 2011

Я пытаюсь перенаправить свой ответ, но застрял в пути ссылки.

Следующая команда переводит меня на локальный хост кота и ищет там страницу, но ничего не может найти, как ожидалось.

response.sendRedirect("/myPage.html");

Чтобы справиться с этой проблемой, я должен поместить имя своей корневой папки (из веб-страниц) в путь ссылки, но я не думаю, что это действительно хорошая идея.

response.sendRedirect("/mySite/myPage.html");

Почему это происходит? Есть ли другой способ решения этой проблемы, кроме getRequestURL () или что-то подобное?

1 Ответ

2 голосов
/ 07 октября 2011

Относительный URL-адрес перенаправления относительно текущего URL-адреса запроса (тот, который вы видите в адресной строке браузера).Ведущий / приведет вас к корню домена.Поведение совершенно предсказуемо и нормально.Если myPage.html находится в той же папке, что и текущий URL-адрес запроса, то вы можете просто удалить начальный /:

response.sendRedirect("myPage.html");

или если это никогда не будет надежно предсказуемым, поскольку текущий URL-адрес запроса может прийтииз любого места в вашем веб-приложении, затем просто динамически включите контекстный путь:

response.sendRedirect(request.getContextPath() + "/myPage.html");
...