я на самом деле есть программка с сервлета:Servlet INIT и класс
@WebServlet("/Controler")
public class Controler extends HttpServlet {
}
мне нужно использовать свойство файла: file.properties
в моей программе. Для того, чтобы загрузить его, у меня есть класс:
public class PropLoader {
private final static String m_propertyFileName = "file.properties";
public static String getProperty(String a_key){
String l_value = "";
Properties l_properties = new Properties();
FileInputStream l_input;
try {
l_input = new FileInputStream(m_propertyFileName); // File not found exception
l_properties.load(l_input);
l_value = l_properties.getProperty(a_key);
l_input.close();
} catch (Exception e) {
e.printStackTrace();
}
return l_value;
}
}
Мой файл свойств находится в папке WebContent, и я могу получить к нему доступ:
String path = getServletContext().getRealPath("/file.properties");
Но я не могу назвать тезисы методы в другом классе чем сервлет ...
Как получить доступ к моему файлу свойств в классе PropLoader?
Ну, одним из вариантов является добавление пути в качестве статической переменной в класс PropLoader (вид одноэлементного). Я видел случаи, когда какой-то главный сервлет делает эти шаги в методе init(), поэтому у вас будет доступ к вашему пути на всем приложении. Вы просто должны быть уверены, что сервлет, с которым вы имеете дело, загрузится при запуске приложения. – Martin
Я пробовал это решение, но сервлет не может создать путь в классе propLoader, я думаю, что это связано с методом сервлетов init() – Apaachee