深入理解spring mvc启动过程与原理
spring mvc的启动,是跟随着tomcat启动的,所以要深入理解spring mvc的启动过程与原理,需要先了解下tomcat启动的一些关键过程。
1、tomcat web应用启动及初始化过程
参考官方文档,tomcat web应用启动过程是这样的:
图1 tomcat web应用启动过程
大概意思就是,当一个Web应用部署到容器内时,在web应用开始执行用户请求前,会依次执行以下步骤:
- 部署描述文件web.xml中
元素标记的事件监听器会被创建和初始化; - 对于所有事件监听器,如果实现了ServletContextListener接口,将会执行其实现的contextInitialized()方法;
- 部署描述文件中由
元素标记的过滤器会被创建和初始化,并调用其init()方法; - 部署描述文件中由
元素标记的servlet会根据 的权值按顺序创建和初始化,并调用其init()方法;
通过上述文档的描述,可知tomcat web应用启动初始化流程是这样的:
图2 tomcat web应用初始化过程
可以看出,在tomcat web应用的初始化流程是,先初始化listener,接着初始化filter,最后初始化servlet。
2、spring mvc应用的启动初始化
做过spring mvc项目开发的伙伴,都会配置一个web.xml配置文件,内容一般是这样的:
<?xml version=”1.0” encoding=”UTF-8”?>
web.xml配置文件中也主要是配置了Listener,Filter,Servlet。
还没有评论,来说两句吧...