2016-03-10 2 views
0

Я занимаюсь разработкой JSP + сервлетом приложения, пакет войны, развернуть на кот 8.Расположения сырьевых ресурсов в Tomcat веб-приложении

Я знаю, WEB-INF папка для хранения файлов, которые не служили, обрабатывается только на стороне сервера: например, html или jsp-фрагменты и т. д. Мне нужно сохранить некоторые xmls. Сервлеты будут читать эти xmls при обработке запросов.

Возникает вопрос:

я должен хранить эти XMLs в той же папке WEB-INF? Или для этого есть особое место? Я не хочу делать это очень анти-шаблон.

ответ

0

Поместите его в WEB-INF/и используйте метод getResourceAsStream() для объекта ServletContext, например.

servletContext.getResourceAsStream("/WEB-INF/myfile");

Как получить ссылку на ServletContext зависит от вашего приложения ... Вы хотите сделать это из сервлета или из JSP?

Смотрите здесь: Howto load a resource from WEB-INF directory of a web archive

0

Если вы используете Maven, вы можете поместить файлы XML в SRC/основные/ресурсов. Когда они упакованы как WAR, они будут помещены в папку WAR WEB-INF/classes, например.

src/main/resources/settings.xml 

получит упаковано:

WEB-INF/classes/settings.xml 

Таким образом, вы можете прочитать файл, используя, например:

MyServlet.class.getResourceAsStream("/settings.xml"); 

После развертывания в кот и он получает распакован, вы можете редактировать/обновите файл settings.xml в папке WEB-INF/classes, если вам нужно. Обратите внимание, что папка/WEB-INF/classes является корнем пути к классам.

Смежные вопросы