1.用户点击某个请求路径,发起一个http的request请求给到前端控制器(Dispatcher Servlet);
2.由前端控制器(Dispatcher Servlet)请求一个或者多个Handler Mapping(处理器映射器),处理器映射器会根据请求,找到负责处理该请求的处理器,并且返回一个执行链(Handler Execution Chain)给到DispatcherServlet;
3.Dispatcher Servlet将Handler Mapping返回的执行链中的Handler信息发送给处理器适配器(Handler Adapter);处理器适配器可以有多个
4.Handler Adpater根据Handler信息找到并执行相应的Handler(常称为Controller方法);
5.Handler执行完毕后会返回给HandlerAdpate一个ModelAndView对象(ModelAndView对象是由Controller方法会将处理的结果及要跳转的视图封装为一个对象ModelAndView,包括Model数据模型和View视图信息);
6.HandlerApdater接收到ModelAndView对象后,返回给DispatcherServlet;
7.DispatcherServlet 接收到 ModelAndView 对象后,会请求 视图解析器(ViewResolver)对视图进行解析,将 ModelAndView 中的视图名称封装为视图对象;
8.ViewResolver 根据 View 信息匹配到相应的视图结果,并返回给 DispatcherServlet;
9.DispatcherServlet 接收到具体的 View 视图后,进行视图渲染,将 Model 中的模型数据填充到 View 视图中的 request 域,生成最终的 视图(View)去响应httpresponse;
10.前端控制器响应httpResponse给浏览器,展示在页面上(客户端)