将设置文件保存在Web应用程序中

mon*_*ksy 1 java tomcat configuration-files java-ee

是否有关于如何在J2EE项目中保留应用程序级别设置/配置文件的建议?我有一个Web项目,它具有必须写入日志的依赖项和本地设置文件.有没有将设置文件存储在本地目录中并使其可写?

[一些依赖项是:hibernate和gridgain,因此它们生成了大量日志]

我宁愿不硬编码设置文件的位置.

Sou*_*ink 5

您应该将配置文件放在该WEB-INF文件夹下.您可以创建一个目录/WEB-INF/config.如果他们应该在classpath中把它们放到/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>
Run Code Online (Sandbox Code Playgroud)

该值将作为名为configuration的servlet上下文初始化参数对Web应用程序可见.然后,您可以将其用作读取配置文件的基本路径(通过getInitParameter从中调用方法获取值ServletContext).

但这只适用于配置文件,这在类路径中是不需要的.