在Tomcat文档的The Context Container页上,我看到两个部分:
此类元素的标准名称为<context-param>
和<env-entry>
,而Tomcat特定名称为<Parameter>
和<Environment>
。
上下文参数和环境条目似乎具有相同的简单工作,即为在该上下文中运行的servlet提供相同的值。例如,设置标志以传达某些条件。
➥上下文参数和环境条目有什么区别?
➥为什么我选择使用一个而不是另一个?
答案 0 :(得分:1)
上下文参数和环境条目之间有什么区别?
答案与Servlet-spec: <context-param> vs <env-entry> in web.xml?相同吗?
我为什么选择使用一个而不是另一个?
我假设您的意思是“为什么我选择<Context>
/ <Environment>
而不是<context-param>/<env-entry>
”而不是“我如何确定是否要使用上下文参数或环境条目” ”。如果您的问题是后者,那么您的问题确实是重复的。
您可能想在<Context>
中使用<Environment>
/ META-INF/context.xml
而不是将其类似物放入WEB-INF/web.xml
的原因归结于部署方案中的职责分离。一般来说,程序员是负责WEB-INF/web.xml
内容的人,而管理员或操作人员是负责META-INF/context.xml
内容的人。
操作员可以覆盖程序员指定的值,例如,配置文件的位置。 WEB-INF/web.xml
可能指向~/configs/app.conf
中的配置文件,而生产部署将配置文件放入/etc/foo/app.conf
中。
如果操作员不对应用程序的部署描述符进行即时更改会更好。 META-INF/context.xml
允许他们在不更改部署描述符的情况下进行此类调整。
如果您是单人操作,或者每个人都是DevOps或其他人员,那么几乎没有关系。但是Tomcat使您可以灵活地实施要在自己的环境中实施的任何策略。