到目前为止,我以前一直认为Web应用程序只能具有dispatcher-servlet我们在web.xml
dispatcher-servlet
web.xml
一个Web应用程序中可以有多个调度程序servlet吗?
Web应用程序可以定义任意数量的DispatcherServlet。每个servlet将在其自己的名称空间中运行,并使用映射,处理程序等加载其自己的应用程序上下文。只有ContextLoaderListener加载的根应用程序上下文(如果有)将被共享。
DispatcherServlet
ContextLoaderListener
怎么样?
只需声明几个名称不同但使用org.springframework.web.servlet.DispatcherServlet类的servlet 。还要确保yourServletName-servlet.xml文件可用。
org.springframework.web.servlet.DispatcherServlet
yourServletName-servlet.xml
在什么情况下我们可能需要这样做?
DispatcherServlet非常灵活。不仅Spring MVC使用它,而且Spring WS,Spring对hessian的支持等。
hessian
另外,整个Web应用程序中只能有一个应用程序上下文吗?
在引用的文档中也已经回答:每个DispatcherServlet+一个主要的Web应用程序上下文一个应用程序上下文。
我们如何定义多个应用程序上下文?
参见上文,只需创建多个DispatcherServlet。
调度程序servlet可以存在于非spring应用程序中吗?
DispatcherServlet是一个单独的Spring上下文(Spring应用程序),因此:不。一方面DispatcherServlet可以在不具有父(主)应用程序上下文的应用程序中声明,这样:是。