学习目标

MVC思想

1、什么叫MVC?

MVC叫,模型-视图-控制器(MVC)是一个中所周之的以设计界面应用程序为基础的设计思想。它主要通过分离模型、视图及控制器在应用程序中的角色将业务逻辑从界面中解耦。通常,模型负责封装应用程序在视图层展示。视图仅仅只是展示这些数据,不包含任何业务逻辑。控制器负责接收来自用户的请求,并调用后台服务(service或者dao)来处理业务逻辑。处理后,后台业务层可能会返回了一些数据在视图层展示。控制器收集这些数据及准备模型在视图层展示。MVC模式的核心思想是将业务逻辑从界面中分离处来,允许它们单独改变而不会相互影响。

通常模型是封装想要在视图中显示的数据,其只是设置数据;视图只是展示数据,其不做业务逻辑控制,数据是数据模型准备的,数据模型的数据会在视图中展示,所以视图只负责显示数据,模型负责准备数据;控制器是用来接收请求,调用具体的业务逻辑方法,并且将数据返回给视图。

                

2、常见MVC框架运行性能比较

Jsp + servlet > strutsl > springmvc > struts2 + freemarker > struts2,ognl,值栈。

开发效率上,基本正好相反。值得强调的是,SpringMVC开发效率和struts2不相上下,但从目前来看,SpringMVC的流行度已远远超过struts2。

SpringMVC框架概念与特点

1、SpringMVC是什么?

SpringMVC是Spring家族中的一个web成员,它是一种基于Java的实现了Web MVC设计思想的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求=响应模型,框架的目的就是帮助我们简化开发,SpringMVC也是要简化我们日常Web开发的。

SpringMVC是服务到工作者思想的实现。中央控制器是DispatcherServlet;应用控制器分为处理器映射器(Handler Mapping)进行处理器管理和视图解析器(View Resolver)进行视图管理;支持本地化/国际化(Locale)及文件上传等;提供了非常灵活的数据验证、格式化和数据绑定机制;提供了强大的约定大于配置(惯例优先原则)的契约式编程支持。

2、SpringMVC能帮我们做什么?

  • 让我们能非常简单的设计出干净的Web层;
  • 进行更简洁的Web层的开发;
  • 天生与Spring框架集成(如:IOC容器、AOP等);
  • 提供强大的约定大于配置的契约式编程支持;
  • 能简单的进行Web层的单元测试;
  • 支持灵活的URL到页面控制器的映射;
  • 非常容易与其他视图技术集成,如:jsp、Velocity、FreeMarker等等,因为模型数据不放在特定的API里,而是放在一个Model里(Map数据结构实现,因此很容易被其他框架使用);
  • 非常灵活的数据验证、格式化和数据绑定机制,能使用任何对象进行数据绑定,不必实现特定框架的API;
  • 支持灵活的本地化等解析;
  • 更加简单的异常处理;
  • 对静态资源的支持;
  • 支持Restful风格;

SpringMVC的核心思想,概念及特点相关推荐

  1. 王阳明心学的基础概念和核心思想

    简介 王阳明(1472年-1529年),字仲弓,号阳明,是明代著名的哲学家.思想家和军事家.他的思想被称为"心学",是中国思想史上的重要流派之一. 心学核心概念 王阳明心学的基础概 ...

  2. RAID2.0核心思想:数据保护与物理资源管理域分离

    记得在2013年末的时候,开始将存储虚拟化为主导的数据保护技术归纳为RAID2.0.从市场的角度来看,这个一个非常好的概念,一方面可以延续传统RAID的思想,大家可以很容易明白这是一种数据保护技术:另 ...

  3. Lesson 8.1Lesson 8.2 决策树的核心思想与建模流程CART分类树的建模流程与sklearn评估器参数详解

    Lesson 8.1 决策树的核心思想与建模流程 从本节课开始,我们将介绍经典机器学习领域中最重要的一类有监督学习算法--树模型(决策树). 可此前的聚类算法类似,树模型也同样不是一个模型,而是一类模 ...

  4. 小马哥spring编程核心思想_Spring源码高级笔记之——Spring核心思想

    Spring核心思想 注意:IOC和AOP不是spring提出的,在spring之前就已经存在,只不过更偏向于理论化,spring在技术层次把这两个思想做了非常好的实现(Java) 第1节loC 1. ...

  5. 小马哥spring编程核心思想_Spring核心思想理解

    前言 在拉勾教育Java高薪训练营再次学习了spring,再次感叹spring的核心思想.强调一下,IOC和AOP是一个技术思想(理论),并不是spring提出的,spring在技术层次把这两个思想做 ...

  6. 经典|图解Linux内存性能优化核心思想

    hi,大家好,今天分享一篇内存性能优化的文章,文章用了大量精美的图深入浅出地分析了Linux内核slab性能优化的核心思想,slab是Linux内核小对象内存分配最重要的算法,文章分析了内存分配的各种 ...

  7. vue概述、vue文件特点、vue核心思想、双向数据流、单文件、启动一个vue项目、声明式渲染

    vue介绍: Vue:当前较火的MVVM框架,轻量.简介.高效.组件化.数据驱动,模块和渲染函数的弹性选择,简单的语法及项目创建,渲染速度极快,基于Virtual Dom,利用虚拟DOM实现快速渲染: ...

  8. Dynamic Graph CNN for Learning on Point Clouds(DGCNN)论文阅读笔记——核心思想:EdgeConv细析

    DGCNN 前言与声明 因为关心的领域主要是配准,对于分类等网络的架构设计分析并没有侧重太多,主要侧重的是EdgeConv的思想. 文中图片全部来自于PointNet,PointNet++,DGCNN ...

  9. Raft协议选举核心思想

    本文来说下Raft协议选举核心思想 文章目录 核心思想 小结 核心思想 核心的设计原理:谁的超时时间最短谁就有非常大的概率为领导角色 默认的情况下每个节点都是为跟随者角色 每个节点随机生成一个选举的超 ...

最新文章

  1. 插槽 查看硬盘状态_摄影路上的“全能”伴侣 | LaCie DJI Copilot 移动硬盘
  2. 印度视觉设计师Rishab平面设计作品,简直太美了!
  3. vue 多个filters_vue自定义filters过滤器
  4. Unity3D 自定义数据格式
  5. mac idea在mybatis xml文件里引入全限定类名报红解决
  6. JMS(Java消息服务)与消息队列ActiveMQ基本使用(一)
  7. svn打分支与分支合并回主干
  8. 李天平: 技术以外的功夫
  9. 深入浅出SpringSecurity
  10. 科目三考场视频最新专业高清+实地模拟考试陪练车
  11. 普元信息技术java面试题,普元java实习笔试题
  12. Flutter键盘弹出造成布局异常解决
  13. 什么是MyBatis?怎么操作MyBatis?
  14. mysql lucene 结合_Lucene基础(四)-- 结合数据库使用
  15. 解决问题最简单的方法
  16. 图像形态学处理——灰度梯度(Matlab)
  17. 如果看广告还有钱拿,你还会嫌广告太多么?
  18. 客户成功的「本手、俗手、妙手」
  19. Android稳定性系列2 ANR触发原理
  20. windows下批量删除指定类型文件

热门文章

  1. 现在IT业到底做什么挣钱
  2. Android 插件之Hook机制动态代理
  3. Not all slots covered! Only 10922 slots are available
  4. 普中51单片机按键-数码管显示
  5. 质量成本:一次性成本,非一次性成本
  6. 使用计算机有什么好处,固态硬盘的好处是什么?电脑使用固态硬盘有什么用
  7. OpenCV-Python学习(14)—— OpenCV 绘制箭头线(cv.arrowedLine)
  8. android 摇一摇动画效果,Android实现微信摇一摇功能
  9. android%3cspan,新时代赌城全部网址
  10. 近万米展厅,压箱底的宝贝,雪浪大会最好玩的黑科技都在这了 | 倒计时1天