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。


最新文章

  1. css权威指南-基本视觉格式化(水平与垂直)
  2. velocity分页模板
  3. Swift - LineChart绘制折线图
  4. SQL AND & OR 运算符
  5. C#像运行一个exe 程序一样运行一个dll文件
  6. JSON-RPC轻量级远程调用协议介绍及使用
  7. paper 3:matlab中save,load使用方法小结
  8. Activity的"singleTask"之谜
  9. 实现zbar扫描二维码的时候就把照片存储出来的办法
  10. a 标签
  11. JAVA编程入门
  12. OSS上传文件到阿里云
  13. html之多行文本textarea 及下拉框select(12)
  14. Android为TV端助力 关于线程的那些事
  15. 剑指offer(20)二叉搜索树与双向表
  16. 外显子分析思路总结(Exome Sequencing Analysis review)
  17. Centos7安装Tomcat并部署DubboAdmin的War包并配置自动启动
  18. Java之IO(九)其它字节流
  19. HashMap概述及其三种遍历方式
  20. STL - 容器 - UnorderedSet(一)

热门文章

  1. Linux进阶之Linux中的标准输入输出
  2. STM32 库函数 延时函数计算
  3. linux 进程信号集合 sigset_t -(转自linengeir的专栏)
  4. 9.1 ps:查看进程
  5. DS1302应用电路
  6. NOIP 模拟4 T2
  7. 如何在框架外部自定义C++ OP
  8. CUDA 8的混合精度编程
  9. springcloud中 getway中的断言配置: Predicate 9中配置过程, getway的 filters实现限流功能:
  10. 如何让vscode C++ 终端不再显示调试启动信息