在Java Web应用程序(WAR)中存储配置文件的最佳位置是什么?

在Java Web应用程序(WAR)中存储配置文件的最佳位置是什么?,第1张

在Java Web应用程序(WAR)中存储配置文件的最佳位置是什么?

我们要做的是将其放置在服务器上的单独目录中(您可以使用/ config,/ opt / config,/ root / config,/ home /
username /
config之类的东西,或任何您想要的东西)。当我们的servlet启动时,它们读取XML文件,从中获取一些东西(最重要的是数据库连接信息),仅此而已。

我问为什么我们要这样做一次。

将所有内容存储在数据库中会很好,但是显然您不能在数据库中存储数据库连接信息

您可以对代码中的内容进行硬编码,但是由于许多原因,这很难看。如果必须更改信息,则必须重新构建代码并重新部署。如果有人获得了您的代码或WAR文件的副本,那么他们将获得该信息。

将内容放在WAR文件中看起来不错,但是如果您想进行很多更改,则可能不是一个好主意。问题是,如果您必须更改信息,那么下次重新部署它时,它将覆盖该文件,因此您忘记存储在WAR中的版本中所做的任何更改都将被忘记。

文件在文件系统上的特殊位置对我们来说效果很好。它没有太大的缺点。您知道它在哪里,它分开存储,如果它们都需要不同的配置值(因为它不是WAR的一部分),则使部署到多台计算机变得容易。

我能想到的唯一可行的解​​决方案是将除数据库登录信息以外的所有内容保留在数据库中。那将来自通过JVM检索的Java系统属性。这是Hans
Doggen上面提到的Preferences API。我不认为它是在第一次开发我们的应用程序时出现的,如果没有使用的话。

至于访问配置文件的路径,它只是文件系统上的一个文件。您无需担心网络路径。因此,当您的servlet启动时,只需在“
/config/myapp/config.xml”(或其他位置)中打开文件,它将找到正确的东西。硬编码该路径对于我来说似乎是无害的。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5600286.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存