Созданные сервлетом веб-страницы Поиск изображений внутри * .war? - PullRequest
0 голосов
/ 24 января 2012

Я поддерживаю устаревшее веб-приложение Java сервлета (nwp). Моя цель - изучить Spring и постепенно обновить веб-приложение, чтобы максимально использовать Spring.

Веб-приложение сервлета nwp теперь работает в WebLogic 9.2. Он упакован и развернут как nwp.war. Каждый HTTP-запрос передается уникальному сервлету, который обрабатывает запрос и распечатывает веб-страницу / экран. Каждый сервлет будет читать различные файлы ресурсов из удаленного расположения за пределами nwp.war, чтобы использовать его для верхних и нижних колонтитулов и т. Д.

Да, это примитивно, поэтому я хочу обновить его. Также имело смысл иметь «включаемые файлы» в удаленном месте вне войны, так как 3 приложения используют эти файлы. Тем не менее, в рамках обновления приложения nwp я планирую объединить два других (аналогично основных) приложения в один только nwp. В конце концов.

В качестве первого шага по преобразованию этого приложения в Spring я переставил дерево каталогов, чтобы эти подкаталоги находились в каталоге WEB-INF:

  • изображения
  • 1012 * JS *
  • CSS

Сгенерированный сервлетом HTML ссылается на изображения как «

Моя проблема в том, что прямо сейчас сгенерированный сервлетом HTML не может найти изображения в каталоге WEB-INF / images внутри nwp.war.

Прямо сейчас файл nwp.war содержит файл с именем weblogic.xml для сопоставления URL-адресов изображений с тем местом, где они находятся на сервере:

<wls:virtual-directory-mapping>
        <wls:local-path>/common/resources/images</wls:local-path>
        <wls:url-pattern>/images/*</wls:url-pattern>
        <wls:url-pattern>*.jpg</wls:url-pattern> 
        <wls:url-pattern>*.gif</wls:url-pattern> 
</wls:virtual-directory-mapping>

Я новичок в WebLogic и WebLogic 9.2.

Я попытался изменить это отображение в ряде случаев так, чтобы сгенерированный сервлетом HTML будет искать картинки в каталоге WEB-INF / images внутри войны.

Возможно ли это (сгенерированный сервлетом html-поиск изображений), или мне придется использовать текущую систему получения изображений, пока я не смогу конвертировать сервлеты в JSP?

Спасибо

Steve

1 Ответ

0 голосов
/ 24 января 2012

HTML не сможет напрямую ссылаться на изображения внутри папки WEB-INF.Это для безопасности.Таким образом, у вас есть 2 варианта:

  1. Переместите изображения так, чтобы они находились непосредственно под / вместо / WEB-INF /
  2. Создайте еще один сервлет для обслуживания этих изображений

Если вы решили использовать сервлет, вы можете использовать ServletContext getResourceAsStream для доступа к изображениям из каталога / WEB-INF / images.Например:

servletContext.getResourceAsStream("/WEB-INF/images/test.jpg");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...