Контейнеры сервлетов и путь к классам

Для чего задан путь к классу контейнера сервлетов?

Насколько я понимаю, здесь задействованы три компонента. Файлы JAR в каталоге lib контейнера сервлетов, а затем классы в файлах WEB-INF/classes и JAR в каталоге WEB-INF/lib. Классы в каталоге lib контейнера сервлетов добавляются в системный путь к классам, а динамический путь к классам включает файлы JAR в каталоге lib и классы в каталоге classes.

Для чего установлен динамический путь к классам? Указывает ли динамический путь к классам на все каталоги в WEB-INF или включает все отдельные классы и файлы JAR в WEB-INF/lib и WEB-INF/classes или просто указывает на два каталога WEB-INF/classes и WEB-INF/lib? Скажем, у меня есть каталог с именем foo в WEB-INF, содержащий bar.properties. Теперь bar.properties также находится в пути к классу?


person Abhi    schedule 20.11.2008    source источник


Ответы (2)


В «динамическом» пути к классам WEB-INF/classes и каждый файл JAR под WEB-INF/lib будут отображаться как отдельная запись. Другие папки под WEB-INF не включены.

В вашем примере bar.properties не будет в пути к классам. Переместите его в WEB-INF/classes или поместите в файл JAR под WEB-INF/lib.

Что находится в остальной части пути к классам, зависит от вашего контейнера сервлета. Это зависит от реализации, но в большинстве контейнеров есть еще два места для размещения классов. Один — это каталог, который виден контейнеру, но не приложениям, а другой виден контейнеру и всем приложениям. Поскольку второй загрузчик классов виден всем приложениям, статические члены этих классов могут использоваться для обмена информацией между приложениями.

person erickson    schedule 20.11.2008
comment
Если включены другие папки в WEB-INF lib, то не следует ли включать файл свойств в путь к классу? - person Abhi; 20.11.2008
comment
Извините, это была важная опечатка, я имел в виду НЕ включено! - person erickson; 20.11.2008

В вашем примере bar.properties должен находиться в каталоге классов, чтобы быть в пути к классам.

person rich    schedule 20.11.2008