Spring MVC框架的执行流程如下:
- 客户端发送一个HTTP请求到服务器,并且请求被DispatcherServlet接收。
- DispatcherServlet根据请求的URL路径找到对应的HandlerMapping,获取处理该请求的Controller。
- HandlerMapping将请求转发给Controller,并返回一个HandlerExecutionChain对象,包含了该请求要执行的处理方法以及相关的拦截器。
- Controller执行处理方法,处理请求,并返回一个ModelAndView对象,包含了处理结果及视图名称。
- HandlerInterceptor拦截器对处理方法执行前后进行拦截处理。
- Controller将ModelAndView对象传递给DispatcherServlet。
- DispatcherServlet根据视图名称,使用ViewResolver解析器找到对应的View视图。
- View视图渲染ModelAndView对象,生成最终的响应内容。
- 最终响应内容返回给客户端。
需要注意的是,上述流程中的步骤3和步骤5可以有多个拦截器参与,拦截器可以对请求进行预处理和后处理,以及对异常进行处理。