• 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等的页面呈现

    动态概念:

  • 相关阅读:
    Python之路,Day2
    Dnsmasq安装与配置-搭建本地DNS服务器 更干净更快无广告DNS解析
    bind+dlz+mysql实现区域记录动态更新
    SUSE下FTP服务器搭建
    最简单粗暴的http文件列表
    shell脚本监控MySQL服务是否正常
    解决问题:Jupyter Notebook启动不会自动打开浏览器,每次都要自己打开浏览器输入网址
    让Jupyter Notebook个性化
    数据预处理小结
    多模型融合推荐算法
  • 原文地址:https://www.cnblogs.com/cing/p/7472533.html
Copyright © 2020-2023  润新知