是否需要将Tomcat的context.xml放在Web App的META-INF中

时间:2012-03-15 15:04:18

标签: servlets tomcat6

我有一个基本问题,在使用Tomcat时会发生两起事件。

1.我想分享在同一个Tomcat容器下部署的两个Web应用程序之间的上下文,我想要做的就是在 context.xml 中初始化make crossContext = true ,我在 {CATALINAHOME} /conf/context.xml 中做到了这一点。后来我从我们自己的Stack Overflow中获得了解决方案,然后将context.xml放在META-INF中,一切都按预期工作。

2.同样,当我为我的Web应用程序配置数据源时,我在初始化时做了同样的事情然后我将带有所需JDBC配置的context.xml放在META-INF中,然后它就运行了。

所以我的问题是为什么Tomcat从META-INF中选择了context.xml配置?在{CATALINAHOME} / conf的context.xml中配置时我缺少什么?我需要了解什么?

需要你的知识和建议

1 个答案:

答案 0 :(得分:2)

显然你正在从像Eclipse这样的IDE中使用Tomcat。这样Tomcat自己的/context.xml确实会被忽略。 IDE仅使用服务器引擎,并在IDE环境中创建单独的部署和工作空间。在Eclipse中,您可以在 Servers 项目中找到/context.xml的副本。这个是可编辑的并将被应用。但是在webapp /META-INF中提供另一个当然也是一种解决方案,它更具可移植性。

Tomcat自己的/context.xml仅在您通过startup.bat/sh独立启动时使用,依此类推,在IDE环境之外。