springmvc框架:底层基于组件方式执行流程。
前端控制器和处理器映射器都称为组件
客户端先发送request请求,请求先到前端控制器,前端控制器是一个指挥中心。它找到了处理器映射器。(之前案例中有requestMapping,请求映射)。处理器映射器能知道发送过来的请求,最终可以让我controller中的哪个方法去帮你执行(如何知道,在发送请求的时候,有一个请求路径,/hello,在写注解的时候,我们也是/hello,我们就可以匹配上)。接下来就返回helloController中的sayhello的方法返回。接下来找处理器适配器(处理器指controller类中的这个方法,它会采用适配器的模式,以后发现hello,我知道有sayhello方法,如果发的请求是user,那我们可能就是sayuser方法)所有的controller过来,我们的适配器都能和它适配,让这个controller方法去执行,来任何controller,任何类,最终都会转成适配器,然后用适配器执行方法,第五步就是执行,执行完之后,就返回modelandview,返回的就是视图的页面,即success,接下来我们就往这个页面上跳。此时前端控制器就会找视图解析器,视图解析器根据返回结果就会跳转到xxx.jsp页面,前端控制器就会把结果响应出去。
前端控制器:控制整个流程的执行
处理器映射器:可以让具体哪个类,哪个方法去执行
处理器适配器:可以把任何的controller适配上,帮你去执行这个方法
视图解析器:让你跳转到具体哪一个页面。

DispatcherServlet:前端控制器
用户请求到达前端控制器,它就相当于 mvc 模式中的 c,dispatcherServlet 是整个流程控制的中心,由它调用其它组件处理用户的请求,dispatcherServlet 的存在降低了组件之间的耦合性。
HandlerMapping:处理器映射器
HandlerMapping 负责根据用户请求找到 Handler 即处理器,SpringMVC 提供了不同的映射器实现不同的 映射方式,例如:配置文件方式,实现接口方式,注解方式等。
Handler:处理器:具体的controller
它就是我们开发中要编写的具体业务控制器
。由 DispatcherServlet 把用户请求转发到 Handler。由 Handler 对具体的用户请求进行处理。
HandlAdapter:处理器适配器
通过 HandlerAdapter 对处理器进行执行,这是适配器模式的应用,通过扩展适配器可以对更多类型的处理 器进行执行

View Resolver:视图解析器:帮你跳转到具体哪个页面
View Resolver 负责将处理结果生成 View 视图,View Resolver 首先根据逻辑视图名解析成物理视图名 即具体的页面地址,再生成 View 视图对象,最后对 View 进行渲染将处理结果通过页面展示给用户。
View:视图:渲染页面,显示数据
SpringMVC 框架提供了很多的 View 视图类型的支持,包括:jstlView、freemarkerView、pdfView 等。我们最常用的视图就是 jsp。 一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给用户,需要由程序员根据业务需求开发具体的页面。
mvc:annotation-driven说明
在 SpringMVC 的各个组件中,处理器映射器、处理器适配器、视图解析器称为 SpringMVC 的三大组件
使用mvc:annotation-driven 自动加载 RequestMappingHandlerMapping (处理映射器)和 RequestMappingHandlerAdapter ( 处 理 适 配 器 ) , 可 用 在 SpringMVC.xml 配 置 文 件 中 使 用 mvc:annotation-driven替代注解处理器和适配器的配置。 它就相当于在 xml 中配置了

SpringMVC框架----SpringMVC入门程序中的组件介绍相关推荐

  1. java元婴期(22)----java进阶(mybatis(1)---mybatis框架概述入门程序)

    1.对原生态jdbc程序中问题总结(为啥要用mybatis) 1.数据库连接,使用时就创建,不使用立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响 数据库性能. 设想:使用数据库连接 ...

  2. SpringMVC框架----SpringMVC的入门程序

    1.入门程序的需求 在这里插入图片描述 编写一个页面,叫index.jsp.页面上写一个超链接的标签,点击超链接,会发出一个请求,如果把请求发出去的话.后台编写类,接收请求,编写方法.发送请求,方法就 ...

  3. SpringMVC框架从入门到精通

    文章目录 SpringMVC 框架介绍 概述 MVC模型 性能超群 工作原理 案例:展示汽车数据 需求 创建Maven module 创建RunApp.java Car.java CarControl ...

  4. SpringMVC框架----SpringMVC的自定义类型转换器

    上一段我们介绍了请求参数的绑定 SpringMVC请求参数的绑定 在请求参数绑定的时候,有时候会遇到一些问题,如自定义类型转换器异常 1.自定义类型转换器演示异常 现在有一个页面,想给服务器提交数据, ...

  5. SpringMVC框架----SpringMVC 概述

    1.SpringMVC 是什么 SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于 Spring FrameWork 的后续产品,已经融合在 ...

  6. 利用ATL创建com组件和如何在程序中使用组件的接口函数和设置接口的属性

    这是一个ATL开发实例的流程: 1.       在atl中插入一个atl实例,然后添加一个类,派生自ccmdtarget. 2.       添加相应的属性或者方法,在这里需要明白一点的是,这个属性 ...

  7. 微信小程序中自定义组件

    文章目录 小程序项目 app.json pages/index/index.wxml pages/index/index.wxss pages/index/index.js 自定义组件 compone ...

  8. 小程序中所有组件学习

    视图容器 view 视图容器 属性名 类型 默认值 说明 最低版本 hover-class String none 指定按下去的样式类.当 hover-class="none" 时 ...

  9. Python爬虫之Scrapy框架系列(1)——初识Scrapy框架【安装+简介+运行流程+组件介绍】

    目录: 1.Scrapy模块安装 2.Scrapy框架简介 2.1 Scrapy是个啥? 2.2 我们为啥要用这玩意呢? 3.运行流程 3.1 引入: 3.2 进入正题: 3.3 数据流: 3.4 中 ...

最新文章

  1. Java BufferImage图片处理(获取宽高、图片截取、转换灰度图)
  2. [开发笔记]-jQuery获取radio选中项的值
  3. Scikit-learn环境的搭建
  4. VMware虚拟机提示“以独占方式锁定此配置文件失败”解决方案
  5. poj 3459(背包问题)
  6. Flink 和 Pulsar 的批流融合
  7. nginx虚拟目录实现两个后台使用
  8. 地球化学图解系统GCDPlot 0.33
  9. php a链接怎么传id_PHP函数参数的传递
  10. 【实践】CTR预估在动态样式建模和特征表达学习方面的进展
  11. ios app抓包分析
  12. 理解Load Average做好压力测试
  13. 局域网文档服务器搭建,局域网服务器的搭建.pdf
  14. 五、线性回归和多项式回归实现
  15. thrift/swift/nifty:获取客户端ip的简单方法
  16. 苹果拍照怎么显示地点和时间_2020年康复理疗师证报名时间怎么报考考试地点...
  17. 电脑主板进bios的启动快捷键汇总
  18. 2dpca matlab程序,[转载]人脸识别-2dpca之Matlab程序
  19. 应用程序“Parallels Desktop“无法打开MAC电脑打不开
  20. unity实现绘制户型

热门文章

  1. sip hold 解决方法【原创】
  2. 常见的软件测试缺陷分类:遇到测试缺陷怎么处理?
  3. python time\datatime\string直接转换
  4. python和java语言的区别
  5. 进程的三个状态的转换
  6. django报错:ImproperlyConfigured和AppRegistryNotReady
  7. 晨哥真有料丨明知道没有结果的爱情,还要继续下去吗?
  8. stm32F051系列教程 前哨篇 建立一个KEIL工程模板
  9. 上传jar到本地仓库
  10. 【Flink】Could not connect to BlobServer at address