1. 所有的请求,前端控制器(DispatcherServlet)收到请求,调用doDispatch进行处理

2. 根据HandlerMapping中保存的请求映射信息找到,处理当前请求的,处理器执行链(包含了拦截器)。

3. 根据当前处理器找到他的HandlerAdapter(适配器)

4. 拦截器的preHandle方法先执行

5. HandlerAdapter(适配器)执行目标方法,并返回ModelAndView

1). ModelAttribute注解标注的方法提前运行

2). 执行目标方法的时候(确定目标方法用的参数)

1). 参数有注解

2). 没有注解

1). 看是否Model,Map以及其他的

2). 如果是自定义类型

1). 从隐含模型中看有没有,如果有就从隐含模型中拿

2). 如果没有,再看是否SessionAttributes标注的属性,如果是从Session中拿,如果拿不到就会跑出异常.

3). 以上两种都不是,就利用反射创建对象

6. 拦截器的postHandle执行。

7. 处理结果(页面渲染流程)

1). 如果有异常使用异常解析器处理异常; 处理完后,还会返回ModelAndview

2). 调用render进行页面渲染。

1). 视图解析器根据视图名得到视图对象

2). 视图对象调用render方法

3). 执行拦截器的afterCompletion。

springmvc三十二:spring mvc的运行流程相关推荐

  1. SpringMVC系列(十四)Spring MVC的运行流程

    Spring MVC的运行流程图: 1.首先看能不能发送请求到Spring MVC的DispatcherServlet的url-pattern 2.如果能发送请求,就看在Spring MVC中是否存在 ...

  2. (转)SpringMVC学习(十二)——SpringMVC中的拦截器

    http://blog.csdn.net/yerenyuan_pku/article/details/72567761 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter, ...

  3. python建站部署_SpringBoot入门建站全系列(三十二)接入xxl-job分布式任务调度平台...

    SpringBoot入门建站全系列(三十二)接入xxl-job分布式任务调度平台 一.概述 XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速.学习简单.轻量级.易扩展.现已开放源 ...

  4. tensorflow学习笔记(三十二):conv2d_transpose (解卷积)

    tensorflow学习笔记(三十二):conv2d_transpose ("解卷积") deconv解卷积,实际是叫做conv_transpose, conv_transpose ...

  5. OpenCV学习笔记(三十一)——让demo在他人电脑跑起来 OpenCV学习笔记(三十二)——制作静态库的demo,没有dll也能hold住 OpenCV学习笔记(三十三)——用haar特征训练自己

    OpenCV学习笔记(三十一)--让demo在他人电脑跑起来 这一节的内容感觉比较土鳖.这从来就是一个老生常谈的问题.学MFC的时候就知道这个事情了,那时候记得老师强调多次,如果写的demo想在人家那 ...

  6. NeHe OpenGL第三十二课:拾取游戏

    NeHe OpenGL第三十二课:拾取游戏 拾取, Alpha混合, Alpha测试, 排序: 这又是一个小游戏,交给的东西会很多,慢慢体会吧   欢迎来到32课. 这课大概是在我所写作已来最大的一课 ...

  7. 计算机网络(三十二)网络管理

    计算机网络(三十二)网络管理 1.SNMP 2.MIB 3.RMON 1.SNMP 是一款基于UDP/IP的协议 . 在TCP/IP的网络管理中可以使用SNMP(Simple Network Mana ...

  8. 【Visual C++】游戏开发笔记三十二 浅墨DirectX提高班之一 DirectX大局观认知篇

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接:  http://blog.csdn.net/zhmxy555/article/details/8172615 作者:毛星云(浅 ...

  9. 七日杀16.1 服务器修改器,七日杀三十二项32位修改器_七日杀 a16.1b1多功能三十二项修改器-66街机网...

    资源说明: 七日杀 a16.1b1多功能三十二项修改器32位[潇潇蓝龙],由"潇潇蓝龙"制作,一款全功能修改器,基本上是全能力开关,支持任意调整生物伤害.方块距离.生物距离.体力消 ...

最新文章

  1. SpringBoot源码分析之@Scheduled
  2. Linux之父为过去的言行道歉,宣布离开社区反思
  3. Android自定义Adapter的ListView的思路及代码
  4. Codeforces 777E:Hanoi Factory(贪心+栈)
  5. 应用交付老兵眼中的Envoy, 云原生时代下的思考
  6. 信息学奥赛C++语言:等级化的成绩
  7. 利用支持MicroPython的TPYBoard开发板自制PM2.5检测仪(萝卜教育学科式编程)
  8. 教育资源数字化 计算机和通讯,《计算机网络技术课程数字化资源开发研究》.doc...
  9. 数学建模-4.拟合算法
  10. celery java_Celery(分布式任务队列) 的使用方法总结
  11. 计算机与科学 研究生考试内容,计算机科学与技术考研考哪些科目 备考技巧有哪些...
  12. PostgreSQL13 安装
  13. 【世语纠正】吾生也有涯,而知也无涯丶本意知识太多,没必要都去
  14. Hand Crafted 特征 PK 纯学习的特征提取方法
  15. 电子元器件工厂的金蝶ERP与赛意WMS系统数据集成平台进行对接
  16. 美国签证和加拿大签证申请及自驾游攻略合辑
  17. AVPro Movie Capture☀️一、一款U3D录屏插件介绍
  18. 牛客-郊区春游(状态压缩dp)(java)(c++)
  19. 如何使用python AI快速比对两张人脸图像?
  20. MYSQL----innoDB存储引擎

热门文章

  1. 【BZOJ1294】[SCOI2009]围豆豆(动态规划,状压)
  2. 【XSY2719】prime 莫比乌斯反演
  3. 02027_线程池练习:返回两个数相加的结果
  4. iOS 从实际出发理解多线程
  5. Matlab图像处理教程
  6. 【在还原SQL Server数据库时发生对于服务器“XXX”操作系统错误】很实用的解决方案...
  7. WCF duplex service + silverlight 聊天代码
  8. ExtJS2.0实用简明教程 - Column列布局
  9. 官方文档:Office VBA 参考
  10. BZOJ1257 [CQOI2007]余数之和