zoukankan      html  css  js  c++  java
  • Spring MVC执行流程

    SpringMVC是隶属于Spring Web中的一部分, 属于表现层的框架.

    其使用了MVC架构模式的思想, 将Web层进行职责解耦, 使用请求-响应模型简化Web开发

    SpringMVC通过中央调度器DispatcherServlet,来调用MVC的三大件:Controller、Model、View。

    保证MVC的每一个组件只与DispatcherServlet耦合, 彼此之间独立运行, 降低程序的耦合性。

    具体执行逻辑如下: 

    1. 浏览器提交请求到中央调度器.
    2. 中央调度器将请求转给处理器映射器.
    3. 处理器映射器根据请求, 找到请求对应的处理器, 并将其封装为处理器执行链返回给中央调度器.
    4. 中央调度器根据处理器执行链中的处理器, 找到能够执行该处理器的适配器.
    5. 适配器调用执行处理器.
    6. 处理器将处理结果以及要跳转的视图封装到一个对象ModelAndView中, 并将其返回给处理器适配器.
    7. 适配器将结果返回给中央调度器.
    8. 中央调度器调用视图解析器, 将ModelAndView中的视图名封装为视图对象.
    9. 视图解析器将封装了的视图对象返回给中央处理器.
    10. 中央调度器调用视图对象, 让其渲染, 即进行数据填充, 形成响应对象.
    11. 中央调度器响应浏览器.

    DispatcherServlet

    中央调度器, 它用来调用诸如处理器映射器, 适配器, 视图解析器等组件处理用户请求.

    中央调度器的存在降低了组件之间的耦合.

    HandlerMapping

    处理器映射器, 负责根据用户请求找到对应的Handler, 即处理器, 并将处理器封装为处理器执行链返回给中央调度器.

    HandleAdaptor

    适配器模式, 可以扩展适配器来对更多类型的处理器进行执行, 中央调度器根据不同的处理器自动选择适配器, 以执行处理器.

    Handler

    处理器, 即后端控制器. 在DispatcherServlet控制下Handler调用Service层对具体用户请求进行处理.

    Handler一般涉及的是用户具体的业务请求, 充当MVC中的Controller.

    ViewResolver

    视图解析器, 负责将处理结果生成View视图, ViewResolver首先将逻辑视图名解析为物理视图名(具体页面地址).

    再生成View视图(html/json/xml), 返回给中央处理器, 由中央处理器将结果通过页面形式展现给用户.

    SpringMVC中提供了多种View视图类型, 例如: JstlView, RedirectView等等.

  • 相关阅读:
    迷你图标集大集合:5000+ 30套免费的图标(不得不下,设计必备)
    Github简介
    Sublime Text 3 文本编辑器
    FusionCharts V3图表导出图片和PDF属性说明(转)
    FusionCharts参数的详细说明和功能特性(转)
    SQL 数据结构操作语句
    SQL Server 2008 各种DateTime的取值范围
    Datagrid数据导出到excel文件的三种方法
    开发环境
    如何利用ThoughtWorks.QRCode 生成二维码
  • 原文地址:https://www.cnblogs.com/xdecode/p/8577439.html
Copyright © 2011-2022 走看看