URL-адрес веб-приложения java - PullRequest
0 голосов
/ 25 октября 2011

Я пытаюсь понять, как работает запрос.К сожалению, я был сперва склонен к кодированию и только потом к пониманию.

Я написал несколько действительно базовых веб-приложений в Java несколько лет назад, и они работали, как и ожидалось.На его главной веб-странице (.jsp) в качестве одной из кнопок меню у меня было следующее:

<p><a href="home.jsp">test</a></p>

Я сейчас пишу новое веб-приложение и многое забыла.На этот раз я делаю это с Spring MVC и правильно.Я не могу понять, почему этот фрагмент больше не приводит меня к home.jsp в текущем веб-приложении и почему сначала я использовал его в старом приложении.

Apache дает: Запрошенный ресурс () недоступен.

Это не то, что мне нужно такое прямое взаимодействие, это просто я пытаюсь понять, доступны ли ресурсы через URL?Предоставляет ли Spring MVC дополнительную безопасность, когда только запросы, обработанные сервлетом, могут привести к просмотру?Я что-то упускаю из виду?

Более того, в том же меню старого веб-приложения у меня была прямая ссылка на сервлет, но в настоящее время я не могу сделать такую ​​прямую ссылку на сервлет в новом веб-приложении.Я могу сделать соответствующий запрос, который будет перехвачен сервлетом, но не по его имени.

Apache дает: Запрошенный ресурс () недоступен.

Ссылка на сервлет из меню:

<% if((String) session.getAttribute("passengerFound") != null){ %>
<a href="TripRecentBook"><img style="border:0" src="menuButtons/My Trips.png" alt="My Trips"/></a> <%} %>

Спасибо, держу пари, это действительно просто.Я действительно хочу понять, пожалуйста, помогите.Я знаю, что это как-то связано с Front Controller (dispatcherServlet), но я не могу сформулировать логическое и твердое объяснение в моей голове.

Ответы [ 2 ]

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

просто я пытаюсь понять, доступны ли ресурсы по URL

Короче, нет.Поведение по умолчанию и рекомендуемая конфигурация при использовании Spring MVC - сопоставление Spring DispatcherServlet с шаблоном / url, что означает, что ВСЕ запросы отправляются в DispatcherServlet.Диспетчер-сервлет из коробки НЕ будет обслуживать запросы на статические ресурсы.Если это необходимо, можно выбрать два основных параметра:

  1. . Сопоставить DispatcherServlet с другим шаблоном, отличным от root, эффективно изолируя часть Spring MVC в суб-контексте.
  2. Добавить сопоставление ресурса.в ваш весенний контекст (ваше applicationContext.xml).

<mvc:resources mapping="/res/**" location="/res/" />

В этом примере Spring mvc будет обрабатывать все запросы к / res / ** как запросы статических ресурсов.(например, изображения и т. д.) и что эти ресурсы физически находятся в папке / res / в корне приложения.

0 голосов
/ 25 октября 2011

Возможно, вам просто не хватает "/", как в "/home.jsp" вместо "home.jsp"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...