- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[计算机软件及应用]SpringMVC深度探险
HYPERLINK /blog/1330537 SpringMVC深度探险(一) —— SpringMVC前传
博客分类:?
HYPERLINK /category/196182 SpringMVC
HYPERLINK /blogs/tag/mvc mvc HYPERLINK /blogs/tag/springmvc springmvc HYPERLINK /blogs/tag/struts2 struts2 HYPERLINK /blogs/tag/%E7%BC%96%E7%A8%8B%E6%A8%A1%E5%9E%8B 编程模型
本文是专栏文章( HYPERLINK /blogs/subjects/springmvc-explore \t _blank SpringMVC深度探险)系列的文章之一,博客地址为: HYPERLINK /blog/1330537 \t _blank /blog/1330537?在我们熟知的建立在三层结构(表示层、业务逻辑层、持久层)基础之上的J2EE应用程序开发之中,表示层的解决方案最多。因为在表示层自身的知识触角很多,需要解决的问题也不少,这也就难免造成与之对应的解决方案层出不穷。?笔者在很多讨论中经常可以看到类似“某某框架已死”,或者“某某框架已经足以打败所有其他的框架”的言论。事实上,每一种解决方案都有着自身独有的存在价值和历史背景。如果单单从某一个方面或者某几个方面去看一个框架,那么评论难免有失偏颇。?所以,整个系列的第一篇文章,我们脱开SpringMVC框架本身,把SpringMVC放到一个更大的知识体系范围之中,讲一讲整个Web开发领域、尤其是MVC框架的发展历程。正如“认识历史才能看清未来”,当我们能够正确审视整个MVC框架的发展历程,也就能够分析它的发展趋势,并且站在一个更高的高度来对所有的解决方案进行评价。?两种模型?从整个B/S程序的运行结构来看,J2EE的表示层解决方案实际上是对“请求-响应”模式的一种实现。既然谓之“请求-响应”也就势必存在着两大沟通角色:??由于这两大角色的承载载体和编程语言实现基础都不同,因而也就产生了两种截然不同的针对表示层的解决方案的设计思路:?
以服务器端应用程序为主导来进行框架设计
以浏览器页面组件(及其自身的事件触发模型)为主导来进行框架设计
业界对于上述这两种不同的设计模型也赋予了不同的名词定义:前一种被称之为MVC模型;后一种则被称之为组件模型,也有称之为事件模型。?注:笔者个人对于这两种模型的概念定义并不是非常认同。因为在笔者个人的观点认为,MVC模型的定义角度所针对的是编程元素的划分;而组件模型(事件模型)的定义角度是动态交互方式的表述。所以我们在这里强调的是解决方案自身所设立的基准和侧重点的不同。?从使用者的社区力量上来看,无疑MVC模型获得了更多程序员的青睐。这里面的原因很多,我们在这里也不想过多展开对两种不同编程模型之间的讨论。不过在这里,我们将针对同一个业务场景(用户注册)分别给出基于这两个编程模型的代码示例,帮助读者了解这两种编程模型在设计思想上的不同之处。?【MVC模型】?在MVC模型中,我们选取当前比较热门的两大框架Struts2和SpringMVC作为代码示例。?首先,我们将用户注册场景中最为核心的“用户类”定义出来:?
Java代码??
public?class?User?{??
??????
????private?String?email;??
??
????private?String?password;??
??
????//?省略了setter和getter方法??
}??
紧接着是一个简单的JSP表单:?
Html代码??
form?method=post?action=/register??
labelEmail:/labelinput?type=text?name=email?/??
labelPassword:/labelinput?type=password?name=password?/??
input?type=submit?value=submit?/??
/form??
上述这两段代码无论是SpringMVC还是Struts2,都可以共用。而在请求响应处理类(也就是Controller)上的设计差异是两个框架最大的不同。?如果使用SpringMVC,那么Controller的代码看上去就像这样:?
Java代码??
@Controller??
@RequestMapping??
public?class?UserController?{??
??????
????@Reques
您可能关注的文档
- [计算机软件及应用]matlab高级编程与应用-图像处理实验报告.doc
- [计算机软件及应用]MATLAB绘图.ppt
- [计算机软件及应用]MFC基础.ppt
- [计算机软件及应用]MFC架构处理流程.pdf
- [计算机软件及应用]MFC框架技术详解.doc
- [计算机软件及应用]Lync 2010完全部署部署手册.pdf
- [计算机软件及应用]Microsoft Word 2010 培训 创建Word文档.ppt
- [计算机软件及应用]Microsoft Project 2003培训.pdf
- [计算机软件及应用]MobileGIS软件培训教程-门头沟.ppt
- [计算机软件及应用]MAXIMO_介绍.ppt
- [计算机软件及应用]SQL server课件.ppt
- [计算机软件及应用]SQL2010数据库原理及应用课堂笔记.doc
- [计算机软件及应用]SQL Server表格中数据.ppt
- [计算机软件及应用]SQL数据库学习大全W3shool★★★★★.pdf
- [计算机软件及应用]SqlServer高级.ppt
- [计算机软件及应用]SQL语言的应用.ppt
- [计算机软件及应用]SQL_Server数据库技术及应用第四讲——视图.ppt
- [计算机软件及应用]SQL+Server+Analysis+Services+教程+.doc
- [计算机软件及应用]SSH整合.ppt
- [计算机软件及应用]SSH框架面试题.doc
文档评论(0)