




已阅读5页,还剩52页未读, 继续免费阅读
(计算机应用技术专业论文)基于多层增强mvc模型的1862彩信营销平台研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着计算机和网络技术的迅速发展和普及,软件规模越来越大, 业务逻辑日趋复杂,传统的开发模式将用户逻辑和显示逻辑混为一 谈,系统耦合性大,扩充性和可维护性受到限制,难以适应现代软件 规模的发展。因此,开发具有高性能、易维护、强可扩展性的软件系 统,逐渐成为软件工程领域的一个重要研究课题。对应用系统采用多 层增强m v c ( m o d e l - v i e w - c o n t r o l l e r ,模型一视图一控制器) 模型进行 架构,正是解决开发问题的可行方案之一。 本文立足于移动1 8 6 2 彩信营销平台,采用理论框架模型和技术 实现相结合的研究路线,先在理论研究的基础上提出模型和数学表达 式,然后研究如何实现理论模型,并给出了一个基于模型实现的具体 实例,详细分析了平台的架构和实现的关键技术。 本文首先简述了m v c 模型的原理和表示,基于该模型提出了多层 增强m v c 模型的概念,深入探讨了该模型的原理和结构,以及基于新 模型开发系统的优势。然后在此理论模型的基础上,讨论了基于多层 增强m v c 模型框架开发的移动1 8 6 2 彩信营销平台的总体设计。接着 详细阐述了其平台的具体实现,分别包括业务实体层、数据访问层、 业务逻辑层、控制层、视图层和区域隔离墙的设计与实现。另外,分 析了系统的关键技术,包括s i n g l e t o n 模式优化数据读取、数据库访 问优化、i d e a 和m d 5 加密算法的应用等。最后对开发和研究工作做 了总结,并展望未来的工作。 关键词模型,视图,控制器,多媒体消息,多层增强m v c 模型,x m l a b s t r a c t w i t ht h eq u i c kd e v e l o p m e n to fc o m p u t e ra n df a s tp o p u l a r i t yo f i n t e m e tt e c h n o l o g y ,t h es c a l eo fs o f t w a r eb e c o m e sl a r g e ra n db u s i n e s s l o g i cb e c o m e sm o r ec o m p l e x i t y t h et r a d i t i o n a ld e v e l o p i n gm o d er e g a r d s u s e r l o g i c a n dv i e wl o g i ca st h es a m et h i n g s ,w h i c hr e s t r i c t st h e e x p a n 8 b i l :y a n d m a i n t t h e d e v e l o p m e n to fm o a d i e n m 8 b 订s o i f y t w 。a r e 8 7 r 8 t h 。m e r e f o r :e d n d e 。v a n e l l o ;p i 。n 詈gm a 三s y 。s d t e a m 。1 ,1 w i t hh i g hp e r f o r m a n c e , e a s ym a i n t a i n a b i l i t ya n ds t r o n ge x p a n s i b i l i t y b e c o m e sa ni m p o r t a n ts u b j e c ti ns o f t w a r ee n g i n e e r i n gd o m a i n u s i n g n t i e re n h a n c e dm v cm o d e li so n eo ft h ep o s s i b l ew a y st os o l v et h e s o f t w a r ep r o b l e m s t h em e t h o dt od or e s e a r c hi nt h i st h e s i si sc o m b i n i n gt h e o r e t i c a l m o d e lt o g e t h e rw i t hi m p l e m e n t a t i o n i tf i r s t l yb r i n g su pt h en e wm o d e l a n di t sm a t h e m a t i c a le x p r e s sb a s e do nt h e o r e t i c a lr e s e a r c h ,t h e n e x p l o r e st h ei m p l e m e n t a t i o no ft h em o d e l , a n dt a k e st h ec h i n am o b i l e 18 6 2 删sm a r k e tp l a t f o r mf o ri n s t a n c e , l a s t l ya n a l y z e s t h e a r c h i t e c t u r ea n dk e yt e c h n o l o g yo ft h ep l a t f o r m t h i sp a d e rm a i n l yf o c u s e so nt h el8 6 2 埘sm a r k e tp l a t f o r l t lb a s e d o nn t i e re n h a n c e dm v cm o d e l f i r s t l y ,i ts t a t e st h et h e o r ya n d e x p r e s s i o no fm v cm o d e l s e c o n d l y , i tm a k e sa l li n d e p t hr e s e a r c ho n t h ep r i n c i p l ea n df r a m e w o r ko f n t i e re n h a n c e d cm o d e l t h e n ,i t e x p l o r e st h ed e s i g no ft h ep l a t f o n t lb a s e do nt h en e wm o d e li nd e t a i la n d a n a l y s e sh o wt oi m p l e m e n tt h es y s t e m , i n c l u d i n gt h ei m p l e m e n to f m o d e lt i e r ,d a t aa c c e s st i e r ,b u s i n e s sl o g i ct i e r ,c o n t r o l l e rt i e r , v i e wt i e ra n df i r e w a l l i na d d i t i o n ,i tm a k e sat h o r o u g hs t u d yo fk e y t e c h n o l o g yi ns y s t e m f i n a l l y , i ts u m m a r i z e st h er e s e a r c hr e s u l t sa n d 1 l i s t st h ef u n c t i o n st ob ei m p r o v e d k e yw o r d sm o d e l ,e w ,c o n t r o l l e r ,似s ,x m l , n - t i e re n h a n c e dm v cm o d e l i i 原创性声明 本人声明,所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。尽我所知,除了论文中特另, i d d 以标注和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得中南大学或其他单位的学 位或证书而使用过的材料。与我共同工作的同志对本研究所作的贡献均已在论文 中作了明确的说明。 作者签名 站蜀马 日期:五 ,r 年牛月6 日 关于学位论文使用授权说明 本人了解中南大学有关保留、使用学位论文的规定,即:学校有权保留学位 论文,允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内容, 可以采用复印、缩印或其它手段保存学位论文:学校可根据国家或湖南省有关部 门规定送交学位论文。 作者签名:幻固马 导师签名 日期:沙眄年印月6 日 中南大学硕士学位论文第一章概述 第一章概述 1 1 课题来源及研究背景 本课题来源于“中国移动1 8 6 2 彩信营销平台”。近几年来,随着手机用户的 不断增加,彩信业务随之火爆,逐渐成为人们交流信息的一种重要渠道。m m s 是 按照3 g p p 标准( 3 g p pt s2 3 1 4 0 ) 、w a p 论坛标准( w a p - 2 0 6 和w a p 一2 0 9 ) 的有 关多媒体信息标准开发的最新业务,它最大的特色就是支持多媒体功能,目前在 g p r s 网络的支持下,以w a p ( 无线应用协议) 为载体传送视频短片、图片、声音 和文字,可以支持语音、因特网浏览、电子邮件、会议电视等多种高速数据业务。 具有m m s 彩信功能的移动电话具有独特的内置媒体编辑器,使用户可以方便地编 写多媒体信息。还可以安装上内置或外置的数码相机、数码摄像机,可以将拍摄 到的数码照片、数码影像放入m m s 彩信中发送。 运营商可以通过发送多媒体消息的方式开展一系列业务推广活动,例如广告 宣传,免费试用等,但目前营销手段单一,缺乏整合的业务营销渠道。运营商迫 切需要一个统一的营销平台开展m m s 方式的营销活动。 基于此目的,开发了1 8 6 2 彩信营销平台。该平台是运营商的多媒体消息发 送通道,它利用多媒体消息实时、移动、多彩的特点进行多媒体消息业务的推广。 本课题以多层增强m v c 模型为基础,基于j 2 e e 开发平台实现,实现了彩信 群发和相关管理的功能。本课题不但提出了可以在实际环境应用的理论模型,而 且为后续的彩信增值业务研发提供了宝贵的实践经验。 1 2 课题的研究内容及意义 随着计算机技术的飞速发展,软件规模越来越大,用户逻辑日趋复杂。传统 的开发模式使业务逻辑和视图显示混杂一体,模块间耦合紧密,不易扩充新业务、 新功能,所以难以满足日益增长的软件需求,为了解决软件开发所面l 临的困难, 我们引入多层增强m v c 模型,完全分离状态和显示,并且是基于低耦合的组件开 发,提高系统面向对象性能,这个基于多层增强m v c 结构的平台能够具有以下的 优良特点: ( 1 ) 它使应用程序模块化: ( 2 ) 它减少了h t m l 和j a v a 代码的相关性: ( 3 ) 它允许开发人员为相同的数据提供多个视图; ( 4 ) 它简化了应用程序流程; ( 5 ) 它使得应用程序更易如维护; 本文的研究内容主要包含四个方面。其一,在深入分析传统开发模型解决方 中南大学硕士学位论文第一章概述 案不足的基础上提出了一种基于多层增强m v c 模型的解决方案。该结构具有良好 的可扩展性、灵活性、易维护性。本文详尽地描述了该体系结构设计思想及其工 作机理,重点论述了该模型的优越性。其二,论述了基于该模型的移动1 8 6 2 彩 信营销平台的总体设计。其三,本文借助于j 2 e e 开发平台对1 8 6 2 彩信营销系统 进行了具体的实现,文中以程序流程图和文字说明的形式对整个实现过程进行了 详尽的描述。最后,本文对我们系统的关键技术做了一一解答。 1 。3 国内外研究动态及展望 面向对象的软件开发方法起源于面向对象程序设计之后,将研究面向对象方 法扩展到整个软件生命周期,逐渐形成了现代的面向对象的软件开发方法。第一 个真正面向对象程序设计是在s m a l i t a l k 语言中提出的“1 。x e r o x 先后于1 9 7 6 年 提出了s m a l l t a l k 一7 2 ,1 9 7 8 年提出了8 m a l l t a l k - 7 6 ,1 9 8 1 年提出了 s m a l i t a l k 一8 0 “,逐渐发展和完善了面向对象的程序设计。在s m a l l t a l k 一8 0 中, 类的模型视图控制器( m o d e l v i e w c 0 n t r o l l e r ) 三元组( m v c ) 被用来构建用户 界面。其主要关系由o b s e r v e r 、c o m p o s i t e 、s t r a t e g y 等几个设计模式组成“1 。 m v c 包括三类对象:模型( m o d e l ) 是事务处理的应用对象,视图( v i e w ) 是模型在 屏幕上的表现形式,控制器( c o n t r o l l e r ) 定义了用户界面对用户输入的响应方 式,负责模型与视图之间的协调工作。 在我们传统的开发模式中,应用程序开发经常会出现这样的一些问题: ( 1 ) 页面中可能会包含复杂的业务逻辑。而这将会给程序在可维护性方面 带来很多困难,我们也经常在页面中找到一些代码块,这不仅使得页面中的代码 更不易被理解,而且要重用这些代码,就必须进行复制和粘贴操作,这对应用程 序的可重用性也是非常不利的。同时这对应用程序的可扩充性也很有限,因为页 面间都包含着各种不同功能且彼此耦合关系非常紧密,所以修改或扩充这种应用 程序中包含的功能也非常困难,而且,更改了其中一些功能经常会波及系统其他 部分造成不可预见的后果。 ( 2 ) 在实际应用中,客户的需求可能会经常改变或增加新的需求,这时必 须经常对处理业务逻辑进行修改。这样与之相关的每个客户端都必须进行修改。 因此导致对系统的维护会造成很大的麻烦。 ( 3 ) 数据源变动。在业务逻辑中如果有同特定数据源有关的代码,则应用 程序和数据库类型间将形成紧密耦合,结果使应用程序失去灵活性与可维护性。 如果数据库类型改变了,所有这样的业务逻辑代码就必须改变。这样就不利于维 护,由于应用程序中代码与特定数据源相关,很难实现应用程序的可重用性。 所以我们要使用m v c 模式,则将它们分离,以提高设计、开发的灵活性、可 复用性和易维护性,同时对具体的业务逻辑功能划分也较清晰。 中南大学硕士学位论文 第一章概述 但是传统的m v c 模式有很多方面的不足,又有人提出了增强的m v c 模式的应 用”1 。国外有学者提出层次m v c 、分布式m v c 模型的概念,并有基于m v c 的开发 框架m v c 4 j ,c o c o o n 等。我们以此为基础,提出了多层增强m v c 模型的开发模式, 并在此基础上实现了彩信营销平台。 1 4 论文的内容组织与安排 论文分为六章。 第一章概述。这一章主要介绍了多层增强m v c 模型开发w e b 应用系统的背 景和研究现状,阐述了设计与开发基于多层增强m v c ( m o d e l v i e w c o n t r o l l e r , 模型一视图一控制器) 结构的w e b 应用开发平台的必要性及其意义。 第二章多层增强m v c 模型研究。这一章主要介绍了m v c 模式的基本原理和 表示,然后详细说明了m v cm o d e l 2 和s t r u t s 框架的原理和体系结构,接着阐述 多层增强m v c 模型的开发 第三章基于多层增强m v c 模型的营销平台设计。设计了基于该模型的1 8 6 2 彩信营销平台。然后对系统组网和环境做了介绍,对功能设计和架构设计做了比 较详细的阐述。 第四章1 8 6 2 彩信营销平台的实现。这一章对采用多层增强m v c 模型的各个 层次做了深入研究,分别实现了业务实体层、数据访问层、业务逻辑层、以及控 制层、视图层、区域隔离墙。 第五章平台中的关键技术。这一章主要介绍了开发平台中使用的一些关键 技术及其技术特点。其中包括使用s i n g l e t o n 设计模式实现常用数据高效读取, 数据库访问性能的优化,h a s h m a p 对大批量数据查找定位性能的优化,以及开发 平台中应用的x m l 和s c h e m a 等技术。 第六章回顾与展望。对所做的设计与开发工作进行了总结,并阐述了将来 进一步的扩展与完善此开发平台需要做的设计与开发工作。 中南大学硕士学位论文第二章多层增强m v c 模型研究 第二章多层增强m v c 模型研究 2 1m v c 模型原理和表示 模型视图控制器( m o d e l v i e w c o n t r o l l e r ) 简称为m v c ,分别代表问题 域中抽象出来的模型对象、视图对象和控制器对象,m v c 结构的思想最先应用于 使用s m a l l t a l k 开发的应用程序,被用来构建用户界面,体现了将状态和表示分 离的思想。随后就广泛用于工具软件中,如微软基础类库( m f c ) 就将它作为开 发客户一服务器程序的实际标准。当用户需要与应用程序进行频繁的交互时,这 个框架是十分有用的。它把程序分为模型( m o d e l ) 、视图( v ie w ) 和控制器 ( c o n t r o l l e r ) 三个部分,将“分离显示逻辑与业务逻辑”的能力发挥得淋漓尽致, 从而简化了w e b 应用的开发过程0 1 。 在m v c 结构的框架中,m o d e l 组件用于描述应用程序中的数据以及操作该数 据的方法,与用户界面无关;v i e w 组件负责将数据展现给用户;c o n t r o l l e r 组 件将用户操作翻译为对m o d e l 组件的操作;接到c o n t r o l l e r 传来的操作之后, m o d e l 再更新v i e w ,以及反映出数据的变化。这三类组件各自的责任以及它们之 间的关系如图2 - 1 所示“: ,$ 8 一m o d e l ”q g 眠 封装应用程序的状态 1 一响应对状态的查询 状态查询 状态修改 一描述应用程序的功能 j 一通知”i 8 ”更新t 修改 通知 ,叩”鬻”哪v】ew嬲_9气声蕊。鼎2 _ 啊珊 l u l i u l l e i 霹哪q 飘 一对m o d e l 的数据加以修饰 + 视图选择一 一定义应用程序的行为 接收来自m o d e l 的更新请求 将用户行为映射为m o d e l 更新 将用户动作传递给c o n t r 0 1 1e r 选择要响应的v ie w 一允许c o n t r 0 1 l e r 选择任一个v ie w 用户动作一 一实现应用程序的某项功能 方法调用 事件 图2 - 1 基于m v c 结构的框架中各组件的责任及相互关系 m v c 结构的框架的组成部分包括以下内容: ( 1 ) 模型( m o d e l ) 中南大学硕士学位论文 第二章多层增强m v c 模型研究 模型包含了应用程序的核心,它封装了应用程序的数据结构和事务逻辑,集 中体现了应用程序的状态。有时候它仅包含状态信息,因为它并不了解视图或控 制器的信息。j a v a b e a n 很适合扮演这个角色,因为它能够处理绝大部分事务逻 辑和数据结构。它能够与数据库或文件系统进行交互,承担维护应用程序数据的 责任。 ( 2 ) 视图( v i e w ) 视图实现模块的外观,它是应用程序的外在表现。它可以访问模型的数据, 却不了解模型的情况,同时它也不了解控制器的情况。当模型发生改变时,视图 会得到通知,它可以访问模型的数据,但不能改变这些数据。w e b 界面的开发人 员不需要了解或关心数据库发生什么事情,或者事务逻辑进行了什么操作,他只 需要掌握h t m l 的知识,而不需要深入了解j a v a 。j s p 页面适合完成这个功能, 因为它只包含很少的非h t m l 代码。 ( 3 ) 控制器( c o n t r o l l e r ) 控制器对用户的输入做出反应并且将模型和视图联系在一起,它创建并设置 模块。s e r v l e t 能够接受客户端的h t t p 请求,并且根据需要创建所需的j a v a b e a n s , 然后将模块产生的变化通知给视图。 m v c 模型的模型、视图、控制器对象相互独立,完全按照面向对象的思想从 现实世界进行抽象,具有高内聚性,为了表示它们相互间的通信,增强三部分之 间的隔离性,我们引入一个受限连接集合来进行表示。如图2 2 所示,( a ) 、( b ) 、 ( c ) 、( d ) 分别表示m v c 模型的不同表现形式。 图2 - 2 ( a ) m v c 基本通信模型图2 - 2 ( b ) m v c 通信模型变体1 中南大学硕士学位论文 第二章多层增强m v c 模型研究 图2 - 2 【c ) m v c 通信模型变体2图2 - 2 ( d ) i - v c 通信模型变体3 我们以基本m v c 模型( a ) 图为例,说明通信集合的意义和表示: ( 1 ) 控制器一 视图:控制器单向控制视图,控制器根据用户的请求选择需要 显示的视图呈现于用户; ( 2 ) 模型一 视图:模型接受控制器管理,执行业务逻辑,处理数据,并将状 态数据传给视图,视图根据用户感兴趣的数据以多种形式显示出来; ( 3 ) 控制器 模型:控制器控制根据用户输入分析调用相应模型,传入数 据参数,模型分析处理数据后发送消息给控制器,更新数据显示或等待下一用户 命令的输入。 为了数学表示m v c 模型,我4 f i l l 入通信集合方式来描述。我们用集合 m 1 , m 2 ,m 3 ,m n , v 1 ,v 2 ,v 3 ,v n , c 1 ,c 2 ,c 3 ,c n ) 分别代表模型、视 图、控制器的集合,可简单的用u 来代表某一集合。m v c 间的交互通信也可用集 合 e l ,e 2 ,e 3 ,e n ,可简写为e 来代表整个集合;其中e 是个有限交互集 合,实际上就是一系列通信接口方法。我们还可以用集合 d 1 ,d 2 ,d 3 ,d n ) 来代表接口描述,可简写为d 。所以对于一个完整的m v c 模型表示,我们可以用 一个更大的集合 ( ( u 1 ,u 2 ) ,e ,d ) ,- - - 来描述。u l ,u 2 代表模型、视图或控 制器集合,e 代表相互间的通信有限集合,d 为有限通信集合的描述。 对于图2 2 的( b ) 图,是对基本m v c 模型的一个变体,用户的输入和输出 通过视图对象来交互,并且模型对象和视图对象不直接交换信息数据,完全通过 控制器对象进行控制。而图2 2 的( d ) 图,也是一种变形的m v c 模型,它把一 个m v c 分为多个垂直的小m v c ,然后把各个小m v c 组装成一个大m v c 与用户交互。 2 2w cm o d e l 2 和s t r u t s 的原理和体系结构 2 2 1j 2 e e 介绍 j 2 e e 技术s i j n 公司的j 2 e e ( j a v a 2 企业版) 是一种利用j a v a 语言的标准体 系结构定义的,它提供中问层集成框架用来满足高可用性、高可靠性以及可扩展 性的应用的需求。“。利用它,各公司可以更为方便地在中间层加速分布式部署。 中南大学硕士学位论文第二章多层增强m v c 模型研究 开发中利用这种体系结构,开发者可以不必担心运行关键商务应用所需的“管道 工程”,从而可以集中精力重视商业逻辑的设计和应用的表示。 j 2 e e 技术主要有:e j b , s e r v l e t , j s p ,j n d i 等。j 2 e e 平台的应用主 要由构件构成,应用系统的开发就是设计这些构件并组装成整个企业应用 1 6 o 其特点有“: ( 1 ) 面向对象的编程语言:j 2 e e 平台是建立在j a v a 语言基础上的,j a v a 是真正面向对象的语言,具有丰富的数据类型和强大的功能,能完成许多复杂的 功能,这是一般的w e bc g i 编程语言所无法比拟的。面向对象的设计方法,不 但可以设计庞大而复杂的系统,还可以使w e b 应用程序具有良好的扩充性和维 护性,能够方便地实现国际化和本地化的功能,深受w e b 开发人员的喜爱。 ( 2 ) 平台的独立性:j a v a 是一个跨平台的语言,在任何平台上,只要有j a v a v i r t u a lm a c h i n e ,就能在不同平台上执行同一个j a v a 程序。j 2 e e 标准的平台 独立性使得任何符合j 2 e e 标准的应用服务器之间可以共用标准的组件,从而在 应用软件的开发中可以任意选择或购买符合标准的通用组件,加快开发的过程。 ( 3 ) 高性能的服务器端编程语言:自从j a v a l 2 开始,特别是j a v a l 3 ,j a v a 在性能上有了很大的飞跃,尤其是即时编译技术( j i t ) ,使j a v a 的执行效率大 大提高。 ( 4 ) j 2 e e 提供了标准的系统框架和服务:j 2 e e 平台提供了事务处理、对象 生存控制、状态维持、并发控制、安全检测、资源共享等系统服务。需要这些服 务的代价并不高,不用编程,而只要通过简单的配置就行。这使得开发者从烦琐 的系统设计中解脱出来,将精力主要放在商业逻辑上,以提高应用的质量和加快 开发的速度。 ( 5 ) 适合团体开发:j 2 e e 的构架非常适合团体开发的模式。它将应用分成表 现层、业务逻辑层和数据层。可以使企业中的美工、系统分析员、编程人员各司 其职,发挥各自的长处。特别是j 2 e e 构架通用的m v c 模式,能够将系统各个层 面的功能独立开来,使得一个美工修改界面根本不需要和j a v a 程序员打交道。 这种构架非常适合团队开发的模式,提高了工作的效率。 ( 6 ) 可控性好:j 2 e e 安全控制和状态控制机制非常完善,这种控制机制使得 整个应用拥有统一的状态转换规则。这样,不会让用户进入到不该进入的页面而 引起状态的混乱,增加了系统的安全性。在j 2 e e 中,状态的可控性使电子商务 的开发更加简单和可靠,为顾客提供更好的服务。 2 2 2l v l v cm o d e l 2 原理和结构 m v cm o d e l 2 1 是m v c 模式面向w e b 开发的一种模型”1 。在此模型中,主要由 中南大学硕士学位论文第二章多层增强m v c 模型研究 j s p ,s e r v l e t 和j a v a b e a n 组成,分别对应m v c 模式中的v i e w ,c o n t r o l l e r 和 m o d e l 。其中m o d e l 中的b e a n 分为逻辑b e a n 和数据b e a n ,逻辑b e a n 用于事务 处理,而数据b e a n 则用于保存h t m lf o r m 中的数据。如图2 - 3 所示,m v cm o d e l 2 的体系结构。5 i 。 h t t p w e bc o n t r o l l e r r e q u e s 一r 、 、 b r o w s e ( s e r v l e t ) 目= - - v i e w ;笪塑盘 _ 二 j m 瞰 h t t p r e s p o n ( j s p ) w e bs e r v e r a p p l i c a t i o ns e r v e rd a t a b a s e 图2 - 3m y c 模型2 的体系结构 其工作流程为:( 1 ) s e r v l e t 接受客户端请求;( 2 ) s e r v l e t 把接收到的h t m l f o r m 数据保存到数据b e a n 中;( 3 ) 逻辑b e a n 进行数据处理;( 4 ) s e r v l e t 根据 逻辑b e a n 的处理结果,调用响应的j s p ;( 5 ) j s p 生成h t m l 页面,并返回给客 户端。 所以,对于m v c 模型2 框架的主要组成组件。1 : ( 1 ) s e r v l e t s e r v l e t 是被容器管理的一个w e b 组件。它能够生成动态的内容,是短小的 跨平台的j a v a 类,被编译成中性体系字节代码,可供w e b 服务器动态地加载并 运行。s e r v l e t 通过由s e r v l e t 容器实现的“请求一响应”规范来实现与w e b 客 户的交互。对于基于动态内容的w e b 应用来说,s e r v l e t 技术比c g i 脚本有很大 的提高,它具有面向对象的开发方法的优点,由于这个特性,s e r v l e t 被用于在 模式2 的w e b 应用中创建控制器。 s e r v l e t 有用的特性如下: 它们具有j a v a 编程语言的所有优点,包括简化开发和跨平台特性; 它们可以访问j a v a 平台上丰富的a p i ; 特殊的s e r v l e t 框架,以及开发人员可以随意使用的可扩展的类,意味 着所有的类都可以进行扩展从而实现特定的功能; 中南大学硕士学位论文第二章多层增强m v c 模型研究 它们运行在s e r v l e t 容器中,并且提供了h t t p 特定的功能: 它们能够进行会话跟踪,存储会话相关的信息和应用程序特定的数据; 它们能够转发请求,并且提供一定的安全性。 在开发基于模式2 的w e b 应用时,我们将s e r v l e t 主要用于实现控制器的功 能。它们包含了处理所有用户请求和进行响应的代码,而将显示的工作交给了 j s p 页面,将事务逻辑交给了b e a n 。 ( 2 ) j s p j s p 页面的基本形式是一个简单的文本文件,其中包含了与h t m l 类似的标 记语言,也包含一些额外的代码来执行应用程序逻辑以产生动态内容。应用程序 逻辑可能包含j a v a b e a n s 、j d b c 对象、企业级j a v a b e a n s ( e j b ) 、远程方法调用 ( r m i ) 对象,它们都可以从j s p 页面方便地进行访问。j s p 页面为使用者提供 了他们所需要的东西:从复杂的j a v a 代码中解脱出来。它在b e a n 和标记库中提 供了封装的事务逻辑,它们是有开发人员编写的,能够让w e b 开发者轻松地使用。 j s p 页面的重要特性是: j s p 让开发人员与w e b 页面创作人员可以分工合作; 组件和标记库的重用: 动态和静态内容的隔离; 支持脚本和操作。 为了最大程度地发挥j s p 页面的有点来创建高性能的、可靠的应用程序,应 该尽可能地使用j s p 来实现界面逻辑。如果需要包含数据访问逻辑,应该将这些 代码从界面逻辑中分离出来。当页面中需要包含其它文件时,要合适地使用静态 和动态包含目录。因为静态包含文件会增大页面的体积,而动态包含文件会增加 执行程序的时间。 ( 3 ) 标记库 标记库是自定义操作的集合,以标记库描述器( t l d ) 和j a v a 类来进行描述。 除了标准的操作,j s p 还支持开发被称为“自定义操作”的可重用模块。自定义 操作可以在j s p 页面中使用自定义标记进行调用。 标记库是一个自定义操作的集合,具备很多有用的特性: 它们可以根据调用页传输来的属性进行定制; 它们可以访问j s p 页上所有可用的对象: 它们可以修改由调用页产生的响应; 它们之间可以进行通信; 它们可以进行嵌套,这样就可以在j s p 中进行复杂的交互操作; 它们允许w e b 设计人员在h t m l 工具中使用自定义标记,并将其作为普通 工具集的一部分。 9 中南大学硕士学位论文第二章多层增强m v c 模型研究 可以在自定义标记库中封装常用功能,开发出一个标记库之后,它就可以被 很多应用程序使用。这使得w e b 设计人员的工作变得轻松一些,通过将功能封装 到易于理解的标记中,他们可以将精力集中在显示的问题上。 ( 4 ) j a v a b e a n s j a v a b e a n sa p i 让用户可以使用j a v a 编写基于组件的程序,j a v a b e a n s 通常 用来实现m v c 体系中的模型,它包含应用程序功能的核心部分。它们封装应用程 序的状态,同时支持自省、定制、事件、属性和持久性等功能: j a v a b e a n s 还提供一种机制,可以将应用程序的特定功能封装到一个可重用 的组件,因此b e a n 可以用来封装应用程序的特定行为和特定状态。 m v c 模型2 和m v c 的主要区别是:在m v c 模型中,v i e w 和m o d e l 间是登录和 通知的关系,当m o d e 对象的数据发生变化时,通知已登录的v i e w 对象,显示新 的数据,这是称为o b s e r v e r 的设计模式。而在m v c 模型2 中,v i e w 和m o d e l 间 没有采用o b s e r v e r 模式,这是由w e b 应用软件的特点所决定的。因为在h t t p 协 议中,客户端发出请求,收到服务器的应答数据后,客户端和服务器间的链接就 断开了。 2 2 3 基于m v cm o d e l 2 的s t r u t s 框架体系结构和原理 s t r u t s 最早是作为a p a c h ej a k a r t a 项目的组成部分问世运做。它有一组相 互协作的类( 组件) 、s e r l v e t 以及j s pt a g1 i b 组成。基于s t r u t s 构架的w e b 应用程序符合m v cm o d e l 2 的设计标准,继承了m v c 的各项特性,并根据j 2 e e 的 特点,做了相应的变化与扩展。下面我们就从分别从模型、视图、控制来看看 s t r u t s 的体系结构。如图2 4 显示了s t r u t sf r a m e w o r k 的体系结构响应客户请 求时候,各个部分工作的原理。 模型:模型主要是表示一个系统的状态( 有时候,改变系统状态的业务逻辑 操作也也划分到模型中) 。模型以一个或多个j a v ab e a n 的形式存在。这些b e a n 分为三类:a c t i o nf o r m 、a c t i o n 、j a v a b e a no re j b 。a c t i o nf o r m 通常称之为 f o r m b e a n ,封装了来自于c l i e n t 的用户请求信息,如表单信息。a c t i o n 通常称 之为a c t i o n b e a n ,获取从a c t i o n s e r v l e t 传来的f o r m b e a n ,取出f o r m b e a n 中的 相关信息,并做出相关的处理,一般是调用j a v ab e a n 或e j b 等。 视图:主要由j s p 生成页面完成视图,s t r u t s 提供丰富的j s p 标签库:h t m l , b e a n ,l o g i c ,t e m p l a t e 等,这有利于分开表现逻辑和程序逻辑。 中南大学硕士学位论文第二章多层增强m v c 模型研究 图2 - 4s t r u t s 体系结构 控制:通过图2 4 可以看到有一个x m l 文件s t r u t s - c o n f i g x m l ,与之相关 联的是c o n t r o l l e r ,在s t r u t s 中,承担m v c 中c o n t r o l l e r 角色的是一个s e r v l e t , 叫a c t i o n s e r v l e t 。a c t i o n s e r v l e t 是一个通用的控制组件。这个控制组件提供 了处理所有发送到s t r u t s 的h t t p 请求的入口点。它截取和分发这些请求到相应 的动作类( 这些动作类都是a c t i o n 类的子类) 。另外控制组件也负责用相应的请 求参数填充a c t i o nf o r m ( 通常称之为f o r m b e a n ) ,并传给动作类( 通常称之为 a c t i o n b e a n ) 。动作类实现核心商业逻辑,它可以访问j a v ab e a n 或调用e j b 。 最后动作类把控制权传给后续的j s p 文件,后者生成视图。所有这些控制逻辑 利用s t r u t s c o n f i g x m l 文件来配置。 流程:在s t r u t s 中,用户的请求一般以 d o 作为请求服务名,所有的$ d o 请求均被指向a c t i o n s e r v l e t ,a c t i o n s e r v l e t 根据s t r u t s c o n f i g x m l 中的配 置信息,将用户请求封装成一个指定名称的f o r m b e a n ,并将此f o r m b e a n 传至指 定名称的a c t i o n b e a n ,由a c t i o n b e a n 完成相应的业务操作,如文件操作,数据 库操作等。每一个 d o 均有对应的f o r m b e a n 名称和a c t i o n b e a n 名称,这些在 s t r u t s c o n f i g x m l 中配置。 2 3 多层增强w c 模型研究 2 3 1 深入多层增强m v c 模型 m v c 模型将问题域分为三大部分,各个部分专职不同的业务。为了加强系统 的可扩展性,更适应不断增长的业务需求,我们将m v c 模型进行分层处理。所谓 层次的概念就是一层一层分割一目了然的处理方式。各层之间相互独立,分层处 理复杂业务。1 。下层组件有状态和方法,提供通信接1 3 给上层组件,上层组件调 用下层组件提供的接口方法,各层专注于自己的功能,不需涉及其它层次组件的 中南大学硕士学位论文 第二章多层增强m v c 模型研究 实现细节。同时为了增强模型间的隔离性,保证良好的松耦合,我4 1 3 1 入了“区 域隔离墙”,将模型和控制器部分做到了更好的分离。如图2 5 所示一个典型的 多层增强m v c 模型原理图。 模型对象( 三层) :我们将模型对象从上而下的分为三层,分别是m o d e l ( 业 务模型) 层,d a o ( 数据访问) 层和b 0 ( 业务逻辑) 层。m o d e l 层对象是根据问 题域的对象构建的,它包含用于各层间传递信息的数据集,带有有意义的属性和 简单读取设置属性值的方法。也可理解为与数据库表对应的对象模型。它位于模 型对象的最下一层,可被上层组件调用和访问;d a o 层对象主要封装与数据库或 e i s 交互的方法,提供给更高一层的接口,这样使高层对象更集中处理业务逻辑, 对于具体与数据库的访问可不需知道细节;b o 层对象则是对业务规则和逻辑的 i n 兀。tr o l l e r 、 97 1i l i l s o l a t k 弋7 j i j n t n p u t ? b o 1r w g u i ( h 裂t m ,j s p ) d a o m 0 d e l v i e wm o d e l n 图2 - 5 多层增强m v c 模型原理 抽象组件,专注于用户逻辑业务。 视图对象( 两层) :一层是显示于用户的g u i ( 如h t m l ,j s p ,a s p 等) ,它 以多种样式反映模型对象中的数据。它与对象模型可能有一一对应关系,也有可 能是从多个对象模型的抽取综合,反映给用户感兴趣的数据。第二层( f o r m b e a n 层) 则对应第一层显示于用户的数据字段,f o r n b e a n 层构件封装呈现给用户的 属性,并有读取和设置属性值的方法。起到视图对象数据和控制器通信的桥梁作 用。 控制器对象:控制器对象作为单独一层,将用户与视图对象的交互转换为基 于应用程序行为的标准业务事件,再将标准业务事件解析为对象模型应执行的动 作。并且选择一个合适的视图对象呈现给客户。可以看作控制器对象在视图对象 和模型对象之间作为去藕模型,减小各个对象之间的耦合度,加强对象内部的内 中南大学硕士学位论文 第二章多层增强m v c 模型研究 聚性。 对多层m v c 模型的增强:我们使用“区域隔离墙”架设在控制器对象和模型 对象的b o 层之间,进一步减小耦合度。控制器对象访问控制模型对象需通过隔 离墙,然后对对象模型进行选择执行控制:同时,对象模型传送的数据、消息也 需通过隔离墙给控制器对象。使用隔离墙可以使业务逻辑和显示逻辑最大程度上 的隔离开来,简化其间的依赖关系。当业务逻辑发生变化时,不修改显示界面即 可完成工作;也可修改客户界面而不需要改动业务逻辑,增强系统灵活性和扩张 性。 多层增强m v c 模型的是对基本m v c 模型的扩展,同样使用集合进行数学描述。 模型对象集合 m ,m 2 ,m 3 ,m n ) 代表模型对象三层m o d e l ,d a o ,b o 层所有对 象和关系的集合。视图对象集合 v 1 ,v 2 ,v 3 ,v n 代表视图对象两层g u i , f o r m b e a n 层所有对象和关系的集合。区域隔离墙集合 1 1 ,1 2 ,1 3 ,i n ) 可简 写为i 。这样,对于多层增强m v c 模型的集合表示: ( ( u 1 ,u 2 ) ,e ,d , i ) ,) 。 u 1 ,u 2 代表模型,视图或控制器对象,e 是对象问的有限交互集合,d 是交互描 述集合,i 是隔离层集合( 可选) ,对于u 1 ,u 2 代表控制器和模型对象时,隔离 集合i 存在。 2 3 2 使用多层增强m v c 模型的优势 多层增强m v
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- v架空线路工程施工组织设计方案
- 湿敏器件创新创业项目商业计划书
- 《施工组织设计专项施工方案资料》某市人民医院传染病房工程安全文明施工方案
- 渔业品牌塑造与市场营销创新创业项目商业计划书
- 农作物智能温控大棚种植技术创新创业项目商业计划书
- 工业互联网项目-汇报-1226
- 2025年教师招聘之《幼儿教师招聘》检测卷附参考答案详解(达标题)
- 2025内蒙古呼伦贝尔林业集团有限公司招聘工作人员5人笔试备考及完整答案详解1套
- 教师招聘之《幼儿教师招聘》练习题含答案详解(夺分金卷)
- 教师招聘之《小学教师招聘》过关检测试卷附答案详解【模拟题】
- 颌面外科清创缝合
- 人教版数学二年级上册第一单元 分类与整 理 综合素养测评A卷(含答案)
- 2025年北京市公务员考试行测真题及答案详解参考
- GB/T 16432-2025康复辅助器具分类和术语
- 儿童保健三基培训课件
- 保险法考试题型及答案
- 小儿散瞳健康宣教
- b级英语考试题型及答案
- 开业活动湘菜活动方案
- 环保设备介绍
- 配电柜接线外包合同
评论
0/150
提交评论