对于如何在 J2EE 项目中保留应用程序级设置/配置文件,是否有任何建议?我有一个 Web 项目,它具有必须写入日志的依赖项和一个本地设置文件。无论如何将设置文件存储在本地目录中并使其可写?
[一些依赖是:hibernate和gridgain,所以产生了很多日志]
我宁愿不对设置文件的位置进行硬编码。
最佳答案
您应该将配置文件放在WEB-INF
文件夹下。您可以创建目录 /WEB-INF/config
。如果它们应该在类路径中,则将它们放入 /WEB-INF/classes
。通过这种方式,该位置不是硬编码的,而是在您的应用程序众所周知的位置。
将它们放在 /WEB-INF
中很重要,因此浏览器无法“访问”这些文件。
另一种方法是将参数添加到 web.xml
配置中,您可以在其中指定配置文件的位置,这样它们就不会位于 webapps 目录中。您可以通过添加一个 context-param
来做到这一点。例如:
<context-param>
<param-name>configuration</param-name>
<param-value>/var/myapp/config</param-value>
</context-param>
该值将作为名为 configuration 的 servlet 上下文初始化参数对您的 Web 应用程序可见。然后,您可以将其用作读取配置文件的基本路径(通过从 ServletContext
调用 getInitParameter
方法获取值)。
但这只适用于类路径中不需要的配置文件。
关于java - 在 Web 应用程序中保留设置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3539039/