gpt4 book ai didi

java - 如何在运行时修改 Web 应用程序中的属性文件?

转载 作者:行者123 更新时间:2023-11-30 11:38:57 25 4
gpt4 key购买 nike

我的 Web 应用程序通过读取属性文件来执行其某些行为。我想要一个可以在应用程序通过 jsp 界面运行时修改属性文件的管理控制台。我目前可以通过执行以下操作来读取属性文件:

Properties props = new Properties();
props.load(Thread.currentThread().getContextClassLoader().getResourceAsStream(FILE_PATH));

然后我可以将它们传递到我的 View 并显示它们。

当我想修改它们时,我无法以相同的方式找到属性文件(需要一个输出流)来保存新的属性值,除非我传递文件的完整路径。

我了解到,修改 ClassLoader 提供给您的资源是一种不好的做法。如果我要将属性文件放在 Web 应用程序的外部,我如何确保它在修改完成时被锁定?有没有其他方法可以做到这一点(属性必须在 .properties 文件中)。

如果这有什么不同的话,我会在 Tomcat 上使用 Spring MVC。

最佳答案

我会将您当前的属性文件保留在原处,并将其用作基本“加载”源。所有覆盖都将转到 Web 应用程序外部的位置(使位置可配置)。您的启动逻辑将始终是:

  • 加载基础资源
  • 覆盖覆盖

很明显,无论何时通过管理控制台更改属性,都会将其保存为覆盖。除了解决应用程序存档问题之外,此设置的一个不错的功能是您可以为用户提供一个选项,将属性值恢复为其“默认值”。

关于java - 如何在运行时修改 Web 应用程序中的属性文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13478477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com