tomcat加载web应用
前言
tomcat启动后会加载各个应用的web.xml文件,通过配置文件中的信息加载应用,一般spring应用通常会配置ContextLoaderListener、DispatcherServlet两个对象完成初始化
一、ContextLoaderListener
监听tomcat事件后触发
根据ContextLoader.properties配置,默认创建XmlWebApplicationContext上下文对象
获取contextConfigLocation配置文件路径并赋值给上下文对象,触发上下文对象的refresh方法
XmlWebApplicationContext继承AbstractApplicationContext
调用AbstractApplicationContext.refresh()
二、DispatcherServlet
DispatcherServlet继承FrameworkServlet
FrameworkServlet继承HttpServletBean
tomcat初始化servlet调用HttpServletBean.init()
然后调用FrameworkServlet.initServletBean(),初始化上下文对象
默认创建XmlWebApplicationContext上下文对象获取contextConfigLocation配置文件路径并赋值给上下文对象,触发上下文对象的refresh方法
调用DispatcherServlet.onRefresh完成webmvc的功能初始化