SpringMvc执行流程总结

2019-01-16  本文已影响5人  知止9528

关于springMvc的启动
1.web容器在启动的时候,会扫描每个jar包下的META-INF/service/javax.servlet.ServletContainerInitializer

2.加载这个文件指定的类SpringServletContainerInitializer

3.spring的应用一启动会加载感兴趣的WebApplicationInitialzer接口下的所有组件;

4.并且为WebApplicationInitializer组件创建对象(组件不是接口,不是抽象类)

①AbstractContextLoaderInitializer:创建根容器,createRootApplicationContext();
   ②AbstractDispatcherServletInitializer;
        创建一个web的ioc容器;createServletApplicationContext();
        创建了DispatcherServlet;createDispatcherServlet();
        将创建的DispatcherServlet添加到ServletContext中;
             getServletMappings();
   ③AbstractAnnotationConfigDispatcherServletInitializer:注解方式配置的DispatcherServlet初始化器
       创建根容器:createRootApplicationContext();
                          getRootConfigClasses();传入一个配置类
       创建创建一个web的ioc容器;createServletApplicationContext();
                          获取配置类:getServletConfigClasses();

小结:

可以以注解来启动SpringMvc;只需要继承AbstractAnnotationConfigDispatcherServletInitializer,实现抽象方法指定DispatcherServlet的配置信息;

关于springMvc对请求的响应

image.png

整个流程图如下:


SpringMvc请求处理流程图.png
上一篇 下一篇

猜你喜欢

热点阅读