一个Java Web应用程序必须选择静态上下文或“webcontext”。为什么我们需要一个像Jetty这样的Web服务器专门针对"webcontext",并且为什么我们必须将所有内容都路由到同一个“webcontext”?
因为Jetty是一个JEE Servlet容器,在JEE世界中,Web应用程序和Web上下文之间存在一对一的关系。其意图是能够在同一个Servlet容器中运行多个独立的Web应用程序。因此,通过URL路径的第一部分很容易路由到适当的Web应用程序。理论上讲,可以为一个Web应用程序声明多个Web上下文,但规范是另有规定的。请参见Java Servlet Specification 3.1中的第10.2节“与ServletContext的关系”: Servlet容器必须强制执行Web应用程序和ServletContext之间的一对一对应关系。ServletContext对象为Servlet提供了其应用程序的视图。