转自:
Spring MVC入口Servlet原理简介说明(HttpServletBean,FrameworkServlet,DispatcherServlet)
下文笔者讲述Spring MVC中Servlet的转发原理,如下所示:
Spring MVC中DispatcherServlet前端控制器是web服务器的入口,它的继承关系,如下图所示:

各类的功能,如下所示:
初始化 HttpSerlvetBean继承自HttpServlet,它覆写了init方法,并留出了一个空方法initServletBean(),供子类重写

HttpSerlvetBean初始化
web.xml配置
dispatcher org.springframework.web.servlet.DispatcherServlet 1 contextConfigLocation classpath:springConfig/dispatcher-servlet.xml dispatcher /
覆写initServletBean
FrameworkServlet继承自HttpServletBean,该类覆写的initServletBean方法
并留出空方法initFrameworkServlet()供子类扩展

initWebApplicationContext方法的具体实现逻辑:
FrameworkServlet中initWebApplicationContext源码 FrameworkServlet中initWebApplicationContext源码
web.xml配置
contextConfigLocation classpath:springConfig/applicationContext.xml web.xml中配置的ContextLoaderListener监听器中根据contextConfigLocation路径生成的上下文。 org.springframework.web.context.ContextLoaderListener
覆写onRefresh
DispatcherServlet覆写了FrameworkServlet中的onRefresh方法
DispatcherServlet覆写onRefresh
initStrategies方法内部会初始化各个策略接口的实现类,包括以下接口