• SpringMVC的工作原理(执行流程)


    流程如下:

    1.用户点击某个请求路径,发起一个HTTP request请求,该请求会被提交到DispatcherServlet(前端控制器);
    2.由DispatchServlet请求一个或者多个 HandlerMapping(处理器映射器),并返回一个执行链(HandlerExecutionChain)
    3.DispatcherServlet 将执行链返回的 Handler 信息发送给 HandlerAdapter(处理器适配器)
    4.HandlerAdapter 根据 Handler 信息找到并执行相应的 Handler(常称为 Controller);
    5.Handler 执行完毕后会返回给 HandlerAdapter 一个 ModelAndView 对象(Spring MVC的底层对象,包括 Model 数据模型和 View 视图信息);
    6.HandlerAdapter 接收到 ModelAndView 对象后,将其返回给 DispatcherServlet ;
    7.DispatcherServlet 接收到 ModelAndView 对象后,会请求 ViewResolver(视图解析器)对视图进行解析;
    8.ViewResolver 根据 View 信息匹配到相应的视图结果,并返回给 DispatcherServlet;
    9.DispatcherServlet 接收到具体的 View 视图后,进行视图渲染,将 Model 中的模型数据填充到 View 视图中的 request 域,生成最终的 View(视图);
    10.视图负责将结果显示到浏览器(客户端)。
     

    流程(重要)如下:

    1.客户端(浏览器)发送请求,直接请求到 DispatcherServlet 。
    2.DispatcherServlet 根据请求信息调⽤ HandlerMapping ,解析请求对应的 Handler 。
    3.解析到对应的 Handler (也就是我们平常说的 Controller 控制器)后,开始由HandlerAdapter 适配器处理。
    4.HandlerAdapter 会根据 Handler 来调⽤真正的处理器开处理请求,并处理相应的业务逻辑。
    5.处理器处理完业务后,会返回⼀个 ModelAndView 对象, Model 是返回的数据对象, View是个逻辑上的 View 。
    6.ViewResolver 会根据逻辑 View 查找实际的 View 。
    7.DispaterServlet 把返回的 Model 传给 View (视图渲染)。
    8.把 View 返回给请求者(浏览器)

  • 相关阅读:
    Android native CursorWindow数据保存原理
    王立平--EditText实现单行显示,左側图标,提示信息
    Cocos2d-x 3.4 之 消灭星星 > 第三篇(终) <
    关于Segmentation fault错误
    python 2.x 与3.x的区别
    σ 代数与测度(measures)
    中文的表达 —— 句式、段落、结构(逻辑)
    中文的表达 —— 句式、段落、结构(逻辑)
    matlab 快捷键
    matlab 快捷键
  • 原文地址:https://www.cnblogs.com/alwayszzj/p/15624099.html
Copyright © 2020-2023  润新知