第一步,用户发送请求,该请求会交给前端控制器(DispatcherServlet)处理;
第二步,前端控制器(DispatcherServlet)接收到请求后,会交给处理器映射器(HandlerMapping)通过注解或者是XML配置文件查找Handler(也就是常说的Controller);
第三步,处理器映射器(HandlerMapping)将查找到的Handler返回给前端控制器(DispatcherServlet);
第四步,前端控制器(DispatcherServlet)请求处理器适配器(HandlerAdapter)去执行该Handler;
第五步,处理器适配器(HandlerAdapter)执行Handler;
第六步,Handler执行完后会返回一个ModelAndView对象给处理器适配器(HandlerAdapter);
第七步,处理器适配器(HandlerAdapter)将Handler返回的ModelAndView对象交给前端控制器(DispatcherServlet);
第八步,前端控制器(DispatcherServlet)接收到ModelAndView对象后,会请求视图解析器(ViewResolver)对其中的视图(View)进行解析;
第九步,视图解析器(ViewResolver)解析视图(View)信息得到一个具体的视图,并将该具体的视图返回给前端控制器(DispatcherServlet);
第十步,前端控制器(DispatcherServlet)接收到视图后,进行视图渲染,并将ModelAndView中的模型数据(Model)填充到该视图中的request作用域,生成最终的视图View;
第十一步,前端控制器(DispatcherServlet)将最终的视图View返回给用户;