1. 服务器启动,Sping的beanFactory创建DispatcherServlet实例,读取配置文件相应大bean被放到 ApplicationContext中,完成DispatcherServlet的初始化(List->handlerMappings,List->handlerAdaptors,List->ViewResolves等)
2.handlerMappings来自ApplicationContext的类型为HandlerMapping,由Spring bean工厂创建的,由springIOC管理的实例,如果配置文件里没有该相关配置,DispatcherServlet会自动去读取DispatcherServlet.properties配置文件,里面含有一些默认配置,会有一个Map类型的key为String,value为相应的Controller类
3. handlerAdaptors,ViewResolvers与2类似
4. 初始化工作完成后等待用户发送在DispatcherServlet处理范围内的请求
a:请求被交给DispatcherServlet,调用doDispatch方法
b:在doDispatch方法中,根据相应的请求的url获取最后/以后的内容,通过HandlerMapping找与该内容相匹配的Controller,找到后封装成HandlerExecutionChain类型的一个变量,通过HandlerAdaptor去找处理该请求的某个特定的方法 ,得到相应的ModelAndView,由ViewResolver来解析ModelAndView,并且返回一个View类型的变量,在交给DispatcherServlet之前使用Model进行View的视图渲染,交给DispatcherServlet,然后由DispatcherServlet把结果显示给用户.
以上仅为个人理解,如有不恰之处还请谅解