美文网首页Spring
SpringMVC的过程简析

SpringMVC的过程简析

作者: AbstractCulture | 来源:发表于2020-08-08 19:53 被阅读0次

Spring MVC是基于MCV(Model、View和Control)模型,利用处理器分离模型、视图和控制,以便达到不同层之间松散耦合的效果,提高系统的可重用性、维护性和灵活性。

以下便是MVC的过程模型图:

image

我们从图中可以看到DispatcherServlet是Spring MVC框架的核心,负责协调和组织不同的组件以完成处理并返回响应的工作。

下面我们来简单阐述一下用户发出http请求时,SpringMVC做了什么事情:

  1. 用户在客户端输入http请求,Web服务器接收该请求,如果在web.xml中匹配DispatcherServlet的请求映射路径,Web容器则将该请求转发给DispatcherServlet进行处理。

  2. DispatcherServlet接收用户请求后,将根据请求的信息及HandlerMapping的配置找到处理请求的处理器(Handler)。可将HandlerMapping看作路由控制器,将Handler看作目标主机。

  3. DispatcherServlet根据HandlerMapping得到对应当前请求的Handler后,通过HandlerAdapterHandler进行封装,再以统一的适配器接口调用Handler。

  4. 处理器完成业务逻辑的处理后将返回一个ModelAndView(视图逻辑名和模型数据信息)给DispatcherServlet.

  5. ModelAndView中包含的是逻辑视图名,而非真正的视图对象,DispatcherServlet借由ViewResolver完成逻辑视图名到真正视图对象的解析工作。

  6. 当得到真实的视图对象View后,DispatcherServlet就使用View对象对ModelAndView中的模型数据进行视图渲染。

  7. 最终将View中的内容(HTML,JSON等媒体形式)返回给用户,作为Http响应。

相关文章

  • SpringMVC的过程简析

    Spring MVC是基于MCV(Model、View和Control)模型,利用处理器分离模型、视图和控制,以便...

  • SpringMVC源码简析

    本人学习过程中参考了其他博客,做了一些笔记在有道云中,忘记保存原博客地址,作者看到可联系本人,本人核实后加上,谢谢...

  • MapReduce过程简析

    本文主要讲述hadoop中MapReduce数据处理的过程。 MapReduce处理流程 过程简析:   MapR...

  • Swift5.1构造过程&析构过程

    14.构造过程 构造过程 15.构析过程 析构过程原理析构过程:析构器只适⽤于类类型,当一个类的实例被释放之前,析...

  • KVC实现过程简析

    KVC可以访问私有属性,有两个方法- (void)setValue:(nullable id)value forK...

  • Android App 的启动过程简析

    转至: Android App 的启动过程简析_callActivityOnCreate的博客-CSDN博客[ht...

  • 53--Web应用上下文环境创建

    1. Web应用上下文环境创建简析 通过上一节的分析,找到了SpringMVC源码分析的入口,接下来看Web应用上...

  • 简析 Swift 的模块系统

    简析 Swift 的模块系统 简析 Swift 的模块系统

  • 45 springmvc和springboot的启动过程

    问题: 简述springmvc和springboot的启动过程 答案: springmvc的启动过程:首先,任何一...

  • mybatis-spring解析

    1、概述 原生Mybatis源码简析(上)原生Mybatis源码简析(下)在介绍原生Mybatis源码简析文章中,...

网友评论

    本文标题:SpringMVC的过程简析

    本文链接:https://www.haomeiwen.com/subject/bbofdktx.html