Я хочу установить данные из configures.properties
через сервлет. configures.properties
находится в WEB-INF/classes
. Вот как я получаю данные:Настройка свойств через сервлет
public static String getDbPassword() {
Properties prop = new Properties();
try {
// load a properties file
InputStream in = Configures.class.getResourceAsStream(INPUT_FILE);
prop.load(in);
// get the property value
return prop.getProperty("dbPassword");
} catch (IOException ex) {
ex.printStackTrace();
}
return null;
}
Но как установить? Это, как я сделал:
public static void setDbPassword(String str) {
Properties prop = new Properties();
try {
//load a properties file
InputStream in = Configures.class.getResourceAsStream(INPUT_FILE);
prop.load(in);
prop.setProperty("dbPassword", str);
prop.store(new FileOutputStream(INPUT_FILE), null);
} catch (IOException ex) {
ex.printStackTrace();
}
}
Но я ловлю java.io.FileNotFoundException
после этого. Я думаю, что это происходит после prop.store(new FileOutputStream(INPUT_FILE), null);
. Как мне изменить OutputStream
?
UPD: Это как INPUT_FILE
выглядит:
private static final String INPUT_FILE = "/config.properties";
Нет, не работает. Никаких исключений, но ничего не меняется в свойствах. – Tony
Вы развертываете с Eclipse и Tomcat? – Stefan