




已阅读5页,还剩63页未读, 继续免费阅读
(计算机科学与技术专业论文)struts框架视频服务管理研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
太原理工大学硕士研究生学位论文 s t r u t s 框架视频服务管理研究 摘要 i n t e r n e t 的迅猛发展和普及为流媒体业务发展提供了强大的市场动 力,流媒体业务正变得日益流行,而作为流媒体技术的应用视频点播 为网络信息交流带来革命性的变化,随着视频网络用户数量的攀升,各大 传媒商以及个人等内容供应商运用各种新技术提供更丰富的内容来满足 网络用户的需求,这种情况下,对视频服务的管理变得越来越重要,视频 点播付费的多样性、对内容提供商的管理以及业务不断地更新,都使得视 频管理变得纷繁复杂。 本文针对上述问题设计、实现地视频网站商户自服务系统,提供包括 银行卡网上支付、网通电话电子商务支付、电信电话电子商务支付、中国 电信宽带支付、联通手机支付、移动手机支付、网通小灵通手机支付、电 信小灵通手机支付等多种支付手段的管理、查询、统计和分析功能;该系 统为每个内容合作商提供相应的权限,内容合作商不仅可直接使用此权限 登陆视频网站自服务系统管理自己的内容,还可以从商户管理平台清晰地 查询到用户观看自己节目的状况、内容的销售情况及反馈信息。视频网站 商户自服务系统提供包括合作商内容管理和市场业务管理、数据统计与分 析、用户信息管理、客户服务管理等功能,有效提高合作商的服务质量和 运行效率,从而为用户提供更优质的服务,提高合作商的综合竞争力。 本文选择s t r u t s 框架结合e j b 技术实现视频网站商户自服务系统,系 统设计采用结构化、组件化的设计方案,实现了w e b 层中视图、控制器、 模型的分离。由于s t r u t s 有标记库来建立v i e w 组件,以及a c t i o n 类来建 立控制器组件,但是没有特定的类来继承或实现m o d e l 组件,而e j b 组 件可以隔离业务逻辑,满足处理应用程序在业务领域上的需求,因此系统 利用s t r u t s 实现商户管理系统的界面和控制逻辑,由e j b 负责业务逻辑的 处理,从而使模型组件能够更加容易被其他应用程序重用。此外,系统采 用o r a c l e 和m y s q l 数据库实现数据的持久存储以提高数据库操作速度及 保证系统的安全性。 太原理工大学硕士研究生学位论文 由于视频网站商户自服务系统在设计上采用了e j b 技术和s t r u t s 框架 构建应用程序,有效地将业务逻辑、应用程序控制和数据显示功能模块区 分开来,所以商户自服务系统可以分别集中开发任意模块而不用担心耦合 问题,提高了应用程序的柔韧性和可扩展性,以适应在未来更复杂的实际 运营中能够容易地进行网站功能扩充。应用证明,本系统具有开发快速、 稳定、跨平台、易于扩展等优异性能。 关键词:s t r u t s ,m v c ,口b ,组件,商户自服务系统,视频 r e s e f 气r c ho n d e 0s e r c e m a n a g e m e n tb ys t r u t sf r a m e w o r k a b s t r a c t t h e q u i c kd e v e l o p m e n ta n dp r e v a l e n c ep r o v i d e d s t r o n gm a r k e t i n g m o t i l i t yf o rs t r e a mm e d i ab u s i n e s s ,t h es t r e a mm e d i ab u s i n e s si sm o r ea n d m o r ep o p u l a r a st h ea p p l i c a t i o no fs t r e a mm e d i at e c h n o l o g y , t h ev i d e oo r d e r p r o g r a mh a sb r o u g h tr e v o l u t i o n a r yc h a n g i n g f o l l o w i n gt h ei n c r e a s eo fv i d e o n e t w o r kc u s t o m e r s ,a l lt h ep r e s sp r o v i d e r sa n dp e r s o n a lp r o v i d e r su s i n ga l l s o r t so fn e wt e c h n o l o g i e st op r o v i d em o r ee x u b e r a n tp r o g r a mf o rc u s t o m e r s r e q u e s t u n d e rt h i ss i t u a t i o n ,t h em a n a g e m e n tf o rv i d e ob u s i n e s si sb e c o m i n g m o r ea n dm o r ei m p o r t a n t t h ev a r i e t yo fp a y i n g ,t h em a n a g e m e n tf o rc o n t e n t p r o v i d e ra n dt h er e n e w i n go f b u s i n e s sa r ea l lm a k i n gt h ev i d e oo r d e rp r o g r a m m o r ec o m p l e x i nt h et h e s i s ,ia i m e da ta l lt h em e n t i o n e dp r o b l e m ,d e s i g n e da n dr e a l i z e d av i d e oo r d e rp r o g r a ms e l f - h e l p e ds y s t e mo ni n t e r n e tw h i c hc o u l dp r o v i d ea l l k i n d so fp a y i n gw a y , s u c ha sb a n kc a r dp a y i n go nn e t w o r k ;c n ca n dc t c p h o n ee l e c t r o n i cc o m m e r c ep a y i n g ;c t cc a b l ep a y i n g ;u n i c o r na n dm o b i l e c e l l p h o n ep a y i n g ;c n ca n dc t cp e r s o n a la c c e s sp h o n es y s t e m ,i ta l s oh a s m a n a g e m e n t ,q u e r y , s t a t i s t i ca n da n a l y s i sf u n c t i o n s t h es y s t e mp r o v i d e s c o r r e s p o n d i n ga u t h o r i t yt oe a c hc o n t e n tc o o p e r a t o r s ,t h e yc o u l dn o to n l yl o g i n t om a n a g et h e i ro w nc o n t e n tw i t ht h e i ra u t h o r i t i e s ,b u ta l s oc o u l dq u e r yt h e i r i n t e r e s t e ds t u f ff r o mc u s t o m e r sm a n a g e m e n tp l a t f o r m ,s u c ha st h es i t u a t i o no f c u s t o m e r sc h o i c e ,t h es a l e sa n df e e d b a c ko fc o n t e n t t h ev i d e oo r d e r p r o g r a m s e l f - h e l p e ds y s t e mi n c l u d e sm a n yf u n c t i o n sf o rc o o p e r a t o r s ,h e r ei st h ed e t a i l s : t h em a n a g e m e n to fc o n t e n ta n dm a r k e tb u s i n e s s ,d a t as t a t i s t i ca n da n a l y s i s , u s e ri n f o r m a t i o nm a n a g e m e n t ,c u s t o m e rs e r v i c em a n a g e m e n t t h a te n h a n c e d t h es e r v i c eq u a l i t ya n do p e r a t i o ne f f i c i e n c yal o t ,s ot op r o v i d eb e t t e rs e r v i c e , 太原理工大学硕士研究生学位论文 b o o s tc o o p e r a t o r sc o m p r e h e n s i v ec o m p e t i t i o n i nm yt h e s i sic h o s es t r u t ss t r u c t u r ea n de j bt e c h n o l o g yt or e a l i z et h e v i d e oo r d e rp r o g r a ms e l f - h e l p e ds y s t e mw i t hs t r u c t u r a la n dd i s c r e t ed e s i g nf o r s y s t e m _ t h a t r e a l i z e dt h e s e p a r a t i o no f - v i e w s ,一c o n t r o l l e r - a n d m o d e l si nw e b l a y e r b e c a u s ei ns t r u t st h e r ei st a g l i bt oc o n s t r u c tv i e wc o m p o n e n t sa n d a c t i o nc l a s s e s ,t h o s ec o u l dc o n s t r u c tc o n t r o l l e rc o m p o n e n t s t h ew e a k n e s si s t h a ts t r u t sd o e s n th a ss p e c i a lc l a s st oi n h e r i to rr e a l i z em o d e lc o m p o n e n t o n t h ec o n t r a r y , e j bc o m p o n e n t sc o u l de x c l u d eb u s i n e s sl o g i c ,s a r i s f yt h en e e d f o ro p e r a t i n ga p p l i c a t i o np r o g r a mi nb u s i n e s sf i e l d s ot h es y s t e mu s e ss t r u t s t or e a l i z et h ei n t e r f a c eo fc u s t o m e rm a n a g e m e n ts y s t e ma n dc o n t r o ll o g i c ,u s e e j bt od e a lw i t hb u s i n e s sl o g i c ,t h a tc o u l dm a k et h em o d e lc o m p o n e n t se a s y r e u s eb yo t h e rp r o g r a m b e y o n dt h e s e ,t h ed a t a b a s ei so r a c l ea n dm y s q l , t h a tm a k e sd a t ap e r m a n e n ts t o r e dt oe n h a n c et h eo p e r a t i n gs p e e do fd a t a b a s e a n dk e e ps y s t e ms a f e b e c a u s et h ev i d e oo r d e rp r o g r a ms e l f - h e l p e ds y s t e md e s i g n e dw i t he j b a n ds t r u t ss t r u c t u r et oc o n s t r u c ta p p l i c a t i o np r o g r a m ,t h a ts e p a r a t e db u s i n e s s l o g i c ,a p p l i c a t i o np r o g r a mc o n t r o la n dd a t ad i s p l a ym o d e l se f f i c i e n t l y t h e n t h ev i d e oo r d e rp r o g r a ms e l f - h e l p e ds y s t e mc o u l dc o n c e n t r a t ed e v e l o p i n ga n y m o d u l ew i t h o u t w o r r y i n ga b o u tc o u p l i n gp r o b l e m s t h i si m p r o v e dt h e f l e x i b i l i t ya n de x p a n s i b i l i t yo fa p p l i c a t i o np r o g r a mt oa d a p tt ot h em o r e c o m p l e xr u ni nt h ef u t u r e ,t h e ni t se a s yt oe x p a n dt h ef u n c t i o no ft h ew e bs i t e t h ep r a c t i c ep r o v e dt h a tt h es y s t e mh a ss o m eg o o df u n c t i o n sl i k es t e a d y , q u i c kd e v e l o p i n g ,h i g hp e r f o r m a n c e ,a c r o s sp l a t f o r ma n de a s ye x p a n d i n g k e yw o r d s :s t r u t s ,m v c ,e j b ,c o m p o n e n t ,c u s t o m e rs e l f - h e l p e d s y s t e m ,v i d e o i v 太原理工大学硕士研究生学位论文 1 1 论文背景及现状 第一章绪论 随着软件系统复杂程度的增加,开发和采用可复用的软件组件成为互联网时代软 件开发的大趋势,j a k a r t as t r u t sf r a m e w o r k 是一个开放源代码的a p a c h e 项目,已经 成为基于j a v as e r v l e t 和j a v as e r v e rp a g e ( j s p ) 技术构建w e b 应用程序的最流行 的框架包。 s t r u t s 是一个基于模型( 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 减弱了业务逻辑接口和数据接口之间的耦合。 以j s p 为中心的开发模型是s t r u t s 发展历程中的m o d e l1 ,这种开发模式在进 行快速和小规模的应用开发时,有非常大的优势,但是从工程化的角度考虑,它也有 一些不足之处,主要在于不方便应用扩展,以及不利于应用系统业务的重用和改动。 为解决上述不足产生了m o d e l2 。 m o d e l2 表示的是基于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 l2 具有组件化的优点从而更易于实现对大规模系统的开发和管理。 s t r u t s 是一组相互协作的类、s e r v l e t 和j s p 标记,它们组成一个可重用的m o d e l 2 设计。s t r u t s 也有它的不足之处:s t r u t s 框架主要是针对表示层设计的,对于后端的 逻辑层支持不是很强【”。 e j b 是j a v a 中的商业应用组件技术。从企业应用多层结构的角度,e j b 是商业 逻辑层的构件技术,与j a v a b e a n s 不同,他提供了事务处理的能力,从三层结构提 出,中间层即商业逻辑层,是处理事务的核心,由于从数据存储层分离,取代了存储 进程的大部分工作。 e j b 是j a v a 技术中服务器端软件构件的技术规范和平台支持。构件作为可重用 的软件组件,在软件系统的开发上,解决了重复开发的问题,提高了软件开发的效率。 随着网络技术、通讯技术以及3 g 应用的发展,推动了流媒体业务的迅猛发展。 视频点播作为流媒体技术的应用,成为网络发展的又一个新的亮点。视频点播作为一 项全新的信息服务,由于它摆脱了传统电视受时空限制的束缚,所以视频网络用户数 量增长很快,各大传媒商、个人以及运营商等内容供应商和电信增值服务运营商运用 1 太原理工大学硕士研究生学位论文 各种新技术提供更丰富的内容来满足网络用户的需求,从而形成了以用户、c p ( c o n t e n t p r o v i d e r 内容提供商) 、s p ( s e r v i c e p r o v i d e r 服务提供商) 、网络运营商等为主 体的视频服务应用联盟。目前,视频点播付费的多样性、合作伙伴的用户信息的集中 一管理内容提供商的管理以及四争地不断更新都使得视频管理变得纷繁复杂i 维护 困难。 1 2 论文的主要内容及意义 首先,论文主要讨论分析了m v c 设计模式和s t r u t s 框架体系结构,m v c 模式是 将系统划分为模型层、视图层、控制层,而s t r u t s 框架是m v c 设计模式的实现,因 此用s t r u t s 构建w e b 应用程序,能够有效地解决在w e b 应用系统开发过程中由于系 统结构的复杂度较高而出现的代码之间的耦合、易维护性等问题。但s t r u t s 框架中没 有很好的解决模型组件的分离问题。 其次,介绍了e j b 组件技术,由e j b 构件应用程序,使得应用程序的逻辑被封装 到实现各种功能的一些构件中,再将这些构件组装到整个应用中。这样提高了软件的 可重用性。 再次,通过对课题涉及的这些相关概念和技术进行分析之后,将s t r u t s 和e j b 技 术相结合,由e j b 组件实现s t r u t s 框架中的模型组件,可以将实现应用程序业务逻辑 的代码分离出来,提高组件的可重用性。 最后,本文通过“视频网站商户自服务系统”项目,具体将s t r u t s 和e j b 技术应 用到项目中,并取得了良好的效果。在分析视频网站合作伙伴业务需求和视频网络系 统现状的基础上,系统采用c s 三层模式,其中主要的业务逻辑封装在中间的应用服 务层中,后台服务可以直接调用中间应用层的应用逻辑,用户表示层主要是基于客户 端浏览器方式,s t r u t s 作为架构应用程序的框架,负责后台管理系统的界面和控制逻 辑,e j b 主要负责业务逻辑的处理。为了提高整个系统的访问速度,分别在移动、电 信、联通运营商处各放置了一个应用服务器,不同的应用服务器之间通过w e bs e r v i c e 集成。商户自服务系统是基于w e b 的企业级应用,为所有视频的合作伙伴提供了使用 客户的统一身份认证,这样不仅简化了用户的操作,更有利于合作伙伴的管理;建立 了统一的支付平台( 包括银联卡网上银行支付、网通电话电子商务支付、电信电话电 子商务支付、中国电信宽带( a d s l ) 支付、联通手机支付、移动手机支付) ,便于商 户管理自己的业务。统一的客户管理有效提高了合作商的服务质量和运行效率。由于 2 太原理工大学硕士研究生学位论文 系统采用了s t r u t s 结合e j b 技术实现了应用程序视图模块、控制模块、模型模块的相 对独立,从而提高了应用程序的扩展性和复用性。 1 3 论文组织结构 鉴于本课题研究的主要内容,将论文章节安排如下: 第一章绪论。主要介绍论文研究背景、现状、主要内容、意义及论文组织结构。 第二章s t r u t s 框架及f a b 技术。重点介绍了m v c 设计模式的基本结构定义, m v c 模式实现框架s t r u t s 的体系结构、工作原理以及s t r u t s 中的t i l e s 标记库,并分 析了s t r u t s 框架的优势及存在的问题。同时介绍了在视频网站商户自服务系统中使用 到的e j b 组件技术中的会话b e a n 和实体b e a n ;e j b 体系结构以及e j b 构件中的h o m e 接口、r e m o t e 接口和e n t e r p r i s e b e a n 类,并分析了e j b 技术的优势。针对s t r u t s 中存 在的问题,采用f a b 实现s t r u t s 框架中的m o d e l 组件,可弥补s t r u t s 的缺陷。 第三章视频网站商户自服务系统分析。首先在分析了视频服务现状、商户的业 务需求和系统功能扩充的基础上,提出了视频网站商户自服务系统的具体需求,设计 了系统架构方案,并通过用例设计对系统功能进行了描述。 第四章视频网站商户自服务系统设计。首先概括了视频网站的总体规划和设计 方案、网站总体网络拓扑结构和数据库设计原则,并介绍了集成分散应用服务器的 w e bs e r v i c e s 技术。在系统总体设计的基础上,对商户自服务系统的运行环境及所使 用技术进行了说明,并对系统的功能和具体的数据库表结构进行了详细设计。 第五章视频网站商户自服务系统实现。详细描述了应用程序视图组件、控制器 组件、模型组件的构建过程。程序通过在s t r u t s 控制器和e j b 组件之间提供一个f a c a d e 类实现了把e j b 组件作为模型组件来访问,从而使程序视图模块、控制模块、模型模 块相对独立,为以后的系统维护和组件重用奠定了基础。 第六章论文总结。分析所做工作的不足,提出完善系统所需的工作。 3 太原理工大学硕士研究生学位论文 第二章s t r u t s 框架及e j b 技术 由于m v c 模式是s t r u t s 框架的灵魂所在,s t r u t s 框架是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 ) 模式是其中 最著名的设计模式,它最早来源于s m a l l t a l k 程序设计语言中对用户界面的构造方法。 m v c ( 模型一视图一控制器) 设计模式就是把一个应用的输入、处理、输出按照模型、 视图、控制器的方式进行分离,这样一个应用被分成了相对独立的三个部分。m v c 设 计模式是为那些需要为同样的数据提供多个视图的应用程序而设计的,它实现了数据 层与表示层的分离,特别适用于开发与用户图形界面有关的应用程序【2 】。 m v c 设计模式的基本结构定义为: 1 ) 模型,用来维护数据并提供数据访问方法: 2 1 视图,负责数据的显示; 3 ) 控制器,用来处理用户命令以及程序事件。 在m v c 之前,用户程序的构建往往将这几部分混在一起,而m v c 将它们分开 增加了灵活性和复用性。图2 - 1 是模型、视图、控制器之间的交互图。 视图 ( 传递用户输入数据、接收数 据更新请求、现实模本! 状态) 查询模型状态 :通知视图模 型状态改变 选择视图 用户动作、请求 控制器 ( 接受用户请求、调用模型处 堡竖登:兰量塑里里重竺翌堕! i ( 代表程序状态、响应状态查询、处理 1 业务流程、通知视图业务状态太更新) 。事件卜方法调用 图2 - 1m v c 模式 f i g u r e2 - 1m v c m o d e l 通过图2 - 1 ,使我们对模型一视图一控制器模式有了更进一步的了解: 1 ) 模型( m o d e l ) 4 太原理工大学硕士研究生学位论文 模型封装的是数据源和所有对这些数据的操作,它负责维护数据并提供数据访问 方法,在实际开发过程中,模型还是执行某些任务的代码。至于这些任务以什么形式 显示给用户,却并不是模型所关注的问题。模型只有一系列的公开方法,通过这些公 开方法,可以取得操作模型的所有功能。在这些公开方法中,有些是取值方法,让系 统其他部分可以得到模型的内部数据,还有一些改值方法用于修改模型的数据。一般 来说,模型必须有方法关联视图,以便在模型的数据发生变化时,可以通知视图。 模型就是业务流程或状态的处理以及业务规则的制定。业务流程的处理过程对其 他层来说是暗箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型 的设计可以说是m v c 的核心【”。 总之,模型表示应用的数据及操作这些数据的逻辑方法;任何和整个应用有关的 持久性数据都应该放在模型中;而且由于同一个模型可以被多个视图重用,从而提高 了应用的可重用性。 2 1 视图( v i e w ) 视图封装的是对数据源模型的一种显示。一个模型可以有多个视图,而一个视图 理论上也可以有不同的模型,对于视图而言,模型就是可重用的代码。视图用来显示 模型的数据,并决定模型以什么样的方式显示给用户。 视图是用户看到并与之交互的界面,对于w e b 应用来说,可以是h t m l 页面, 也可能是x h t m l 、x m l 或a p p l e t 。一个应用可能有很多不同的视图,m v c 设计模 式中视图接收用户的输入数据、并向用户显示相关的数据,但是它不能进行任何实际 的业务处理,而是视图将它们交给控制器来处理。视图可以向模型查询业务状态, 但不能改变模型,而且视图还能接受模型发出的数据更新事件,从而对用户界面进行 同步更新。 3 、控制器( c o n t r o l l e r ) 控制器封装的是外界作用于模型的操作。通常,这些操作会通过控制器转发到模 型上,并调用模型中相应的方法。控制器在模型和视图之间起到了桥梁的作用,它处 理用户在视图上的输入,并转发给相应的模型。这样模型和视图两者之间可以做到松 散耦合,而由控制器连接起这两个部分。控制器负责调用模型的改值方法以改变模型 的状态,同时,控制器会通知所有的已登记视图刷新数据显示。 控制器接受用户的输入并调用模型和视图去完成用户的需求。当w e b 用户单击 w e b 页面中的提交按钮来发送h t m l 表单时,控制器接收请求并调用相应的模型组件 去处理请求,然后调用相应的视图来显示模型返回的数据。 5 太原理工大学硕士研究生学位论文 综上所述,模型,即一些相关的数据,它是对象的内在属性。视图是模型的外在 表现形式,一个模型可以对应一个或者多个视图。同样,一个视图也可以对应多个模 型。视图具有与外界交互的功能;控制器是模型与视图联系的纽带,控制器提取由视 图传递进来的外部信皂拼转化成相应事件_ 然后由控制器对相关模型进行更新r 同样r 一一 模型的更新与修改也通过控制器通知视图,保持视图与模型的一致性吲。 2 2s t r u t s 框架 s t r u t s 是m v c 设计模式的一个具体实现框架,它是a p a c h es o f t w a r ef o u n d a t i o n 的一个开源项目,s t r u t s 提供了一个构建基于模型一视图一控制器 ( m o d e l v i e w - c o n t r o l l e r ( m v c ) ) 模式的w e b 应用程序的框架。 2 2 1s t r u t s 概述 s t r u t s 的目的是为了帮助开发人员减少在运用m v c 设计模式开发w e b 应用的时 间,它按照m v c 模式的思想,提供了一种创建w e b 应用程序的框架,其中对应用程 序的用户界面表示和数据的后端逻辑处理代码进行了抽象,整合了s e r v l e t s 和j s p 在 w e b 应用开发上的优势以建立灵活,扩展性强,复用程度高的应用系统,s t r u t s 是实 现m v c 模式的一个优秀的应用框架。s t r u t s 除具有m v c 模型的优点外,它还提供了 很多对象实现m v c 的基本特征,允许开发人员使用x m l 文件来配置很多默认的框 架;同时提供了一个灵活的机制来处理错误和异常;并能够非常方便的对应用程序的 信息进行国际化;s t r u t s 框架具有组件的模块化,灵活性和重用性的优点,从而简化 了基于m v c 的w e b 应用程序的开发 6 1 。 2 2 2s t r u t s 体系结构及工作原理 成: s t r u t s 框架采用了m v c 设计模式,因此他的结构由模型一视图一控制器三部分组 6 太原理工大学硕士研究生学位论文 m 1 甲响应 发送 h 1 1 甲请求 图2 - 2s t r u t s 框架图 f i g u r e2 2s t r u t sf r a m e w o r k 1 1 模型( m o d e l ) :是应用程序的主体部分,所有的操作都是在这一部分实现的。 模型包含了业务数据以及存取和修改这些数据的法则,并提供应用业务逻辑类,如果 需要取得视图中的对象或更新视图时,需要通过控制器来进行处理 7 1 。基于s t r u t s 的 系统中的m o d e l 部分可以分为两个部分:一个是系统的内部状态,另一个是能够改变 状态的行为( 事物逻辑) 。 通常w e b 应用程序将系统内部的状态表示为一个或多个的j a v a b e a n s ,使用属性 来表示状态的细节。大型应用系统常将系统的业务逻辑表示为j a v a b e a n 可以调用的 方法,通常这些b e a n s 是用来维护系统状态信息的。在一些小型应用程序中,同样的 行为又可以嵌入到作为c o n t r o l l e r 一部分的a c t i o n 类中【8 j 。具体来说s t r u t s 的模型部 分由a c t i o n 和a c t i o n f o r m 对象组成,所有的a c t i o n 对象都是s t r u t s 中的a c t i o n 类派生的子类。a c t i o n 对象封装了具体的处理逻辑,调用业务逻辑模块,响应结果并 提交到合适的视图中。a c t i o n f o r m 对象通过定义属性描述客户端表单数据,程序员 可以利用它和自定义标签库的结合实现对客户端的表单数据的良好封装和支持。s t r u t s 通过a c t i o n f o r m 对象实现了视图和模型之间的交互。s t r u t s 应用中的模型可以应用 于任何基于j a v a 的技术中。 2 ) 视图( v i e w ) :是应用程序中负责生成用户界面的部分,模型进行操作之后, 其结果通过视图来显示。s t r u t s 应用中的视图部分由j s p 页面组成,还提供了自定义 标签库,通过这些自定义标签可以很好地和系统的模型交互。由于在j s p 页面中引 入了s t r u t s 的h t m l 标签库,s t r u t s 增加了具有校验、错误处理以及与模型交互等 7 印p 囱 太原理工大学硕士研究生学位论文 功能的a c t i o n f o r m ,a c t i o n f o r m 被提交时可以自动获得对应的表单数据,而无须开 发者做其他工作【9 i 。 视图是通过一组j s p 程序实现的,但这些j s p 程序中不能包含业务逻辑,也不能 一包括模型的信息i 模型的信息是通过控制器传递的i _ 一一 3 ) 控制器( c o n t r o l l e r ) :用于管理用户与视图发生的交互,能从视图中取得数据 并传给模型去执行业务逻辑,然后它根据m o d e l 的执行结果,选择一个合适的视图把 结果展现给用户。在s t r u t s 中的c o n t r o l l e r 的功能主要由a c t i o n s e r v l e t 和 a c t i o n m a p p i n g 对象完成,控制器的核心是一个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 架构的核心所在,用来接收客户端的请求 t o l 。 a c t i o n s e r v l e t 包括一组基于配置文件的a c t i o n m a p p i n g 对象,每个 a c t i o n m a p p i n g 对象实现了一个请求到一个具体的模型( a c t i o n 对象) 之间的映射。 a c t i o n s e r v l e t 根据用户要求决定需要的a c t i o n ,为视图提供其需要的数据并决定要显 示的下一个视图。 总的来说,a c t i o n s e r v l e t 表示s t r u t s 框架中的控制器部分,它需要完成控制器所 需的前端控制及转发请求等职责,而且,a c t i o n s e r v l e t 被实现为一个专门处理h t i p 请求的s e r v l e t ,同时它也具有s e r v l e t 的特点。此外,a c i t i o n s e r v l e t 还负责初始化和 清除应用配置信息的任务。 如图2 2 所示,当客户端浏览器发出请求时,w e b 容器就将接收到的客户请求交 给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 框架用来和w e b 容器交互的接口,该类是s t r u t s 框架的核心组件。这个控制组件提供了处理所有发送 到s t r u t s 的h t t p 请求的入口点,它截取这些请求并根据系统的配置( s t r u t s c o n f i g x m l ) 路由h r r p 请求到相应的a c t i o n 类( 这些动作类都是a c t i o n 类的子类) ,并传递请求 过程中的数据,这些数据是通过a c t i o n f o r m 传递的,最后,a c t i o n s e r v l e t 从业务操作 收集执行结果,并根据目前的状态和业务操作的结果,决定给用户显示的视图。业务 逻辑更新模型的状态,并帮助控制应用程序的流程【9 1 。就s t r u t s 而言,是通过a c t i o n 类完成的。模型表示应用程序的状态。业务逻辑对象更新应用程序的状态。视图就是 一个j s p 文件,其中没有流程逻辑,没有业务逻辑,也没有模型信息,只有标签。 由于s t r u t s 是m v c 设计模式的一种实现,因此它减弱了业务逻辑接口和数据接 口之间的耦合,让视图层更富于变化。 8 太原理工大学硕士研究生学位论文 2 2 3s t r u t s 框架中的组件 在s t r u t s 框架中包含如a c t i o n s e r v l e t 、a c t i o n f o r m 、a c t i o n m a p p i n g 、a c t i o n f o r w a r d 、 a c t i o n e r r o r 等一些组件, 这些组件是s t r u t s 应用框架实现的关键n 1 】。图2 3 给出了 o r g a p a c h e s t r u t s a c t i o n 包的简单u m l ( u n i f i e dm o d e l i n gl 丑n g u a g e :统一建模语言) 图, 图中显示了a c t i o n s e r v l e t 、a c t i o n f o r m 和a c t i o n 之间的简单关系。 图2 - 3a c t i o n 包的u m l f i g u r e2 - 3u m l o f a c t i o np a c k a g e a c t i o n s e r v l e t 类 s t r u t s 框架中的控制器是将用户请求映射到类的一个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 框架的核心,它创建并使用a c t i o n 、a c t i o n f o r m 和 a c t i o n f o l w a r d 。 在基于s t r u t s 的应用中,需要执行事物逻辑的表单和超级链接会被提交到一个 u r i ,它映射到s e r v l e t ,这个s e r v l e t 类将会有一个单一的实例,所有会改变用户交互 状态的请求都会由这个实例完成接收和处理【”1 。 控制器在处理一个请求时将做以下工作: 1 ) 将请求的u r i 与适当的a c t i o n m a p p i n g 进行匹配; 2 ) 将请求映射到相应的a c t i o n 类的j a v a 类名称,如果这是特定a c t i o n 类的第一 个请求,它将初始化这个实例并且进行缓存; 3 ) 创建或是发现一个a c t i o n f o r m 实例,然后将请求过程参数移植到b e a n ; 4 ) 将响应转发到a c t i o n f o r w a r d 对象中指定的资源; 9 太原理工大学硕士研究生学位论文 5 ) 将调用a c t i o n 实例中的方法,并将a c t i o n f o r mb e a n ,a c t i o n m a p p i n g 对象, r e q u e s t 和r e s p o n s e 对象传给它: a c t i o n 类 s t r u t s 框架中的a c t i o n 类封装了业务逻辑。a c t i o n 类的主要工作是将 h t t p s e r v l e t r e q u e s t 转换为业务逻辑。我们可以通过创建a c t i o n 的子类并继承p r o c e s s ( ) 方法使用a c t i o n t ”1 。a c t i o n 类应该控制应用程序的流程,而不应该控制应用程序 的逻辑。通过将业务逻辑放在单独的包或e j b 中,就可以为系统的开发提供更大的灵 活性和可重用性。 a c t i o n s e r v l e t 使用p e r f o r m ( ) 方法将参数化的类传递给a c t i o n f o r m 。这就避免 了程序中出现太多的r e q u e s t g e t p a r a m e t e r ( ) 调用的问题。而此时输入表单数据( 或 h t m l 表单数据) 已从请求流中提取出来并转移到a c t i o n f o r m 类中。使用s t r u t s 开 发过程中,a c t i o n s e r v l e t 对具体业务类接口一无所知,通过扩展a c t i o n ,可使得业务 接口与s t r u t s 业务接口保持兼容。 a c t i o n m a p p i n g 类 在使用s t r u t s 开发过程中,控制器( a c t i o n s e r v l e t ) 用来查看输入事件并将请求 分派给某个a c t i o n 类,而s t r u t s c o n f i g x m l 配置文件则用来确定控制器应该调用哪 个a c t i o n 类,这时s t r u t s c o n f i g x m l 配置信息被转换为一组a c t i o n m a p p i n g ,然后 a c t i o n m a p p i n g 又被放入a c t i o n m a p p i n g s 容器中1 1 4 1 。容器中a c t i o n m a p p i n g s 是 a c t i o n m a p p i n g 对象的一个集合。 a c t i o n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药检专业毕业论文模板
- 不良事件上报制度及流程试题及答案
- 2025年新材料研发企业股权收购与产业升级合同
- 2024年安全员考试题库完整答案
- 信息专业 毕业论文
- 于2025年开展纠正医药购销领域和医疗服务中不正之风专项治理的情况汇报范文
- 储备库仓储设施防护设计方案
- 防涝管网设计与空间优化方案
- 体育学专业毕业论文模板
- 毕业论文范文下载ps
- 2024年高考新课标Ⅱ卷语文试题讲评课件
- 4S店企业职业卫生培训
- 静脉配液治疗操作核对流程
- 检验科糖尿病
- 产科医疗安全与质量控制制度
- 石油化工设备维护与检修手册
- 拆迁工程成本控制方案
- DB31-T 1502-2024 工贸行业有限空间作业安全管理规范
- 合肥新华书店招聘笔试题库2024
- 新解读《JTG 5120-2021公路桥涵养护规范》
- 2.3.4运动图像与追及问题课件高一上学期物理人教版
评论
0/150
提交评论