Получить путь к папке контейнера для сервлетов deploy / webapps - PullRequest
0 голосов
/ 17 февраля 2011

Из метода обслуживания сервлета я могу получить путь к корневой папке веб-приложения с помощью getServletContext.getRealPath(""), например, / tomcat / webapps / MyWebApplication , но есть ли способ, которым я могу получитьпуть к / tomcat / webapps / или, при желании, к другому конкретному веб-приложению, например / tomcat / webapps / MyOtherWebApplication (без использования хаков, например вычитания пути к контексту)?

(Использование в качестве примера только TomCat должно работать во всех контейнерах сервлетов.)

Ответы [ 2 ]

1 голос
/ 17 февраля 2011

ServletContext имеет метод getContext(String) ( javadoc ), который возвращает ServletContext, соответствующий другому веб-приложению, которое вы затем можете вызвать getRealPath().Однако модель безопасности сервера приложений может запрещать это, поэтому используйте с осторожностью.

0 голосов
/ 19 августа 2016

Путь к каталогу Tomcat (tomcat / bin):

File inputFile = new File("file.xml"); // tomcat_dir/bin/file.xml

Путь к другим каталогам Tomcat, например "webapps":

File inputFile = new File("../webapps/file.xml"); // tomcat_dir/webapps/file.xml

Хороший способ избавиться от абсолютных путей:)

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