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

    SpringMVC三大核心组件

    1. HandlerMapping处理器映射器:建立地址与方法的映射。

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

    1. HandlerAdapter处理器适配器:根据地址调用方法。

            Handler 是继DispatcherServlet前端控制器的后端控制器,在DispatcherServlet的控制下Handler对具体的用户请求进行处理。

    1. ViewResolver 视图解析器:处理ModelAndView数据和视图。

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

     SpringMVC执行流程图

    Spring执行流程具体步骤

    1.用户发送请求至前端控制器DispatcherServlet。
    2.DispatcherServlet收到请求调用HandlerMapping处理器映射器。
    3.处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。
    4.DispatcherServlet通过HandlerAdapter处理器适配器调用处理器。
    5.执行处理器(Controller层,也叫后端控制器)。
    6.Controller执行完成返回数据和视图(ModelAndView)。
    7.HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet。
    8.DispatcherServlet将ModelAndView传给ViewReslover视图解析器。
    9.ViewReslover解析后返回具体的View视图(JSP / HTML)。
    10.DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)。
    11.DispatcherServlet响应用户,用户看到界面和数据。

    总结流程

    Spring MVC所有的请求都经过DispatcherServlet来统一分发。DispatcherServlet将请求分发给Controller之前,需要借助于Spring MVC提供的HandlerMapping定位到具体的Controller。
    HandlerMapping接口负责完成客户请求到Controller映射。
    Controller接口将处理用户请求,这和Java Servlet扮演的角色是一致的。一旦Controller处理完用户请求,则返回ModelAndView(数据和视图)对象给DispatcherServlet前端控制器。从宏观角度考虑,DispatcherServlet是整个Web应用的控制器;从微观考虑,Controller是单个Http请求处理过程中的控制器,而ModelAndView是Http请求过程中返回的模型(Model)和视图(View)。
    返回的视图需要通过ViewResolver接口(视图解析器)在Web应用中负责查找View对象,从从而将相应结果渲染给客户。

  • 相关阅读:
    积水路面Wet Road Materials 2.3
    门控时钟问题
    饮料机问题
    Codeforces Round #340 (Div. 2) E. XOR and Favorite Number (莫队)
    Educational Codeforces Round 82 (Rated for Div. 2)部分题解
    Educational Codeforces Round 86 (Rated for Div. 2)部分题解
    Grakn Forces 2020部分题解
    2020 年百度之星·程序设计大赛
    POJ Nearest Common Ancestors (RMQ+树上dfs序求LCA)
    算法竞赛进阶指南 聚会 (LCA)
  • 原文地址:https://www.cnblogs.com/JonaLin/p/13841091.html
Copyright © 2011-2022 走看看