SpringMVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能MVC 模块,其功能和Strtus2,Struts1是类似的,只不过是实现的原理不同而已。其中Struts2是通过过滤器来实现路劲和action的映射等控制流转功能,而Struts1和SpringMVC则是通过最传统的servlet来实现对其代码封装的。但是都是非常相似的MVC流程框架。简单看一下SpringMVC框架中的知识点,这里是从数据的流转前后顺序进行分的:

一,SpringMVC是一个MVC的流程框架,同样适用在我们的表现层到action模块中,是MVC架构模式中真正的Controller。SpringMVC在流程处理方面更加灵活,可以很容易的进行扩展,可以和Spring框架进行无缝集成,毕竟是一家公司生产的,就是为了解决web开发问题,增加竞争性。但是SpringMVC有侵入性,action需要继承框架指定的类,或者实现指定的接口。Spring
MVC属于SpringFrameWork的后续产品,它提供了构建 Web 应用程序的全功能 MVC 模块,与Struts2一样是一种优秀MVC框架,不同的是自Spring2.5引入了注解式controller及Spring 3以后的不断完善,使得采用Spring MVC框架开发结构清晰明了,效率大大提高。

二,看一个它实现的原理图吧:

和Struts2还是很相似的,有一个核心过滤器Dispatcher,和核心配置文件springMVC-servlet.xml,通过过滤做一些固定的任务,到达指定的action进行相关业务的操作。看网上一篇文章吧,写的挺详细的:spring
MVC原理

重要的接口和类的简单说明:

DispatcherServlet:前端控制器,用于接收请求。

HandlerMapping接口:用于处理请求的映射。

DefaultAnnotationHandlerMapping:HandlerMapping接口的实现,用于把一个URL映射到具体的Controller类上。

HandlerAdapter接口:用于处理请求的映射。

AnnotationMethodHandlerAdapter:HandlerAdapter接口的试下,用于把一个URL映射到对应Controller类的某个方法上。

ViewResolver接口:用于解析View。

InternalResourceViewResolver:ViewResolver接口的实现,用于把ModelAndView的逻辑视图名解析为具体的View。


SpringMVC(1)流程框架总体介绍的更多相关文章

  1. SpringMVC(一)——流程框架总体介绍

    SpringMVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 Web 应用程序的全功能MVC 模块,其功能和Strtus2 ...

  2. Magicodes.Admin.Core开源框架总体介绍

    框架说明 Magicodes.Admin.Core框架在ABP以及ASP.NET ZERO的基础上进行了封装和完善,目前基于.NET Core 2.0+(Framework版本),由于部分组件在.NE ...

  3. 一、EnterpriseFrameWork框架总体介绍

    EnterpriseFrameWork框架是自己在工作之余的得意之作,经过了几年时间的不断重构,现在终于有了现在的样子:刚开始只是为了方便开发WEB系统,随着项目越做越多,新的功能也就不断补充进去,补 ...

  4. springmvc执行流程详细介绍

    1.什么是MVC MVC是Model View Controller的缩写,它是一个设计模式 2.springmvc执行流程详细介绍 第一步:发起请求到前端控制器(DispatcherServlet) ...

  5. Spring框架系列(5) - 深入浅出SpringMVC请求流程和案例

    前文我们介绍了Spring框架和Spring框架中最为重要的两个技术点(IOC和AOP),那我们如何更好的构建上层的应用呢(比如web 应用),这便是SpringMVC:Spring MVC是Spri ...

  6. 基于MVC4+EasyUI的Web开发框架形成之旅--框架总体界面介绍

    在前面介绍了一些关于最新基于MVC4+EasyUI的Web开发框架文章,虽然Web开发框架的相关技术文章会随着技术的探讨一直写下去,不过这个系列的文章,到这里做一个总结,展示一下整体基于MVC4+Ea ...

  7. SpringMVC由浅入深day01_1springmvc框架介绍

    springmvc 第一天 springmvc的基础知识 课程安排: 第一天:springmvc的基础知识 什么是springmvc? springmvc框架原理(掌握) 前端控制器.处理器映射器.处 ...

  8. 基于WebForm+EasyUI的业务管理系统形成之旅 -- 总体介绍

    一.系统总体介绍 企业业务管理系统是针对经营企业管理而开发的专业管理软件, 是以“精细管理.过程监控”为设计理念,全面满足企业的信息化管理需求,充分发挥专业.平台.灵活等优点. 集进销存.财务.CRM ...

  9. ABP(现代ASP.NET样板开发框架)系列之1、ABP总体介绍

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之1.ABP总体介绍 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)” ...

随机推荐

  1. Java EnumMap 实现类

    EnumMap 实现类 因为 HashMap 是一种通过对 key 计算 hashCode(),通过空间换时间的方式,直接定位到 value 所在的内部数组的索引,因此,查找效率非常高. 如果作为 k ...

  2. CAD中解决打印图纸模糊而且有的字体深浅不一的方法

    按圈圈中选择打印样式

  3. 第8章 Shell函数的知识与实践

    shell 函数常见的语法格式 function 函数名(){          return n } 简化1 function 函数名{     ... } 简化2 函数名(){     ... } ...

  4. XShell本地上传文件到Ubuntu上及从Ubuntu下载文件到本地

    使用XShell本地上传文件到Ubuntu上及从Ubuntu下载文件到本地. 1.第一种方法是最常用的 :如果下载了Xshell和Xftp,Ctrl+Alt+F就可以选择文件的互传了!(虚拟机/云服务 ...

  5. GO学习-(28) Go语言操作influxDB

    Go语言操作influxDB 本文介绍了influxDB时序数据库及Go语言操作influxDB. InfluxDB是一个开源分布式时序.事件和指标数据库.使用Go语言编写,无需外部依赖.其设计目标是 ...

  6. bat使用方法汇总

    前言 由于日常科研工作中使用C/C++比较多,在进行大规模运行时涉及到的批量处理操作较多,遂将目前遇到的情况记录如下,以便查看: 1.for循环 最基本的for循环操作为在一些数中遍历,如下例子.se ...

  7. Wide & Deep的OneFlow网络训练

    Wide & Deep的OneFlow网络训练 HugeCTR是英伟达提供的一种高效的GPU框架,专为点击率(CTR)估计训练而设计. OneFlow对标HugeCTR搭建了Wide & ...

  8. OFRecord 图片文件制数据集

    OFRecord 图片文件制数据集 在 OFRecord 数据格式 和 加载与准备 OFRecord 数据集 中,分别学习了 OFRecord 数据格式,以及如何将其它数据集转为 OFRecord 数 ...

  9. java并发编程工具类JUC第八篇:ConcurrentHashMap

    在之前的文章中已经为大家介绍了java并发编程的工具:BlockingQueue接口.ArrayBlockingQueue.DelayQueue.LinkedBlockingQueue.Priorit ...

  10. .Net Redis实战指南——常用命令

    本问主要介绍rabbitmqctl工具的常用命令. vhost 一个RabbitMQ服务器可以创建多个虚拟的消息服务器,称之为虚拟主机(virtual host),简称为vhost.vhost之间是绝 ...