Spring MVC工作流程图
图一
图二 
Spring工作流程描述
      1. 用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获;
      2. DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI,调用HandlerMapping获得该Handler配置的所有相关的对象(包括Handler对象以及Handler对象对应的拦截器),最后以HandlerExecutionChain对象的形式返回;
      3. DispatcherServlet 根据获得的Handler,选择一个合适的HandlerAdapter。(附注:如果成功获得HandlerAdapter后,此时将开始执行拦截器的preHandler(...)方法)
       4.  提取Request中的模型数据,填充Handler入参,开始执行Handler(Controller)。 在填充Handler的入参过程中,根据你的配置,Spring将帮你做一些额外的工作:
      HttpMessageConveter: 将请求消息(如Json、xml等数据)转换成一个对象,将对象转换为指定的响应信息
      数据转换:对请求消息进行数据转换。如String转换成Integer、Double等
      数据根式化:对请求消息进行数据格式化。 如将字符串转换成格式化数字或格式化日期等
      数据验证: 验证数据的有效性(长度、格式等),验证结果存储到BindingResult或Error中
      5.  Handler执行完成后,向DispatcherServlet 返回一个ModelAndView对象;
      6.  根据返回的ModelAndView,选择一个适合的ViewResolver(必须是已经注册到Spring容器中的ViewResolver)返回给DispatcherServlet ;
      7. ViewResolver 结合Model和View,来渲染视图
      8. 将渲染结果返回给客户端。
Spring工作流程描述
    为什么Spring只使用一个Servlet(DispatcherServlet)来处理所有请求?
     详细见J2EE设计模式-前端控制模式
    Spring为什么要结合使用HandlerMapping以及HandlerAdapter来处理Handler?
    符合面向对象中的单一职责原则,代码架构清晰,便于维护,最重要的是代码可复用性高。如HandlerAdapter可能会被用于处理多种Handler。

Spring MVC工作流程图相关推荐

  1. Spring MVC工作原理

    转载自  Spring MVC工作原理 Spring MVC框架介绍 Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面. Spring M ...

  2. Spring Mvc工作原理图解

    Spring Mvc工作原理图解 先来一张图: 目前还是有些疑惑,因为是初学 思考了大半天,整理了初步的一些工作原理: 如图上所述: 1.用户(打开网站,输入网址url)发送请求. 2.用户的请求会通 ...

  3. Spring MVC工作原理 及注解说明

    转载自  http://blog.csdn.net/shuyeshangdemayi/article/details/50259493 SpringMVC框架介绍 1) Spring MVC属于Spr ...

  4. 简单的Spring MVC入门程序,对于Spring mvc工作流程的理解,servlet标签和servlet-mapping 理解,视图解析器

    javaweb SpringMvc的组成:jsp,JavaBean,servlet 可以使用Spring所提供的功能 提供了前端控制器DispatcherServlet,不需要细化Servlet 执行 ...

  5. 详细述说spring mvc工作原理

    spring mvc是什么? springMVC是一个MVC的开源框架,springMVC=struts2+spring,springMVC就相当于是Struts2加上sring的整合,但是这里有一个 ...

  6. spring mvc工作原理及组件说明

    组件说明 以下组件通常使用框架提供实现: DispatcherServlet:前端控制器 用户请求到达前端控制器,它就相当于mvc模式中的c,dispatcherServlet是整个流程控制的中心,由 ...

  7. spring MVC 工作原理

    2019独角兽企业重金招聘Python工程师标准>>> 1.客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的 ...

  8. spring mvc 工作流程

    1A)客户端发出http请求,只要请求形式符合web.xml    文件中配置的*.action的话,就由DispatcherServlet    来处理. 1B)DispatcherServlet再 ...

  9. Spring MVC 流程图解析

    Spring MVC 流程图解析 Spring MVC工作流程图 图一 图二  SpringMVC工作流程描述 DispatcherServlet,HandlerMapping,HandlerExec ...

最新文章

  1. Flume-0.9.4数据插入HBase-0.96
  2. python 监控windows磁盘空间和备份大小
  3. nginx转发端口路由器再转发
  4. java 索取了多表联合查询分页,mybatis-plus多表联合分页查询
  5. rest api_REST API的演变
  6. P2678 [NOIP2015 提高组] 跳石头
  7. html引入百度地图报错,vue引入百度地图BMapGL,或者其他个性化地图
  8. python08--正则
  9. “程序员不会数据分析,有什么影响?”资深程序员:基本等于自废武功!
  10. mysql语法子查询_(十四)MySQL语法-子查询(二)
  11. Vue中点击url下载文件-案例
  12. Win10科大讯飞语音合成系统( Interphonic 5.0)安装方法及报错解决
  13. 用python画一个机器猫歌词_手把手 | 用Python语言模型和LSTM做一个Drake饶舌歌词生成器-阿里云开发者社区...
  14. lay和lied_lie-lie-lay三个动词的区别
  15. 如何做好SEM竞价营销
  16. 2月15日市场游资操作情况以及龙虎榜
  17. 嵌入式应用层开发应该学习什么?
  18. docker Swarm容器编排工具
  19. 合肥光源储存环纵向震荡可视化展示初步结果
  20. iqoo一代充电测试软件,iqoo7充电速度测试(iqoo7充电测试)

热门文章

  1. 牛客练习赛43 Tachibana Kanade Loves Review C(最小生成树Kruskal)
  2. 淘宝婴儿产品销售的数据分析
  3. 链接脚本(一)基本概念和格式
  4. html制作文字图片的软件,自己做文字图片的软件哪个好用
  5. 将本地文件上传到GitLab中,遇到The authenticity of host ‘gitlab.*.org (192.168.*.*)‘ can‘t be established.问题解决
  6. 如果结束进程拒绝访问,可以尝试以下
  7. cs python课程 加州大学_加州大学伯克利分校是如何培养计算机学生的
  8. 8月份,留言精选赠书!
  9. 甲骨文业绩超预期股价大涨近11% 市值首超2000亿美元
  10. 自定义高德地图深色主题