zoukankan      html  css  js  c++  java
  • Spring MVC工作原理

    Spring MVC流程

    1、用户发送请求至前端控制器 DispatcherServlet

    2、DispatcherServlet 收到请求调用 HandlerMapping 处理器映射器

    3、HandlerMapping 处理器映射器找到具体的处理器(Controller)(xml配置、注解查找),生成处理器对象及处理器拦截器(如果有)一并返回给DispatcherServlet。

    4、DispatcherServlet 调用 HandlerAdapter 处理适配器。

    5、HandlerAdapter 经过适配调用具体的处理器(controller)。

    6、Controller 执行完成返回 ModelAndView。

    7、HadnlerAdapter 将 Controller 的执行结果 ModelAndView 返回给DispatcherServlet。

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

    9、ViewReslover 解析后返回具体View。

    10、DispatcherServlet 根据View 进行渲染视图(将模型数据填充到视图中)

    11、DispatcherServlet响应用户。

    组件说明:

    DispatcherServlet:作为前端控制器,整个流程控制的中心,控制、调度其他组件。并最终将响应结果返回给用户。

    HandlerMapping:负责找到控制器。

    HandlerAdapter:负责找到要具体的控制器函数。(饭后一个ModelAndView对象,包含模型数据、逻辑视图名)。

    ViewResolver:把逻辑视图名解析为具体的View,通过这种策略模式,很容易更换其他视图技术。

    View:View会根据传进来的Model模型数据进行渲染。此处的Model实际上是一个Map数据结构,因此很容易支持其他视图技术。

    即:

    第一步:用户发起请求到前端控制器(DispatcherServlet)

    第二步:前端控制器请求处理器映射器(HandlerMappering)去查找处理器(Handle):通过xml配置或者注解进行查找

    第三步:找到以后处理器映射器(HandlerMappering)像前端控制器返回执行链(HandlerExecutionChain)

    第四步:前端控制器(DispatcherServlet)调用处理器适配器(HandlerAdapter)去执行处理器(Handler)

    第五步:处理器适配器去执行Handler

    第六步:Handler执行完给处理器适配器返回ModelAndView

    第七步:处理器适配器向前端控制器返回ModelAndView

    第八步:前端控制器请求视图解析器(ViewResolver)去进行视图解析

    第九步:视图解析器像前端控制器返回View

    第十步:前端控制器对视图进行渲染

    第十一步:前端控制器向用户响应结果

  • 相关阅读:
    androidimage: load large bitmap Efficiently
    display log information in terminal
    黑客人物介绍
    Linux 基础入门学习
    网络攻防 第四周学习总结
    网络攻防 第二周学习总结
    网络攻防 第三周学习总结
    SpringBoot入门Demo(Hello Word Boot)
    jquery的json对象与字符串之间转换
    Intellij IDEA导入web项目详解(解决访问的404)
  • 原文地址:https://www.cnblogs.com/natian-ws/p/10826871.html
Copyright © 2011-2022 走看看