首页 > 编程语言 > 详细

SpringMVC原理

时间:2020-08-13 09:16:43      阅读:58      评论:0      收藏:0      [点我收藏+]

工作流程

技术分享图片

  • 1.用户发送请求到DispatcherServlet(前端处理器)

  • 2.DispatcherServlet调用HandlerMapping(处理器映射器)

  • 3.HandlerMapping根据配置(xml/注解)找到最终要执行的Handler,生成处理器对象及处理器拦截器返回给DispatcherServlet

  • 4.DispatcherServlet调用HandlerAdapter(处理器适配器)

  • 5.HandlerAdapter根据规则执行相应的Controller

  • 6.Controller执行完成返回ModelAndView

  • 7.HandlerAdapter将Controller执行结果ModelAndView返回给DispatcherServlet

  • 8.DispatcherServlet将ModelAndView传给ViewReslover(视图解析器)

  • 9.ViewReslover解析完成返回具体View给DispatcherServlet

  • 10.DispatcherServlet根据View渲染视图,将模型数据转为Response响应

组件说明

DispatcherServlet(前端控制器)【框架提供】

  • 说明:作为前端控制器,是整个流程的控制中心,控制其他组件执行,统一调度,降低组件之间的耦合性,提个组件的扩展性。相当于MVC中的C

  • 作用:接收请求,相应结果,相当于转发器、中央处理器

HandlerMapping(处理器映射器)【框架提供】

  • 说明:通过扩展处理器映射器实现不同的映射方式(例如:配置文件方式、实现接口方式、注解方式等)

  • 作用:根据请求url查找Handler

处理器适配器(HandlerAdapter)

  • 说明:适配器模式的应用,通过扩展处理器适配器,支持更多类型的处理器

  • 作用:按照特定规则(HandlerAdapter要求的规则)去执行Handler

Handler(处理器)【自行开发】

  • 说明:Handler是后端控制器(即Controller),在DispatcherServlet的控制下Handler对具体的用户请求进行处理(Handler一般为具体的业务请求)

  • 作用:处理具体用户请求

注意:编写Handler时按照HandlerAdapter的要求去做,这样适配器才可以去正确执行Handler

ViewResolver(视图解析器)【框架提供】

  • 说明:ViewResolver负责将处理结果生产View视图。首先根据逻辑视图名解析成物理视图名(即页面地址),再生成View视图对象,最后渲染View返回。SpringMVC支持更多类型的视图解析(例如:JSP、freemarker,PDF,Excel等View)

  • 作用:进行视图解析,根据逻辑视图名解析成真正的视图

View(视图)【自行开发】

  • View是一个接口,实现类支持不同的View类型(JSP、freemarker、PDF等)

参考:https://blog.csdn.net/qq_43378945/article/details/90907427

SpringMVC原理

原文:https://www.cnblogs.com/wangkai821/p/13493954.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!