zoukankan      html  css  js  c++  java
  • SpringMVC调用过程

    SpringMVC中的四大组件:

     1、前端控制器(DispatcherServlet      =>【无需程序员开发】

        主要是负责request和response对象的转发和响应。

     2、处理器映射器(HandleMapping =>【无需程序员开发】

        主要根据URL来匹配出能处理相关请求的类(Controller),并交给前端控制器。

     3、处理器适配器(HandlerAdapter    =>【需要程序员开发Handle处理器

        主要负责调用相应的处理器来处理请求。

     4、视图解析器(Viewresolver     =>【需要程序员开发jsp页面

        根据处理器返回的视图名称添加前缀和后缀拼接出一个真实路径。如:/WEB-INF/adduser.jsp

    SpringMVC执行流程图:

    第一步:客户端发起一个Request请求到前端控制器(DispatherServlet);

    第二步:前端控制器根据用户请求的URL请求处理器映射器(HandleMapping)查找相应的Controller

    第三步:处理器映射器(HandleMapping)返回一个Controller具体路径到前端控制器;

    第四步:请求到处理器适配器进行处理Controller类;

    第五步:在适配器内部根据一定规则匹配到相应的处理器处理请求;

    第六步:Handle处理器处理完请求后给处理器适配器返回一个ModelAndView对象;

        model:存放返回的数据     view:给用户展现的视图名称

    第七步:处理器适配器给前端返回一个ModelAndView对象;

    第八步:前端控制器将View给视图解析器进行解析成一个真正的页面文件;如 jsp/html....;

        视图解析器根据视图名称,拼接前缀和后缀形成一个完整的页面路径;

    第九步:视图解析器解析完后返回页面的完整的真实路径到前端控制器

    第十步:前端控制通过视图渲染将model内的数据填充到view中(将数据填充到request域中);

  • 相关阅读:
    携程的 Dubbo 之路
    应用上云新模式,Aliware 全家桶亮相杭州云栖大会
    重构:改善饿了么交易系统的设计思路
    Arthas 3.1.2 版本发布 | 增加 logger/heapdump/vmoption 命令
    如何检测 Web 服务请求丢失问题
    VPGAME的Kubernetes迁移实践
    Flink SQL 系列 | 5 个 TableEnvironment 我该用哪个?
    如何构建批流一体数据融合平台的一致性语义保证?
    Flink on YARN(下):常见问题与排查思路
    愚蠢的操作
  • 原文地址:https://www.cnblogs.com/tongxuping/p/7086796.html
Copyright © 2011-2022 走看看