Невозможно загрузить статическое содержимое (изображения / JS) в веб-приложение - PullRequest
0 голосов
/ 14 декабря 2011

Я работаю над приложением, и где мне нужно ссылаться на изображения своего приложения и другие вещи, такие как js и т. Д., Теперь в моих файлах JSP, когда я пытаюсь загрузить изображения по этому пути

<img src="static/media/images/logo.gif" alt="welcome" />

Я увидел следующую ошибку в браузере: unable to load the image

Я даже пытался ссылаться на абсолютный путь

<img src="/static/media/images/logo.gif" alt="welcome" />

, но все равно не повезло.Наконец, когда я добавил название проекта, оно начало работать.Например, если имя моего веб-приложения abc, я использовал следующую вещь

<img src="/abc/static/media/images/logo.gif" alt="welcome to donateblood.com" />

, но я уверен, что это неправильный способ ссылки на изображения, поскольку это означает, что изменение имени веб-приложения приведет меняизменить каждый URL-адрес изображения, что вообще невозможно.Изображения, которые были упомянуты внутри файла CSS, работают отлично.Может ли кто-нибудь указать мне правильный способ передачи изображений.

Дополнительная информация: я использую eclipse в качестве своей IDE и Tomcat в качестве контейнера, а также стандартное веб-приложение Java EE

1 Ответ

2 голосов
/ 14 декабря 2011
static/media/images/logo.gif

- относительный путь.Если вы находитесь на странице http://localhost/myWebApp/foo/bar.html,, она будет преобразована в

http://localhost/myWebApp/foo/static/media/images/logo.gif

/static/media/images/logo.gif

- это путь, который является абсолютным для веб-сервера.

http://localhost/static/media/images/logo.gif

Таким образом, вам необходимо добавить контекстный путь веб-приложения к абсолютному пути.Используйте

<img src="${pageContext.request.contextPath}/static/media/images/logo.gif" alt="welcome" />

или

<img src="<c:url value='/static/media/images/logo.gif'/>" alt="welcome" />

, как следует для всех URL-адресов в веб-приложении.

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