SpringMVC之原理简介

一、定义

SpringMVC框架围绕DispatcherServlet设计。DispatcherServlet的作用是将请求分发到不同的处理器。从Spring 2.5开始,使用Java 5或者以上版本的用户可以采用基于注解的controller声明方式;说明:
* MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范;
* 业务逻辑、数据、显示是相互分离的,降低了视图与业务逻辑间的双向偶合;
* MVC不是一种设计模式,而是一种架构模式,不同的MVC存在一定的差异;

Model(模型):数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),一般指数据Dao、Service服务层;View(视图):负责进行模型的展示,一般就是我们见到的用户界面,客户想看到的东西;Controller(控制器):接收用户请求,委托给模型进行处理(状态改变),处理完毕后把返回的模型数据返回给视图,由视图负责展示,也就是说控制器做了个调度员的工作;

二、maven依赖

<dependency>        
<groupId>org.springframework</groupId>        
<artifactId>spring-webmvc</artifactId>        
<version>5.1.9.RELEASE</version>
</dependency>

三、优点

* 轻量级,简单易学;
* 高效 , 基于请求响应的MVC框架;
* 与Spring兼容性好,无缝结合;
* 约定优于配置;
* 功能强大:restful、数据验证、格式化、本地化、主题等;
* 简洁灵活;

四、执行原理图

图1 springmvc执行流程图
SpringMVC执行流程图说明:
1. 用户发送请求,dispatcherservlet处理请求,对应步骤1;
2. dispatcherservlet调用handlermapping接口获取对应的handler处理器,对应步骤2-3;
3. handlerExecution执行器执行对应的handler,获取对应的controller,并返回给dispatcherservlet,对应步骤4;
4. dispatcherservlet调用handleradapter适配器,调用对应的controller,对应步骤5;
5. 执行service和dao,获取对应的数据,并返回给handleradapter,handleradapter将controllerde 对应de ModelAndView对象返回给dispatcherservlet,步骤6-8;
6. dispatcherservlet根据handleradapter适配返回的ModelAndView对象调用视图解析器,并将解析后的结果返回给dispatcherservlet,对应步骤9-10;
7. dispatcherservlet根据解析后的结果,调用对应的视图解析器,对应步骤11;
8. 最后将视图展示给用户;

五、结束语

赠人玫瑰,手有余香,您的宝贵意见是作者坚持下去的动力,还望不吝赐教哈!

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值