Справочник по рекомендациям по приложениям Java EE - PullRequest
2 голосов
/ 08 мая 2011

Я относительно новичок в Java EE и только что познакомился с традиционной структурой каталогов приложений (которая включает в себя папки BUILD, DIST, NBPROJECT, SRC и WEB).Мне было интересно: если моему приложению требуется использовать некоторые ресурсы / ресурсы (например, изображения или PDF-файлы) на сервере, в какую из 5 папок, перечисленных выше, я должен поместить эти ресурсы?Я думаю, что я могу технически разместить их где угодно, если я буду ссылаться на файлы правильно, но не уверен, какова общая лучшая практика для этого.

Ответы [ 2 ]

2 голосов
/ 08 мая 2011

Вы обычно включаете статический контент, например изображения или PDF-файлы, которые необходимо прочитать по http-запросам в WebContent, например, если my-web ваш проект WAR:

my-web/WebContent/images
my-web/WebContent/scripts
my-web/WebContent/misc

Это означает, что вы можете получить доступ, используя, например:

/my-web/images/bob.jpg
/my-web/scripts/bob.js
/my-web/misc/bob.pdf

Хранение файлов здесь разрешает публичный доступ. Я процитирую это на страницах справки Eclipse :

Папка веб-контента представляет собой содержимое файла WAR, который будет развернут на сервере. Никаких файлов нет в папке с веб-контентом находятся Рассматриваемые ресурсы времени разработки (например, файлы .java, файлы .sql, и .mif файлы), и не развернуты когда проект проходит модульное тестирование или опубликован.

0 голосов
/ 08 мая 2011

Вам нужно подумать о том, как активы доставляются клиенту, прежде чем решить, где их разместить.Ресурсы, такие как ccs и статические html-страницы, извлекаются клиентом с использованием отдельных HTTP-вызовов, поэтому они должны находиться в доступном месте.В вашем случае я бы сказал, что они должны быть на уровне index.jsp или в подкаталогах этого уровня.Если вы поместите их в WEB-INF, они будут недоступны для внешнего мира.Вы можете возможно поместить их в META-INF, но это будет необычное использование этого каталога.

...