SpringMVC的启动过程

今天来总结一下SpringMVC框架的启动过程。
首先看一下一个常用的springMVC+spring+mybaits框架的web.xml
web.xml


<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

    
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>
    listener>

    
    <context-param>
        <param-name>contextConfigLocationparam-name>
        <param-value>classpath*:config/spring-*.xmlparam-value>
    context-param>

    
    <servlet>
        <servlet-name>springMVCservlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
        
        <init-param>
            <param-name>contextConfigLocationparam-name>
            <param-value>classpath*:config/spring-mvc.xmlparam-value>
        init-param>
        
        <load-on-startup>1load-on-startup>
    servlet>

    
    <servlet-mapping>
        <servlet-name>springMVCservlet-name>
        
        <url-pattern>/url-pattern>
    servlet-mapping>

    '''
web-app>

根据servlet启动的顺序:context > Listener > Filter > 自启动Servlet > 普通servlet

  • 首先初始化容器ServletContext
  • spring的监听器ContextLoaderListener,spring会初始化一个启动上下文,这个上下文被称为根上下文,即WebApplicationContext,作为IOC容器,初始化bean。
  • 初始化自启动servlet,DispatcherServlet拦截并处理每个请求。

你可能感兴趣的:(SpringMVC)