Spring MVC学习笔记(1)-什么是Spring MVC

本文介绍了SpringMVC框架,一种与Spring无缝集成的控制层框架。文章详细解释了MVC模式的工作原理及其优势,并对比了SpringMVC与Struts2的主要区别。

   Spring MVC是Spring Web MVC的简称,是一款和struts2媲美的控制层框架,是Spring家族的成员,能与Spring框架无缝整合在一起。

  

 

什么是MVC模式

MVC模式是Web开发中最经典的一种业务处理模式,它的核心思想是将应用拆分成三个层,分别是Model层、View层和Controller层;当客户端发送请求时,通过Controller层接受并分发请求给Model层去处理,然后Model层将请求完成后发送给Controller层,Controller层再通过封装将请求响应给View层显示。这样做的好处是:

  1. 降低各个层之间的耦合
  2. 使得项目层次清晰,便于维护

一、Spring MVC的执行流程简图:

  

 

 



二、Spring MVC的架构:

三、Spring MVC的架构执行流程:

  1. 用户发送请求至前端控制器DispatcherServlet
  2. DispatcherServlet收到请求调用HandlerMapping处理器映射器。
  3. 处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。
  4. DispatcherServlet通过HandlerAdapter处理器适配器调用处理器
  5. 执行处理器(Controller,也叫后端控制器)。
  6. Controller执行完成返回ModelAndView
  7. HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet
  8. DispatcherServlet将ModelAndView传给ViewReslover视图解析器
  9. ViewReslover解析后返回具体View
  10. DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)。
  11. DispatcherServlet响应用户

 

四、Spring MVC与Struts2的不同:

1、SpringMVC的程序入口为DispatcherServlet前端控制器,即一个Servlet,而Struts2是基于Filter过滤器

2、SpringMVC对路径进行精准地导航并且回显,控制器中的每一个方法代表着一个请求,处理粒度小;而Struts2是基于struts.xml配置文件的配置而导航,以整个Action类作为路径,处理粒度大。

3、SpringMVC默认采用的是单例模式,而struts2需要采用多例模式(详情参考:为什么struts2一定要多例

4、SpringMVC接受的参数是形参,无需定义成员变量,而struts2需要定义成员变量来接受

5、SpringMVC采用的是参数解析器解析Request域中的数据,最后再通过ModelAndView对象将数据存放到Request域中。而struts2采用的是值栈。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BoringRong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值