1. 用户请求DispathcerServlet(前端控制器)。
  2. (前端控制器)DispatcherServlet接受到请求,将根据请求信息交给处理器映射器(HandlerMapping)。
  3. 处理器映射器(HandlerMapping)根据用户的url请求查找匹配该url的Handler(通常是controller),并返回一个执行链。
  4. DispacherServlet再根据执行链请求处理器适配器(HandlerAdapter)。
  5. 处理器适配器调用相应的handle进行处理。
  6. 对应的handler处理完成后返回ModelAndVIew给处理器适配器。
  7. 处理器适配器将接受的ModelAndView返回给DispatcherServlet。
  8. DispatcherServlet请求视图解析器来解析视图。
  9. 视图解析器处理完后返回View对象给DispacherServlet。
  10. 最后前端控制器对View进行视图渲染(即将模型数据填充至视图中)。

参考:

https://www.jianshu.com/p/651055f78e6b

https://www.cnblogs.com/leskang/p/6101368.html

自己理解:

→用户请求dispathcerServlet(前端控制器)

→前端控制器请求handlerMapping(处理器映射器)  根据用户的url查找具体的的handler  并返回一个执行链

→前端控制器(dispacherSrevlet)在根据执行链请求处理器适配器(handlerAdpter)

→处理器适配器(handlerAdpter)调用相应的handler(通常是controller)进行处理,完成后返回ModelAndVIew给处理器适配器。

→处理器适配器(handlerAdpter)将接受的ModelAndView返回给前端控制器(dispatcherServlet)。

→前端控制器(dispatcherServlet)请求视图解析器来解析视图。返回View对象给dispacherServlet。

最后前端控制器对View进行视图渲染(即将模型数据填充至视图中)返回页面上。

springmvc核心流程的更多相关文章

  1. SpringMvc核心流程以及入门案例的搭建

    1.什么是SpringMvc Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 Web 应用程序的全功能 M ...

  2. SpringMVC核心——视图渲染(包含视图解析)问题

    一.本来想说的是返回值处理问题,但在 SpringMVC 中,返回值处理问题的核心就是视图渲染.所以这里标题叫视图渲染问题. 本来想在上一篇文章中对视图解析进行说明的,但是通过源码发现,它应该算到视图 ...

  3. springMVC请求流程详解

    SpringMVC框架是一个基于请求驱动的Web框架,并且使用了'前端控制器'模型来进行设计,再根据'请求映射规则'分发给相应的页面控制器进行处理. (一)整体流程 具体步骤: 1.  首先用户发送请 ...

  4. SpringMVC的流程分析(一)—— 整体流程概括

    SpringMVC的整体概括 之前也写过springmvc的流程分析,只是当时理解的还不透彻所以那篇文章就放弃了,现在比之前好了些,想着写下来分享下,也能增强记忆,也希望可以帮助到人,如果文章中有什么 ...

  5. SpringMVC核心接口

    简单配置SpringMVC SpringMVC的实现原理是通过Servlet拦截所有URL达到控制目的,所以web.xml的配置是必须的 ContextLoaderListener ContextLo ...

  6. springmvc处理流程

    SpringMVC核心处理流程: 1.DispatcherServlet前端控制器接收发过来的请求,交给HandlerMapping处理器映射器 2.HandlerMapping处理器映射器,根据请求 ...

  7. 2017.3.31 spring mvc教程(二)核心流程及配置详解

    学习的博客:http://elf8848.iteye.com/blog/875830/ 我项目中所用的版本:4.2.0.博客的时间比较早,11年的,学习的是Spring3 MVC.不知道版本上有没有变 ...

  8. SpringMVC详细流程(一)

    Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模 ...

  9. java面试记录二:spring加载流程、springmvc请求流程、spring事务失效、synchronized和volatile、JMM和JVM模型、二分查找的实现、垃圾收集器、控制台顺序打印ABC的三种线程实现

    注:部分答案引用网络文章 简答题 1.Spring项目启动后的加载流程 (1)使用spring框架的web项目,在tomcat下,是根据web.xml来启动的.web.xml中负责配置启动spring ...

随机推荐

  1. Windbg源代码窗口的使用

    在 WinDbg 中,源窗口显示已加载到调试器中的源文件. 如何打开源代码窗口 通过菜单File--->Open Source File打开源代码文件,窗口随之打开 通过快捷键Ctrl+O 通过 ...

  2. Educational Codeforces Round 78 (Rated for Div. 2) B - A and B(思维)

  3. Kaggle实战——点击率预估

    https://blog.csdn.net/chengcheng1394/article/details/78940565 原创文章,转载请注明出处: http://blog.csdn.net/che ...

  4. Burp Suite 入门教程(BURP SUITE TUTORIAL )

    参考链接1:https://www.pentestgeek.com/what-is-burpsuite 参考链接2:https://www.pentestgeek.com/web-applicatio ...

  5. elasticsearch 分片的创建 集群重启分片运作

    2016年11月12日ENGINEERING Every shard deserves a home 作者 Joshua Backing Share Here are some great slide ...

  6. mongo 操作

    1.链接mongo /path_to_mongo/bin/mongo MongoDB shell version: connecting to: test > use logs switched ...

  7. Cannot find class in classpath解决方法

    1)Build Path出问题了 build path出问题了 ,java工程名前会有一个红色的感叹号,重新build一下 工程名上右键——>Build Path ——>Configure ...

  8. 040 RabbitMq及数据同步02

    1.Spring AMQP (1)简介 Spring有很多不同的项目,其中就有对AMQP的支持: Spring AMQP的页面:http://spring.io/projects/spring-amq ...

  9. Hystrix实现ThreadLocal上下文的传递 转

    springcloud微服务中, 服务间传输全局类参数,如session信息等. 一.问题背景 Hystrix有2个隔离策略:THREAD以及SEMAPHORE,当隔离策略为 THREAD 时,是没办 ...

  10. npm是干什么的(转)

    原文:https://zhuanlan.zhihu.com/p/24357770 网上的 npm 教程主要都在讲怎么安装.配置和使用 npm,却不告诉新人「为什么要使用 npm」.今天我就来讲讲这个话 ...