デプロイする「war」ファイルの次のディレクトリ構造を指定して、「ReadProp.java」クラスからプロパティファイル「MyProperty.properties」を読み取る必要があります。
MyApp.war
| ----MyProps
| |--MyProperty.properties
|---WEB-INF |
|--classes
|---ReadProp.java
この「war」ファイルを「Sunポータルサーバー」にデプロイします。ただし、要件の仕様のため、このディレクトリ構造を変更しないでください。
私はこのファイルを次のように読んでいます
String path = servletContext.getRealPath("/MyProps/MyProperty.properties"); System.out.println("path: " + path);
Properties prop = new Properties();
try {
prop.load(new FileInputStream(path));
);
} catch (Exception e) {
e.printStackTrace();
}
String name= prop.getProperty("name");
正常に動作しています。しかし、問題は、アプリケーションのロード後にプロパティファイルを変更すると、変更が反映されないことです。
プロパティファイルはいつでも変更できます。変更を反映させたい場合は、その方法を変更してください。つまり、アプリケーションはexexcutioで毎回プロパティファイルをロードする必要があります