Properties file в web проекте

243
31 мая 2017, 03:53

Есть код создания соединения с БД для консольного варианта:

private static final String PATH_TO_PROPERTIES = "src/main/resources/config.properties";
Properties prop = new Properties();
InputStream fis = null;            
        try {                
            fis = new FileInputStream(PATH_TO_PROPERTIES);
            prop.load(fis);
            Class.forName(prop.getProperty("driver"));
            String url = prop.getProperty("url_file");
            con = DriverManager.getConnection(url, prop);
        } catch (IOException | SQLException | ClassNotFoundException e) {
            throw new Exception(e);
        } 

Все отрабатывает как надо.

При попытке развернуть приложение на локальном Tomcat, файл config.properties попадает в папку WEB-INF, соответственно получаю исключение. Поиском все советуют использовать следующую конструкцию:

    ClassLoader loader = Thread.currentThread().getContextClassLoader();
    InputStream foo = loader.getResourceAsStream("/WEB-INF/config.properties");

Пробовал, но config.properties никак не виден. Если не использовать свойства и все прописывать явно, то все работает.

Не могу понять, как использовать properties в web-проекте.

Answer 1
ClassLoader loader = Thread.currentThread().getContextClassLoader();
InputStream foo = loader.getResourceAsStream("config.properties");

Сокращенная версия

InputStream foo = getClass().getClassLoader().getResourceAsStream("config.properties");
READ ALSO
Не удается выполнить запись в поток

Не удается выполнить запись в поток

Пишу оболочку для сервера Minecraft и столкнулся со следующей проблемойЕсть поток, в котором непосредственно запускается jar файл сервера

392
Разбор библиотеки на “запчасти”

Разбор библиотеки на “запчасти”

Весьма актуальный как мне кажетсяЕсть библиотеки, имплементить всё подряд не дело, так как всё имеет свойство устаревать + зачастую нам не нужен...

391
Непонятная ошибка в Android Studio 2.3.2

Непонятная ошибка в Android Studio 2.3.2

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

369
Отправка формы на сервер

Отправка формы на сервер

У меня есть метод:

361