SpringMVC工作机制、SpringMVC工作原理

目录

MVC设计模式

SpringMVC的工作机制

SpringMVC四大组件

SpringMVC的工作机制      


官网

Spring MVC是的基于JavaWeb的MVC框架,是Spring框架中的一个组成部分(WEB模块)。

Spring MVC符合JavaWeb MVC框架的一般特点,基于Spring MVC框架的应用同样主要由模型、视图和控制器三个部分构成。

Spring MVC框架具有效率高、易使用、灵活、良好的可配置性和拔插性等特点。

MVC设计模式

什么是设计模式所谓的设计模式,一套解决问题的办法和思路,一套成功的解决方案,被人们认可,都可以称为设计模式,前人成功经验的总结,前任经验的智慧的结晶

  • MVC设计模式

众所周知,MVC设计模式由三部分组成

  • Controller(控制器)
  • Model(模型)
  • View(视图)        

专人专事,你擅长什么你处理什么组件的复用,代码的利用率提高了

SpringMVC的工作机制

Spring MVC框架主要提供控制体系部分,该控制体系主要包括:前端控制器、控制器

        来自客户端的请求首先被【前端控制器】接收,前端控制器再将请求分发给【控制器】,【控制器】处理请求、调用业务模型,并根据业务模型处理结果,向【前端控制器】返回数据(model)和视图名称,【前端控制器】将数据(model)交给视图模板(如:jsp)生成视图,最后由【前端控制器】将视图结果向浏览器呈现。

充当前端控制器的DispatcheServlet是一个Servlet,即Spring MVC提供的前端控制器,与其它Servlet一样需要在web.xml中进行配置。

SpringMVC四大组件

        DispatcherServlet:前端控制器,总调度,底层真正接收请求和响应的组件。完成了对其他组件的调用,DispatcherServlet对物理视图进行渲染,并返回给客户端浏览器

        HandlerMapping:处理器映射器根据请求url找到具体的控制器,生成具体的控制器对象,并将该对象返回给DispatcherServlet

        HandlerAdapter:DispatcherServlet接收到控制器对象r后,就去寻找一个适合的处理器适配器,处理器适配器接收handler,完成类型装换、数据校验等操作,然后执行其中封装的控制器的方法,得到一个ModelAndView对象,处理器适配器将ModelAndView返回给DispatcherServlet

        ViewResolver:DispatcherServlet将ModelkAndView交给视图解析器。视图解析器对封装在ModelAndView中的逻辑视图进行解析,得到物理视图,并把物理视图返回给DispatcherServlet.

SpringMVC的工作机制      

  1. 用户发送请求至前端控制器DispatcherServlet

  2. DispatcherServlet收到请求调用处理器映射器HandlerMapping。

  3. 处理器映射器根据请求url找到具体的处理器,生成处理器执行链 HandlerExecutionChain(包括处理器对象和处理器拦截器)一并返回给DispatcherServlet。

  4. DispatcherServlet根据处理器Handler获取处理器适配器HandlerAdapter执行HandlerAdapter处理一系列的操作,如:参数封装,数据格式转换,数据验证等操作

  5. 执行处理器Handler(Controller,也叫页面控制器)。

  6. Handler执行完成返回ModelAndView

  7. HandlerAdapter将Handler执行结果ModelAndView返回到DispatcherServlet

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

  9. ViewReslover解析后返回具体View

  10. DispatcherServlet对View进行渲染视图(即将模型数据model填充至视图中)。

  11. DispatcherServlet响应用户。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值