- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在Web应用中使用MVC模式.
在Web应用中使用MVC模式
1.MVC模式
1.1 为什么谈MVC
在现在JSP+JavaBean的系统中,JSP页面除负责执行结果的显示外,还包括了业务逻辑的处理,还有对数据库的直接访问,而JavaBean中封装的主要是一些共用的方法,程序结构混乱,界面、业务逻辑和数据存储的关系紧密,系统的灵活性和扩展性很低,并且除JavaBean中的一些方法外,几乎没有什么可重用性,而且可重用性不仅包括代码的重用,还有架构的重用、模式的重用和组件的重用等。
MVC模式给系统提供一个清晰的架构,将界面、业务逻辑和数据存储清楚的分离开,提高了系统的灵活性、扩展性和可重用性,提高了系统的质量,为系统的总体设计指出明确的方向,有利于开发团队的明确分工。
1.2 MVC简介
MVC模式最早见于Smalltalk,至今MVC 观念仍盛行。有人说它是软件的机制(Mechanism)〔注2〕,有人称它为应用架构(Framework)〔注3〕,有人说它是样式(Pattern)〔注4、5〕,了解它就能了解「机制」、「架构」及「样式」等观念﹐真是一石多鸟﹗
1.3 MVC组成
MVC是面向对象设计的一种模式,全名是﹕Model-View-Controller ﹐包括三部分﹕
Model
表达应用领域有关的类别、对象、数据结构以及企业运作规则等。
View
代表屏幕的窗口画面﹐负责将Model 的内涵呈现给使用者。
Controller
侦查使用者传来的消息﹐并依消息指挥、协调Model 与View的合作。
MVC三部分的关系如下图:
图1 Model View Controller之关系图
如图1所示,MVC中Model、View和Controller正与实体对象、接口对象和控制对象呼应,体现了面向对象的设计思想。在Web应用中﹐可如下来表达这三部分﹕Controller接受使用者的讯息﹐要求Model处理应用领域的资料,然后Controller触发View更新显示。
2. MVC、JSP规范、EJB
2.1 JSP两种模式
JSP规范提出了两种用JSP技术建立应用程序的方式。分别称作JSP Model 1 和JSP Model 2,它们的本质区别在于处理批量请求的位置不同。在Model 1体系中,如图1所示,浏览器直接调用JSP页面,JSP页面自己处理生成结果内容。JSP页面能够调用JDBC或者Java Bean组件来生成结果,并且创建标准的HTML,作为结果发送回浏览器,如图2:
图2:JSP Model 1 体系结构 图中文字:BROWSER:浏览器;Request:请求;Response:响应;Application Server:应用服务器;Enterprise Servers/Data Sources:企业服务器/数据源。
Model 2体系结构,体现了MVC的思想,亦称MVC模式,是我们要本次讨论的重点。如图2所示,是一种把JSP与servlets联合使用来实现动态内容服务的方法。基于Web的客户机直接对Java Servlet(Controller)进行请求,Servlet(Controller)处理生成结果内容,期间调用JavaBean(Model)或EJB(Model)中的业务逻辑,将结果捆绑到一个结果对象(Model)中并且调用JSP页面(View)。JSP页面(View)从该对象(Model)中访问结果内容,并且将结果(例如HTML)发送回浏览器,如图3:
图3:MVC模式(JSP Model 2体系结构) 图中文字:instantlate:瞬间延时;Controller、View、Model分别为MVC设计模式中的控制者、试图、模型;其他同图2
2.2两种模式的比较
运用Model 1,会导致JSP页内被嵌入大量的脚本片段或Java代码,商业逻辑掺杂在流程中,并与界面混在一起,不利于网页设计人员对JSP页面的维护。Model 1体系十分适合简单应用的需要,它却不能满足复杂的大型应用程序的实现,现在的稽核系统类似于此模式。MVC模式清晰地分离了表达和商业逻辑,让你可以在系统中定义更复杂的逻辑,明确了角色的定义以及开发者与网页设计者的分工; 可重用性高; 适合大型应用程序开发,后期维护量小; 项目越复杂,使用MVC模式的好处就越大。
2.3 EJB在MVC中的位置
如图4所示,EJB(同JavaBean)在MVC中位于Model层,它封装的是商业逻辑,具有高度可重用、易移植性等特点。
图4 EJB在MVC中的应用
3. 实例操作
文档评论(0)