私の Web アプリケーションは、プロパティ ファイルから読み取ることによって、その動作の一部を実行します。アプリケーションが jsp インターフェイスを介して実行されている間にプロパティ ファイルを変更できる管理コンソールが必要です。現在、次のようにしてプロパティファイルを読み取ることができます。
Properties props = new Properties();
props.load(Thread.currentThread().getContextClassLoader().getResourceAsStream(FILE_PATH));
次に、それらを自分のビューに渡して表示できます。
ただし、それらを変更したい場合、ファイルへのフルパスを渡さない限り、新しいプロパティ値を保存するために同じ方法でプロパティファイルを見つけることができません (出力ストリームが必要です)。
ClassLoader によって提供されたリソースを変更するのは悪い習慣であると読んだことがあります。プロパティ ファイルを Web アプリケーションの外部に配置する場合、変更が行われている間、プロパティ ファイルがロックされていることを確認するにはどうすればよいですか? これを行う別の方法はありますか (プロパティは .properties ファイルにある必要があります)。
それが違いを生むなら、私はSpring MVCでTomcatを使用しています。