Размещение файлов данных для веб-сервиса Java - PullRequest
1 голос
/ 04 июня 2011

Я пишу простой веб-сервис на Java, который должен прочитать XML-файл и сгенерировать строку для результата.Я, однако, в растерянности относительно:

a) где файл XML должен быть помещен в файловую систему, чтобы он был доступен для веб-службы?

b) что бы относительный путьв файл из службы

в) по-другому, как я могу добавить XML-файл в проект, чтобы он был развернут вместе с веб-службой

Я использую NetBeans в качестве IDE и Mavenкак система сборки.

Ответы [ 2 ]

1 голос
/ 04 июня 2011

Обычно я предоставляю пакет ресурсов (.jar) в своем веб-приложении. Если файл не следует изменять во время выполнения, это должен быть лучший способ получить к нему доступ. Это будет в) в вашем вопросе. Там вы можете получить доступ к файлу с:

ClassLoader cl = this.getClass().getClassLoader();
InputStream is = cl.getResourceAsStream("resourceName");

"resourceName" будет путь внутри файла JAR. Если вы упаковываете с Maven, все в src/main/webapp/WEB-INF/classes будет доступно в вашем classpath и может быть загружено с getResourceAsStream.


Альтернативный способ с maven - создать новый модуль и поместить все необходимые ресурсы в src/main/resources, а затем добавить зависимость к этому артефакту в pom вашего веб-приложения.

0 голосов
/ 04 июня 2011

а) Где угодно, если у вашего процесса есть права доступа к файлу.

b) Относительный путь зависит от используемого вами сервера приложений.Относительный путь относительно дома JVM.для tomcat это tomacat-base , для weblogic это каталог домена .Я бы рекомендовал не зависеть от этого, но иметь параметр конфигурации, который содержит абсолютный путь.

в) поместите его в WEB-INF (путь servletcontext) или WEB-INF / классы (вы можете получить к нему доступ в качестве ресурса classpath)

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