2011-10-13 51 views
5

我正在开发一个小型web应用程序。目标是创建一个带有Ajax +一个servlet的欢迎页面index.html来处理Ajax请求。web应用程序中的context.xml vs web.xml

虽然我以为我会很好只用web.xml,但我不想部署到/,而是到/MyApp。 NetBeans的项目属性提供了设置上下文路径的选项,这有助于我部署到/MyApp。但是,它会自动添加一个/META-INF/context.xml文件,这有点令人困惑。

我的问题是:

1)我真的需要一个context.xml文件都部署到/MyApp,而不是/

2)如果对1)的回答是否定的,那么如何完成与web.xml的相同呢?

3)究竟是什么context.xmlweb.xml

回答

8

/META-INF/context.xmlTomcat-specific config file。它用于配置应用程序如何部署到Tomcat,其中包括它存在的上下文路径。其他容器具有类似的文件,可以包含在容器配置的WAR中。回答你的问题:

  1. 不,嵌入式context.xml只是设置上下文路径的一种方法,正如我所指出的,它只能在Tomcat中工作。在Tomcat中,默认行为是将webapps部署到具有war文件名称但不带“.war”扩展名的上下文中。
  2. 您无法在web.xml中设置上下文路径。这是您的应用程序的部署描述符。它配置你的应用程序,上下文路径在你的应用程序外部。它属于您正在部署应用程序的服务器/容器。配置上下文路径总是在容器的配置中完成。
  3. 如果通过“config.xml”,你的意思是“context.xml”,那么我想我已经回答了。如果没有,请澄清你的问题。
+0

很好,它完美地阐明了这些概念。我认为context.xml实际上与应用程序本身有关。谢谢。 – JVerstry

相关问题