大部分的Java应用都是基于Web的,作为轻量级的JavaEE框架,Spring也提供了自己的Web层的展现技术,一个优秀的

MVC框架—— Spring MVC。与其它的Web框架相比Spring的MVC框架在可扩展性和灵活性上有很大提高。但是相对要

复杂很多。Spring的MVC框架主要由DispatcherServlet、处理器映射、处理器、视图解析器、视图组成。以DI(笔者更

喜欢DI这个概念,觉得IoC表达没有DI清晰)为核心的Spring MVC也有的技术人员认为设计太复杂,有过度设计的嫌疑。

不过它确实提供了一个接近于完美的Web框架,或许这也正是Rod Johnson先生的初衷吧。下图是Spring MVC的原理框

图:

整个处理过程从一个HTTP请求开始:

1)DispatcherServlet接收到请求后,根据对应配置文件中配置的处理器映射,找到对应的处理器映射项(HandlerMapping),根据配置的映射规则,找到对应的处理器(Handler)。

2)调用相应处理器中的处理方法,处理该请求,处理器处理结束后会将一个ModelAndView类型的数据传给DispatcherServlet,这其中包含了处理结果的视图和视图中要使用的数据。

3)DispatcherServlet根据得到的ModelAndView中的视图对象,找到一个合适的ViewResolver(视图解析 器),根据视图解析器的配置,DispatcherServlet将视图要显示的数据传给对应的视图,最后给浏览器构造一个HTTP响应。

DispatcherServlet是整个Spring MVC的核心。它负责接收HTTP请求组织协调Spring MVC的各个组成部分。其主要工作有以下三项:

1)截获符合特定格式的URL请求。

2)初始化DispatcherServlet上下文对应的WebApplicationContext,并将其与业务层、持久化层的

WebApplicationContext建立关联。

3)初始化Spring MVC的各个组成组件,并装配到DispatcherServlet中。

转载于:https://www.cnblogs.com/zhxiaomiao/archive/2012/06/04/2534912.html

spring mvc 学习 转载相关推荐

  1. Spring MVC 学习总结(一)——MVC概要与环境配置 转载自【张果】博客

    Spring MVC 学习总结(一)--MVC概要与环境配置 目录 一.MVC概要 二.Spring MVC介绍 三.第一个Spring MVC 项目:Hello World 3.1.通过Maven新 ...

  2. Spring MVC 学习笔记 对locale和theme的支持

    Spring MVC 学习笔记 对locale和theme的支持 Locale Spring MVC缺省使用AcceptHeaderLocaleResolver来根据request header中的 ...

  3. Spring MVC 学习总结(二)——控制器定义与@RequestMapping详解

    Spring MVC 学习总结(二)--控制器定义与@RequestMapping详解 目录 一.控制器定义 1.1.实现接口Controller定义控制器 1.2.使用注解@Controller定义 ...

  4. Spring MVC 学习总结(九)——Spring MVC实现RESTful与JSON(Spring MVC为前端提供服务)...

    Spring MVC 学习总结(九)--Spring MVC实现RESTful与JSON(Spring MVC为前端提供服务) 目录 一.JSON 1.1.概要 1.2.使用ModelAndView ...

  5. Spring MVC 学习笔记一 HelloWorld

    Spring MVC 学习笔记一 HelloWorld Spring MVC 的使用可以按照以下步骤进行(使用Eclipse): 加入JAR包 在web.xml中配置DispatcherServlet ...

  6. Spring MVC 学习总结(五)——校验与文件上传 转自 张果 博客;已经编程校验;正确无误;...

    Spring MVC 学习总结(五)--校验与文件上传 目录 一.Spring MVC验证器Validator 1.1.定义验证器 1.2.执行校验 1.3.在UI中添加错误标签 1.4.测试运行 二 ...

  7. Spring MVC学习(8)—HandlerInterceptor处理器拦截器机制全解

    基于最新Spring 5.x,详细介绍了Spring MVC的HandlerInterceptor处理器拦截器机制,以及它的一系列拦截方法. 本次我们来学习Sring MVC的HandlerInter ...

  8. Spring MVC学习指南(11-12章总结)

    11:上传文件 将介绍如何在SpringMVC中使用Commons FileUpload和Servlet 3上传文件. 在填写表单的html中,必须将html的enctype属性值设置为multipa ...

  9. Spring MVC 学习笔记(整理)

    SpringMVC学习 1.概述 Spring MVC是一种基于Java实现MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行解耦,基于请求-响应模型帮助我们 ...

  10. Spring MVC 学习总结(五)——校验与文件上传

    目录 一.Spring MVC验证器Validator 1.1.定义验证器 1.2.执行校验 1.3.在UI中添加错误标签 1.4.测试运行 二.JSR303验证器 2.1.添加hibernate-v ...

最新文章

  1. python17个常见问题_17个Python 常见错误的分析,你都遇到过哪些?
  2. Nature: 拟南芥微生物组功能研究1培养组学—高通量细菌分离培养鉴定
  3. Early Z Culling
  4. python中的中文乱码问题深入分析
  5. PyTorch基础-使用LSTM神经网络实现手写数据集识别-08
  6. Spring容器创建过程
  7. Springmvc,Spring MVC文件上传
  8. 360互联网技术训练营第七期 -“遇见”PIKA 续集
  9. JQuery事件方法
  10. 《卡巴斯基全系列》大客户key31个,有了它不用到处找卡巴斯基的KEY了!
  11. 【游戏开发创新】Unity狗屁不通文章生成器阐述点赞的意义,可生成文字长图保存到本地(Unity | 附源码 | Text转Texture长图 | 详细教程)
  12. PostGIS测试 - 坐标系统(spatial_ref_sys)
  13. PMP合同的类型选择
  14. Linux里面输入错误无法使用Backspace键
  15. Prophet(预言者)facebook时序预测----论文总结以及调参思路
  16. 网页pdf打印——window.print()
  17. Learning to Detect A Salient Object (学习探测显著性物体)
  18. 你不知道的JS 沙箱隔离
  19. 计算机给文件重命名快捷键,批量重命名文件 一个F2快捷键即可全部搞定
  20. 阅读和了解什么是形式化方法?

热门文章

  1. 计算机 软件 什么是算子
  2. Kubernetes 小白学习笔记(30)--kubernetes云原生应用开发-service mesh介绍
  3. php判断ie的内核,js判断浏览器版本以及浏览器内核的方法_javascript技巧
  4. 基于Java的敬老院管理系统
  5. 基于springboot的社区物业系统
  6. 基于springboot的美食系统
  7. spring-data学习上
  8. php imagick下载,PHP安装imagemagick扩展imagick
  9. Java Set操作
  10. Elasticsearch5.X 搜索引擎框架 安装配置及analysis-ik中文分词插件安装