SpringMVC原理&MVC设计思想

什么是MVC

      MVC是一种架构模式 --- 程序分层,分工合作,既相互独立,又协同工作

      MVC是一种思考方式 --- 需要将什么信息展示给用户? 如何布局? 调用哪些业务逻辑?


  MVC流程图如下图所示

 MVC核心思想:业务数据抽取同业务数据实现相分离


总结:

    模型层(M)       业务数据的信息表示,关注支撑业务的信息构成,通常是多个业务实体的组合

    视图层(V)       为用户提供UI,重点关注数据的呈现

    控制器(C)       接受用户请求,并调用相应的模型处理

                         (相当于一个总调配中心,有什么需求,就去调用相应模型进行处理,最后通过视图给用户进行展示)


SpringMVC的原理:

    1 首先用户发出请求,请求到达SpringMVC的前端控制器(DispatcherServlet),

    2 前端控制器根据用户的url,请求处理器映射器(HandlerMapping)查找匹配该url的handler,并返回一个执行链(HandlerExecutionChain),

    3 前端控制器再请求处理器适配器(HandlerAdapter)调用相应的handler进行处理并返回给前端控制器一modelAndView,  

    4 前端控制器再请求视图解析器(ViewResolver)对返回的逻辑视图进行解析,

    5 最后前端控制器将返回的视图进行渲染并把数据装入到request域,返回给用户。


  注:DispatcherServlet作为springMVC的前端控制器,负责接收用户的请求并根据用户的请求返回相应的视图给用户(分发调度)


  补充

    为什么叫前端控制器?前端又是什么?

   举个例子:假如你去医院看病,通过向分诊台的医院描述自己的病情,就可以得到医生的指导具体去看外科、内科或者神经科等等,这里我们的分诊台就扮演着前端控制器(Dispatcher)的角色,也叫做调度器,而各个科室就扮演着控制器(Controller)的角色,因为分诊台是在具体各个科室之前,所以这个模式就叫做前端控制器。



  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值