Как получить доступ к ресурсам изображения в проекте JEE6? - PullRequest
0 голосов
/ 31 марта 2011

У меня есть сомнения по поводу изображений, хранящихся в моем проекте:

1-Если у меня есть изображение, хранящееся в MyApp / images / image.gif

Как я могу сказатькомпонент h: graphicImage, чтобы найти это изображение?Я попробовал это, но это не сработало

<h:graphicImage value="MyApp/images/image.gif"/> 

2- Мне интересно знать, как вызывать изображения, хранящиеся в WEB-INF / изображения, которые я где-то читал, для которых мне нужен сервлет, потому что не могубыть доступным напрямую.

Это правда?Как я могу это сделать?

Обновление

Это экран печати моего projectStructure, поэтому вы можете видеть, где находятся файлы, к которым мне нужно получить доступ.

enter image description here

1 Ответ

2 голосов
/ 31 марта 2011

Вот краткое изложение причины вашей проблемы:

  • Браузер загружает каждое изображение, отправляя HTTP-запрос на ресурс.
  • Ресурсы, находящиеся в каталоге WEB-INF, не могут быть получены напрямую через HTTP-запрос.

У вас есть несколько вариантов:

  1. Переместите каталог изображений так, чтобы он находился в каталоге WebContent, но не находился в каталоге WEB-INf. Например, * WebContent / images *
  2. Перехват запросов на изображения в сервлете или фильтре, чтение файла из сервлета или фильтра, а затем возврат файла. Есть сторонние реализации этого. Мне нравится класс Spring ResourceServlet; если ничего другого, он продемонстрирует эту технику (это открытый исходный код, так что вы можете просто прочитать код, если хотите).

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