2014-05-13 57 views

回答

4

Spring MVC是一个构建在Servlet API之上的框架。因此,它需要一个Servlet容器。

您的Servlet容器找到web.xml或使用任何其他部署策略(取决于容器),找到Servlet实例来实例化(或通过@WebServlet)并实例化它们。

这些Servlet实现之一是Spring的DispatcherServlet,作为其初始化的一部分,它生成ApplicationContext,然后用它来配置其控制器和调度请求。

2

servlet容器(Tomcat,Jetty等)将在启动时读取web.xml并实例化在那里定义的各种servlet /过滤器/侦听器。其中一个过滤器或servlet很可能由Spring提供,然后它将读取applicationContext.xml并初始化Spring上下文。

例如,你的web.xml文件可能包含这样的内容:

<servlet> 
    <servlet-name>dispatcher</servlet-name> 
    <servlet-class> 
    org.springframework.web.servlet.DispatcherServlet 
    </servlet-class> 
    <init-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/spring/applicationContext.xml</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

该Servlet将阅读和创建Spring上下文中其中的Spring bean“活”。

相关问题