1

这可能是一个愚蠢的问题:

我目前有一些我的 Web 应用程序需要的 VM 参数。它们类似于:

-Dcom.company.custom.var='test'

我通过以下代码访问它们:

System.getProperty("com.company.custom.config")

我想将它们移动到其中一个 tomcat xml 文件(server.xml、context.xml 等)中,但我不确定我将如何去做。

所以我的问题是两个部分。我应该在哪里(以及如何)将这些变量放入 xml 中,以及如何在代码中访问它们?

提前致谢,如果这已经得到解答,我们深表歉意。我在这个话题上的搜索让我失望了。

4

2 回答 2

2

如果这些是特定于应用程序的配置项,则它的标准位置是<context-param>in web.xml。像这样的东西:

<context-param>
    <param-name>myvar</param-name>
    <param-value>value</param-value>
</context-param>

您可以使用ServletContext#getInitParameter(String). 在 servlet 内部,您可以编写如下内容:

String myvar = getServletContext().getInitParameter("myvar");
于 2012-09-11T14:57:01.830 回答
1

正式地,所有 JVM 选项都转到setenv.sh(对于 Unix)或setenv.bat(对于 Windows)。默认情况下,该文件在 Tomcat中不存在,但如果您创建一个,它将被启动脚本拾取。

您应该使用它的原因server.xml是它server.xml可能会从一个 Tomcat 版本更改为另一个版本,但setenv.sh(或 .bat)对您来说完全是自定义的。

正如您所指出的,读取此值是通过System.getProperty(...).

于 2012-09-11T21:33:30.807 回答