关于 The Context Container在 Tomcat 文档的页面上,我看到两个部分:
这些元素的标准名称是 <context-param>
和 <env-entry>
,而 Tomcat 特定的名称是 <Parameter>
和 <Environment>
.
上下文参数 和环境条目 似乎都具有相同的简单工作,即为在该上下文中运行的 servlet 提供相同的值。例如,设置一个标志来传达某些条件。
➥ 上下文参数和环境条目有什么区别?
➥ 为什么我会选择使用一个而不是另一个?
最佳答案
What is the difference between Context Parameters and Environment Entries?
这与 Servlet-spec: <context-param> vs <env-entry> in web.xml? 的答案相同?
Why would I choose to use one instead of the other?
我假设您的意思是“我为什么要选择 <Context>
/<Environment>
而不是 <context-param>/<env-entry>
”,而不是“我如何决定我是否需要上下文参数或环境条目”。如果您的问题是后者,那么您的问题确实是重复的。
您可能想要使用 <Context>
的原因/<Environment>
在META-INF/context.xml
与将类似物放入 WEB-INF/web.xml
相比归结为部署场景中的职责分离。一般来说,程序员是负责WEB-INF/web.xml
内容的人和管理员或操作人员负责META-INF/context.xml
的内容.
运算符(operator)可以覆盖程序员指定的值,例如配置文件的位置。 WEB-INF/web.xml
可能指向 ~/configs/app.conf
中的配置文件而生产部署将该配置文件放入 /etc/foo/app.conf
.
如果运算符(operator)不对应用程序的部署描述符进行即时更改会更好。 META-INF/context.xml
允许他们在不更改部署描述符的情况下进行此类调整。
如果您是单人操作,或者如果每个人都是 DevOps 或其他什么,那么这几乎无关紧要。但是 Tomcat 使您可以灵活地实现您想要在自己的环境中强制执行的任何策略。
关于tomcat - "<Parameter>"与 Tomcat 上下文中的 "<Environment>"条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58372785/