java - 在 Web 应用程序中保留设置文件

标签 java tomcat jakarta-ee configuration-files

对于如何在 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/

相关文章:

java - 用Java制作一个倒计时器程序,最终会关闭/重新启动或 sleep 你的机器

gwt - TOMCAT 上的 HTML 模式下没有图像

java - 如何确定 EJB 调用是来自远程客户端还是本地客户端

java - 带数组的二项式系数

java - 如何在 Java 中获取时间戳为 48962-08-06T23 :16:59. 000Z 的 Instant 对象

java - 图像 block 的缓冲图像

java - 在 tomcat 7 中配置虚拟主机的问题

intellij idea 中的 tomcat 7.0 + JSF + CDI 支持

java - 安装了 tomcat 插件但未出现在服务器选项卡中

java - 在 servlet 中抛出自定义异常