SpringMVC前传--从Struts 1.x-2.x MVC-Spring 3.0 MVC

http://downpour.iteye.com/blog/1330537

在我们熟知的建立在三层结构(表示层、业务逻辑层、持久层)基础之上的J2EE应用程序开发之中,表示层的解决方案最多。因为在表示层自身的知识触角很多,需要解决的问题也不少,这也就难免造成与之对应的解决方案层出不穷。

笔者在很多讨论中经常可以看到类似“某某框架已死”,或者“某某框架已经足以打败所有其他的框架”的言论。事实上,每一种解决方案都有着自身独有的存在价值和历史背景。如果单单从某一个方面或者某几个方面去看一个框架,那么评论难免有失偏颇。

所以,整个系列的第一篇文章,我们脱开SpringMVC框架本身,把SpringMVC放到一个更大的知识体系范围之中,讲一讲整个Web开发领域、尤其是MVC框架的发展历程。正如“认识历史才能看清未来”,当我们能够正确审视整个MVC框架的发展历程,也就能够分析它的发展趋势,并且站在一个更高的高度来对所有的解决方案进行评价。

两种模型

从整个B/S程序的运行结构来看,J2EE的表示层解决方案实际上是对“请求-响应”模式的一种实现。既然谓之“请求-响应”也就势必存在着两大沟通角色:

由于这两大角色的承载载体和编程语言实现基础都不同,因而也就产生了两种截然不同的针对表示层的解决方案的设计思路:

  • 以服务器端应用程序为主导来进行框架设计
  • 以浏览器页面组件(及其自身的事件触发模型)为主导来进行框架设计

业界对于上述这两种不同的设计模型也赋予了不同的名词定义:前一种被称之为MVC模型;后一种则被称之为组件模型,也有称之为事件模型

注:笔者个人对于这两种模型的概念定义并不是非常认同。因为在笔者个人的观点认为,MVC模型的定义角度所针对的是编程元素的划分;而组件模型(事件模型)的定义角度是动态交互方式的表述。所以我们在这里强调的是解决方案自身所设立的基准和侧重点的不同。

从使用者的社区力量上来看,无疑MVC模型获得了更多程序员的青睐。这里面的原因很多,我们在这里也不想过多展开对两种不同编程模型之间的讨论。不过在这里,我们将针对同一个业务场景(用户注册)分别给出基于这两个编程模型的代码示例,帮助读者了解这两种编程模型在设计思想上的不同之处。

转载于:https://www.cnblogs.com/IcreamPrince/p/3985199.html

SpringMVC前传--从Struts 1.x-2.x MVC-Spring 3.0 MVC相关推荐

  1. 共建共享模式下5G前传承载方案研究

    摘要 文章简要介绍了第五代移动通信技术(5G)前传网络技术架构,对中国电信和中国联通共建共享建网模式下5G前传需求进行了分析,并给出了5G前传承载实施方案:同时,结合中国电信与中国联通5G共建共享模式 ...

  2. SpringMVC上传文件

    首先自我介绍一下,我是王登高,下面是我的头像: 是不是很帅,我每天照镜子都感觉自己帅. 好了不扯这些没用的,我们进入正题:前两天,自己边学边做遇到的SpringMVC上传文件的问题,用户可以上传图片, ...

  3. springMVC前后端数据交互

    springMVC前后端数据及交互部分是最重要的,因为其余部分都被封装好了,我们要做的就是这个部分,我的框架才用SSM,进公司以来在项目组也用到了这些,但是不够全面,系统,脑子里面思路混乱,所以总结下 ...

  4. 快速掌握Python的捷径-Python基础前传(1)

    文: jacky(朱元禄) 开文序 最近看新闻,发现高考都考Python了,随着人工智能的火热,学数据科学的人越来越多了!但对于数据行业本身来说,现象级的火热,这并不是什么好事.  方丈高楼平地起,无 ...

  5. 创业者周鸿祎前传(西安交大时期)

    以下这篇博文来自西安交大兵马俑BBS(6月13日),作者自称是周鸿祎的同级同学"Kevin". 里面颇有不少八卦题材,值得一读.这是创业者周鸿祎的部分前传啊! 以下为原文,有删节: ...

  6. 5G 承载网 — 前传、中传、回传

    目录 文章目录 目录 前传(AAU <=> DU) 中传(DU <=> CU)和回传(CU <=> 5GC) 5G 承载协议架构图 承载基础协议 新技术特性 5G ...

  7. 编程十年 (2):前传2——哪有这么牛逼的游戏机?

    编程十年 (2):前传2--哪有这么牛逼的游戏机? 本文地址:http://www.cnblogs.com/AndersLiu/archive/2011/04/19/programming10year ...

  8. DayDayUp:《机器崛起前传》第二十二章【蹒跚而来】读后感(文章源自网络)—听课笔记

    DayDayUp:<机器崛起前传>第二十二章[蹒跚而来]读后感(文章源自网络)-听课笔记 <机器崛起前传> 1.机器岂不能有自我?         计算机的发展历程可谓蹒跚.从 ...

  9. 跟老杨学java系列(一)前传

    跟老杨学java系列(一)前传 首先声明一下哈,本人文笔水平有限,不喜勿喷.欢迎大家留言探讨技术问题.其他问题概不回复. 上台来首先做个自我介绍(~~偷师相声开场白),本人从事IT开发行业快二十个年头 ...

最新文章

  1. Observer设计模式【利用商品概念解释】
  2. python培训班 北京-北京python培训机构那个好?这几个坑千万别踩
  3. bootstrap-关闭按钮
  4. 根据ip获得国家,省,城市,运营商
  5. 【转载】IT新曙光——“遇事不决,量子力学” 的问与答
  6. 70 周岁快乐 | 盛世华诞,每一刻都值得铭记
  7. 再次搬家到自建博客http://www.wikieee.com/blog/leiad/homepage
  8. [转载] 什么是Java中的自动拆装箱 integer
  9. redies集群方案
  10. 基于深度学习的云反演-文献分析
  11. JS 正则表达式 验证中国大陆身份证号码
  12. 微信商户号转账到个人银行卡加密算法及结果查询问题
  13. 影响力在职场的重要性
  14. 企业青睐什么样的产品经理
  15. matlab 精品课程,同济大学经济与管理学院精品课程
  16. 快速获取网页元素xpath简单方法
  17. flink sql 连接kafka avro序列化异常 Failed to deserialize Avro record ArrayIndexOutOfBoundsException
  18. 组装刀片服务器,搭建刀片服务器是什么意思(刀片服务器主要用在什么地方)...
  19. 为什么国内互联网中大厂都酷爱造轮子?
  20. python 1到100的质数

热门文章

  1. vs 中自带的代码混淆器 Dotfuscator (图)
  2. 关于碰撞检测和物理引擎
  3. EMNLP2021 “Transformer+预训练”再下一城,港科大开源高效的多模态摘要总结网络...
  4. 重新标注 ImageNet:多标签,全面提升模型性能
  5. DeepMindVGG提出基于集合的人脸识别算法GhostVLAD,精度远超IJB-B数据集state-of-the-art...
  6. OpenCV4.0-alpha发布!新增多个深度学习特性
  7. 收藏 | 在算法工程师的道路上,你掌握了什么概念或技术使你感觉自我提升突飞猛进?...
  8. 收藏 | 评述深度学习的发展
  9. 姿态估计:人体骨骼关键点检测综述(2016-2020)
  10. 盘点IT中最热门的岗位,有你工作的岗位吗?