天天看点

SpringMVC源码分析:工作处理流程

SpringMVC工作流程分析

SpringMVC框架是一个基于请求驱动的Web框架,并且使用了

前端控制器

模型来进行设计,再根据

请求映射规则

分发给相应的页面控制器进行处理。

SpringMVC源码分析:工作处理流程

一般来说,SpringMVC开发过程如下所示

  • 1、配置DispatcherServlet前端控制器
  • 2、开发处理具体业务逻辑的Handler(@Controller、@RequestMapping)
  • 3、xml配置⽂件配置controller扫描,配置SpringMVC三⼤件
  • 4、将xml⽂件路径告诉SpringMVC(DispatcherServlet)

Spring MVC请求处理流程

SpringMVC源码分析:工作处理流程

流程说明:

  • 第⼀步:⽤户发送请求⾄前端控制器DispatcherServlet
  • 第⼆步:DispatcherServlet收到请求调⽤HandlerMapping处理器映射器
  • 第三步:处理器映射器根据请求Url找到具体的Handler(后端控制器),⽣成处理器对象及处理器拦截器(如果有则⽣成)⼀并返回DispatcherServlet
  • 第四步:DispatcherServlet调⽤HandlerAdapter处理器适配器去调⽤Handler
  • 第五步:处理器适配器执⾏Handler
  • 第六步:Handler执⾏完成给处理器适配器返回ModelAndView
  • 第七步:处理器适配器向前端控制器返回ModelAndView,ModelAndView是SpringMVC框架的⼀个底层对象,包括Model和View
  • 第⼋步:前端控制器请求视图解析器去进⾏视图解析,根据逻辑视图名来解析真正的视图。
  • 第九步:视图解析器向前端控制器返回View
  • 第⼗步:前端控制器进⾏视图渲染,就是将模型数据(在ModelAndView对象中)填充到request域
  • 第⼗⼀步:前端控制器向⽤户响应结果

总结

1、 客户端发送请求到后端,然后DispatcherServlet通过统一拦截到请求然后传递给HandlerMapping处理器映射器

2、HandlerMapping根据Url找到对应的Handler,传给HandlerAdapter

注:处理器映射求和适配器使用纾解的话包含在了注解驱动中,不需要在单独配置
           
View是一个接口,实现类支持不同的View类型(jsp、freemarker、pdf...)
           

继续阅读