zoukankan      html  css  js  c++  java
  • Spring MVC的静态和动态概念

    MVC模式:

    图释:用户请求通过HTTP协议到达Front controller,Front controller把请求送给Controller,Controller了解业务逻辑细节并且调用业务逻辑数据,并将业务数据返回给Front controller,Front controller将业务数据分发给View template,View template呈现最终的用户页面,View template将最终用户页面返回给Front controller,Front controller将用户页面返回给浏览器进行展示。

    Front controller可以类比于医院里的分诊台,也即挂号的地方,Controller可以类比于每一个具体的科室。

    MVC:

    V(View):为用户提供UI,重点关注数据的呈现。

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

    C(Controller):调用业务逻辑产生合适的数据,传递数据给视图层进行呈现。

    静态概念:

    DispatcherServlet就是MVC里面的Front controller

    Controller就是MVC里的Controller

    HandlerAdapter是在DispatcherServlet内部使用的一个内,就是Controller的一种表现形式,利用了适配器模式,将很多个handler适配成DispatcherServlet可以调用Controller的模式

    HandlerInterceptor在我们要调用Controller或view之前和之后可以做一些拦截的操作

    HandlerMapping帮助DispatcherServlet去从很多个Controller中调用具体的某一个Controller,在HandlerMapping工作完毕之后,它可以给DispatcherServlet一个HandlerAdapter,这个HandlerAdapter里面包括了某一个具体的Controller的实例以及包裹的HandlerInterceptor,这些东西会一起构成一个统一的执行链条往下进行。

    HandlerExecutionChain也就是上面的执行链条(这个链条的实现用到了反射机制)

    ModelAndView是Spring MVC中的具体表现

    ViewResolver会告诉DispatcherServlet需要用哪一个试图来呈现,也就是找到类似于jsp,jstl等的页面呈现

    动态概念:

  • 相关阅读:
    KMP的next数组性质运用
    谁说前端不需要懂-Nginx反向代理与负载均衡
    Vue源码
    js学习网站
    CSS文本溢出显示省略号
    Js中带有小数的值相加产生的问题
    使用ueditor的时候,style样式传递到后台时被过滤没了
    实现div里的内容垂直居中
    安装sass报错
    js方法
  • 原文地址:https://www.cnblogs.com/cing/p/7472533.html
Copyright © 2011-2022 走看看