为什么java webapps不能有2个webcontexts?

时间:2014-03-06 14:43:01

标签: java jetty

java webapp必须在静态上下文或" webcontext"之间进行选择。为什么我们需要一个webcontext只用于像jetty这样的Web服务器,为什么我们必须将所有内容路由到同一个" webcontext" ?

1 个答案:

答案 0 :(得分:7)

因为Jetty是一个JEE servlet容器,而在JEE世界中,Web应用程序和Web上下文之间存在一对一的关系。目的是能够在同一个servlet容器中运行多个独立的Web应用程序。因此,通过URL路径的第一部分很容易路由到适当的Web应用程序。

理论上,可以为webapplication声明多个webcontext,但是另有指定。请参阅Java Servlet Specification 3.1中的第10.2节“与ServletContext的关系”:

  

servlet容器必须强制执行一对一的对应关系   Web应用程序和ServletContext。 ServletContext对象   提供一个servlet及其应用程序视图。