spring父子容器
<!-- 初始化spring容器 --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext-*.xml&a
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext-*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 前端控制器 -->
<servlet>
<servlet-name>test</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- contextConfigLocation不是必须的, 如果不配置contextConfigLocation, springmvc的配置文件默认在:WEB-INF/servlet的name+"-servlet.xml" -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>taotao-manager-web</servlet-name>
<!-- 拦截所有请求jsp除外 -->
<url-pattern>/</url-pattern>
</servlet-mapping>
org.springframework.web.context.ContextLoaderListener和org.springframework.web.servlet.DispatcherServlet
都会加载spring容器,此时两个个容器是父子关系,ContextLoaderListener是父容器,DispatcherServlet是子容器,子容器能加载父容器下的东西,父容器不能加载子容器的东西。
既然.DispatcherServlet能创建容器为什么不让该容器加载spring的全部文件配置,答案是可以的,但是为了项目的可扩展性,比如spring还想集成struts2就可以用符容器集成,这样解耦了
更多推荐
所有评论(0)