1.spring mvc在做功能分组时在web.xml文件中使用配置多个
DispatcherServlet形式,因为
DispatcherServlet
是一个Servlet,所以可以配置多个DispatcherServlet,只要把servlet的名字与映射区分开来即可,在容器启动时,每个
DispatcherServlet实例将其配置文件都加载到自己的应用程序上下文中,并引用根应用程序上下文作为它的父上下文,即继承。
这个上下文继承了
根上下文
中所有东西。
保存在
ServletContext中,key是”org.springframework.web.servlet.FrameworkServlet.CONTEXT”+Servlet名称。
当一个Request对象产生时,会把这个
WebApplicationContext上下文保存在Request对象中,key是DispatcherServlet.class.getName() + “.CONTEXT”。可以使用工具类取出上下文:RequestContextUtils.getWebApplicationContext(request);
Spring中的 ApplicationContext实例可以被限制在不同的作用域(scope)中。在web MVC框架中,每个 DispatcherServlet有它自己的WebApplicationContext ,这个context继承了根 WebApplicationContext 的所有bean定义。这些继承的bean也可以在每个serlvet自己的所属的域中被覆盖(override),覆盖后的bean 可以被设置上只有这个servlet实例自己使用的属性。
2.
如果你使用了listener监听器来加载配置,即ContextLoaderListener,
Spring会创建一个全局的
WebApplicationContext上下文,称为
根上下文
,保存在
ServletContext中,key是WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE属性的值。可以使用工具类取出上下文:WebApplicationContextUtils.getWebApplicationContext(ServletContext);
3.dwr框架的前端控制器与其一样的道理配置即可。
版权声明:本文为longjie_happy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。