1.SpringMVC的执行流程图:
2.执行流程:
SpringMVC的执行流程是SpringMVC框架从一次请求到一次回应之间的过程。
- 用户向服务器发送请求,请求会统一交给SpringMVC前端控制器DispatcherServlet处理。
- DispatcherServlet会将请求交给HandlerMapping进行请求映射,找到该请求对应的Handler对象和HandlerExecutionChain对象以及对应的控制器和拦截器
- HandlerMapping(处理器映射器)把找到的请求对应的Handler对象和HandlerExecutionChain对象返回给DispatcherServlet(前端控制器)。
- DispatcherServlet(前端控制器)请求HandlerAdapter(处理器适配器),选择一个合适的HandlerAdapter(处理器适配器)去处理Handler。(附注:如果成功获得HandlerAdapter后,此时将开始执行拦截器的preHandler(…)方法)。
- 提取request中的模型数据,开始执行Handler(Controller)。
- Handler执行完成后,Handler(处理器)会返回一个ModelAndView对象给HandlerAdapter(处理器适配器)。
- HandlerAdapter(处理器适配器)再把ModelAndView对象向DispatcherServlet 返回。
- 根据返回的ModelAndView,选择一个适合的ViewResolver把视图解析为具体的view。
- ViewResolver 结合Model和View,来渲染视图(Model+View合成),并把view对象返还给DispatcherServle(前端控制器)。
- 最后DispatcherServle将渲染结果返回给客户端。