如何参数化Web应用程序(而不是servlet)的初始化

时间:2011-05-20 12:18:48

标签: java servlets

我有一个Web应用程序,我希望通过外部文件夹(容器外部和.war文件)中的设置进行配置。因此,我想在我的webapp中只注入一个设置,这是我的配置的根文件夹。这样做的原因是维护团队可以更新漂亮的纯文本文件中的配置设置,而无需重新部署war文件。

我的问题是,在单个配置设置的情况下,参数化Web应用程序的最佳方法是什么。我知道我可以使用JVM arg然后从我的初始化servlet中检测它。理想情况下,我想要一些可以放在server.xml(而不是web.xml文件)中的东西,可以通过我的ServletContextListener.contextInitialized(ServletContextEvent paramServletContextEvent)方法以编程方式获取。

有没有办法使用ServletContextListener方法或另一种方法?

1 个答案:

答案 0 :(得分:3)

我们正在使用-Dconfig.location=/foo/bar/config.properties,它运行正常。它是一个JVM arg,所以它转到启动脚本。

您可以通过server.xml中的JNDI注册属性,但我不相信这是一个更好的选择。 server.xml或catalina.sh - 都是容器级