• 2. SpringMVC组件解析


    上图:

    文字版:

    ① 用户发送请求至前端控制器DispatcherServlet。

    ② DispatcherServlet收到请求调用HandlerMapping处理器映射器。

    ③ 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果 有则生成)一并返回给DispatcherServlet。

    ④ DispatcherServlet调用HandlerAdapter处理器适配器。

    ⑤ HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。

    ⑥ Controller执行完成返回ModelAndView。

    ⑦ HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet。

    ⑧ DispatcherServlet将ModelAndView传给ViewReslover视图解析器。

    ⑨ ViewReslover解析后返回具体View。

    ⑩ DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。DispatcherServlet响应用户。

    组件解析 :

    1. 前端控制器:DispatcherServlet

    用户请求到达前端控制器,它就相当于 MVC 模式中的 C,DispatcherServlet 是整个流程控制的中心,由 它调用其它组件处理用户的请求,DispatcherServlet 的存在降低了组件之间的耦合性。

    2. 处理器映射器:HandlerMapping HandlerMapping

    负责根据用户请求找到 Handler 即处理器,SpringMVC 提供了不同的映射器实现不同的 映射方式,例如:配置文件方式,实现接口方式,注解方式等。

    3. 处理器适配器:HandlerAdapter

    通过 HandlerAdapter 对处理器进行执行,这是适配器模式的应用,通过扩展适配器可以对更多类型的处理 器进行执行。

    4. 处理器:Handler

    它就是我们开发中要编写的具体业务控制器。由 DispatcherServlet 把用户请求转发到 Handler。由 Handler 对具体的用户请求进行处理。

    5. 视图解析器:View Resolver View Resolver

    负责将处理结果生成 View 视图,View Resolver 首先根据逻辑视图名解析成物理视图名,即 具体的页面地址,再生成 View 视图对象,最后对 View 进行渲染将处理结果通过页面展示给用户。

    6. 视图:View SpringMVC

    框架提供了很多的 View 视图类型的支持,包括:jstlView、freemarkerView、pdfView等。最 常用的视图就是 jsp。一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给用户,需要由程序员根据业务需求开发具体的页面

    本文来自博客园,作者:咸瑜,转载请注明原文链接:https://www.cnblogs.com/bi-hu/p/14940504.html

  • 相关阅读:
    什么是语义化的HTML?有何意义?为什么要做到语义化?
    Doctype作用?严格模式与混杂模式如何区分?它们有何差异?
    js和jq中常见的各种位置距离之offsetLeft和position().left的区别(四)
    js和jq中常见的各种位置距离之offset和offset()的区别(三)
    js和jq中常见的各种位置距离之offset()和position()的区别(二)
    js和jq中常见的各种位置距离之offsetLeft/clientLeft/scrollLeft (一)
    剖析js中的数据类型
    js数组去重几种方法
    SSE and Websocket
    鲜为人知的空元素╮(╯▽╰)╭
  • 原文地址:https://www.cnblogs.com/bi-hu/p/14940504.html
Copyright © 2020-2023  润新知