SpringMVC的工作流程

SpringMVC的工作流程

  • 用户通过客户端向服务器发出请求,请求会被SpringMVC的前端控制器DispatcherServlet锁拦截
  • DispatcherServlet拦截到请求后,会调用HandlerMapping处理器映射器
  • 处理器映射器根据请求URL找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet
  • DispatcherServlet会通过返回信息选择合适的HandlerAdapter处理器适配器
  • DispatcherServlet会调用并执行Handler(处理器),这里的处理器指的就是程序中编写的Controller类,也被称为后端控制器
  • controller执行完成后,会返回一个ModelAndView对象,该对象中会包含视图名或包含模型和视图名
  • HandlerAdapter将ModelAndView对象返回给DispatcherServlet
  • DispatcherServlet会根据ModelAndView对象选择一个合适的ViewReslover(视图解析器)
  • ViewReslover解析后会向DispatcherServlet中返回具体的View视图
  • DispatcherServlet对view进行渲染(即将模型数据填充至视图中)
  • 视图渲染结果会返回给客户端浏览器显示