Как загрузить файлы / свойства из каталога WEB-INF? - PullRequest
1 голос
/ 12 марта 2012

Кажется, что в моем приложении Tapestry я не могу загрузить ini-файлы или файл свойств из каталога WEB-INF или пути к классам.

Я пробовал несколько разных способов загрузки моего файла, но ни один из них не сработал.

  1. ех

realm.setResourcePath("/WEB-INF/auth.properties");

  1. ех

realm.setResourcePath("classpath:wip/pages/auth.properties");

Мне нужно загрузить файл свойств / ini, чтобы использовать модуль безопасности гобелена, основанный на Широ.

Спасибо за помощь!

Ответы [ 4 ]

4 голосов
/ 12 марта 2012

Попробуйте ServletContext.getResourceAsStream("/WEB-INF/auth.properties") или ServletContext.getResourceAsStream("WEB-INF/auth.properties")

ServletContext должен использоваться из servlet, servletListener и т. Д.

2 голосов
/ 12 марта 2012

Корень пути к классам - путь. Поместите ваш файл в src / main / resources / auth.properties , затем установите resourcePath , используя realm.setResourcePath ( "путь к классам: auth.properties");

Проверьте ExtendedPropertiesRealm и testapp безопасности гобелена для примера

0 голосов
/ 20 февраля 2018

Я обнаружил, что самым простым способом было

  • поместить файл в src / main / resources / config.properties.Это будет помещено в /WEB-INF/classes/config.properties, когда проект скомпилирован maven в WAR

  • прочитать файл из сервлета со следующим

    InputStreaminputStream = getClass (). GetClassLoader (). GetResourceAsStream ("config.properties");

https://crunchify.com/java-properties-file-how-to-read-config-properties-values-in-java/

0 голосов
/ 15 ноября 2015

Попробуйте

Properties props = new Properties();
props.load(new FileInputStream(new File(req.getServletContext().getRealPath("/WEB-INF/fileName.properties"))));
System.out.println(props);
...