2014-12-05 1 views
0

Я использую clojure + ring для создания веб-приложения, работающего на Glassfish 3. Для правильной инициализации log4j мне нужно найти правильный абсолютный путь к папке WEB-INF.найти правильный путь ablsolute к папке приложения clojure/ring

Является ли способ определить абсолютный путь к папке WEB-INF в веб-приложение работает на приложение-сервер/

ответ

0

Вы можете использовать метод ServletContext.getRealPath().

Например, вставьте следующее в XHTML:

Path: #{request.servletContext.getRealPath("/")} 

Это покажет полный путь к файлу XHTML, например, когда вы вставляете это в файл с именем index.xhtml, он покажет вам каталог, который содержит это index.xhtml.

Поскольку большую часть времени, файлы XHTML не помещаются в папку WEB-INF, вы, возможно, придется Concat строки следующим образом:

#{request.servletContext.getRealPath("/")}WEB-INF 

Вы также можете сделать это в обработчике:

HttpServletRequest request = (HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest(); 

    System.out.println("Path: " + request.getServletContext().getRealPath("/")); 

Смотрите также:

+0

Спасибо за ответ. Но в clojure я использую функцию ring init, и я не знаю, как я могу получить доступ к ServletContext var. – Amigo