zoukankan      html  css  js  c++  java
  • 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 返回给请求者(浏览器)

  • 相关阅读:
    2017年10月9日 冒泡&去重复习
    2017 年9月29日 弹出层特效
    2017 年9月28日 三级联动
    2017 年 9 月 27 日 js(文本框内容添加到select)
    2017 年 9 月 27 日 js(1.两个select 内容互换 2.单选按钮 同意可点击下一步 3. 全选框)
    2017 年 9 月26 日
    linux运维的认知及RHEL7 Unix/Linux 系统 介绍和安装
    Zabbix配置文件详解之服务端zabbix_server
    LoadRunner安装+汉化+破解
    zabbix告警“Zabbix poller processes more than 75% busy”
  • 原文地址:https://www.cnblogs.com/alwayszzj/p/15624099.html
Copyright © 2011-2022 走看看