(计算机应用技术专业论文)基于mvc的智能小区物业管理系统研究与设计.pdf_第1页
(计算机应用技术专业论文)基于mvc的智能小区物业管理系统研究与设计.pdf_第2页
(计算机应用技术专业论文)基于mvc的智能小区物业管理系统研究与设计.pdf_第3页
(计算机应用技术专业论文)基于mvc的智能小区物业管理系统研究与设计.pdf_第4页
(计算机应用技术专业论文)基于mvc的智能小区物业管理系统研究与设计.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

武汉理工大学坝士学位论文 摘要 随着社会信息化进程的发展,人们对自己住宅的关注已不再仅仅局限于居 室面积、周边自然环境、交通等方面,而是把更多的兴趣和注意力放在与外界沟 通、信息服务、安全防范、物业管理等方面,正是适应这种社会需求,智能小区应 运而生。所谓的智能小区物业管理系统,就是将在一定地域范围内多个具有相同 或不同功能的建筑物( 主要是指住宅小区) 按照统筹的方法分别对其功能进行智 能化,资源充分共享,在提供安全、舒适、方便、节能、可持续发展的生活环境 的同时,便于统一管理和控制。 本文在对智能小区物业管理系统现状充分研究的基础上,结合目前主流的基 于m v c 设计模式的w e b 应用体系,采用s t r u t s 框架设计实现了一个基于w e b 的智能小区物业管理系统。 m v c 设计模式把应用程序抽象为m o d e l ( 模型) 、e w ( 视图) 、c o i l n d l l 州控 制器1 三个功能截然不同的部分,三者既分工又合作地完成用户提交的每项任务。 s t r u t s 框架继承了m v c 的各项特性,并根据j 2 e e 的特点,做了相应的变化与扩 展。本文在第二章详细介绍了柳c 设计模式,并在第三章对s t r u t s 框架进行了 深入的研究。 作为基于w e b 的智能小区物业管理系统,本系统抛弃了传统的c s 模式, 采用b s 模式,在这种模式下用户访问服务器资源以动态交互或互相合作的方式 进行,同时也有效的实现了软、硬件平台的无关,无论在管理、维护升级上,还 是成本开销上都远远优于传统c s 模式下开发的物业管理系统。 在系统的前期设计过程中,采用基于u m l 的r a t i o n a lr o s e 工具对系统进行 建模,详细设计过程中采用了基于m v c 设计模式的s t r u t s 框架的w e b 应用体系, 对系统的模型组件、视图组件、控制器组件进行了详细地设计和实现,有效地将 业务逻辑、应用程序控制和数据显示功能模块区分开来,可以分别集中开发任意 模块而不用担心耦合问题,提高应用程序的柔韧性。使整个系统的开发有条不紊、 容易集成、便于维护升级。 关键字:m v c ,s t r u t s ,j 2 e e ,物业管理系统 武、仪= 哩a - 入罕t ! | j 士罕位论j l a b s t r a c t w i t ht h ed e v e l o p m e n to fs o c i a li n f o r m a t i o np r o c e s s , t h ep e o p l en o to n l ym e r e l y c o n c e r na b o u tr o o ma r e a , n a t t t r a le n v i r o n m e n ta n dt r a f f i cs i t u a t i o na r o u n dl i v i n g c o m m u n i t ya n ds oo n , b ma l s op u tm o r ei n t e r e s t sa n da t t e n t i o no nt h ea s p e c to f o u t s i d e c o m m u n i c a t i o n ,i n f o r m a t i o ns e r v i c e ,s e c u r i t yg u a r d ,e s t a t em a n a g e m e n ta n ds oo n i n o r d e rt oa d a p tt h i sk i n do fs o c i a l r e q u i r e m e n t ,i n t e l l i g e n tc o m m u n i t ya r i s ea tt h e m o m e m t h es o c a l l e d i n t e l l i g e n tc o m m u n i t y e s t a t e m a n a g e m e n ts y s t e m , i n t e l l e c t u a l i z et h es a m eo rd i f f e r e u tf u n c t i o nb u i l d i n gi nt h ec e r t a i ni _ e g i o na c c o r d i n g t ot h eo v e r a l lp l a l lm e t h o d ,r e s o u l - c e sf u l ls h a r i n g ,m a n a g e m e n tf u l lu n i f i c a t i o n i ti s v e r yu s e f u lf o rp r o v i d i n gs e c u r i t y , c o m f o r t a b l e ,c o n v e n i e n tl i v i n gc o n d i t i o n s b a s e do nt h er e s e a r c ho ft h es t a t u si ni n t e l l i g e n tc o m m u n i t ye s t a t em a n a g e m e n t s y s t e m ,i n t e l l i g e n tc o m m u n i t y e s t a t e m a n a g e m e n ts y s t e m i s d e s i g n e d a n d i m p l e m e n t e do ns t r u t sf l a m ei nw h i c hm v c - b a s e dw e bd e s i g np a t t e r ni sa d o p t e d t h ea p p l i c a t i o ni sa b s t r a c t e dt h r e ed i f f e r e n tf u n c t i o n a lp a r t sb ym v cd e s i g n p a t t e r n , w h i c ha r em o d e l ,v i e wa n dc o n t r o l l e r e a c hm i s s i o n c a nb ea c c o m p l i s h e db y t h r e ep a r t sn o to n l ys e p a r a t e db u ta l s oc o o p e r a t e d s t r u t sf r a m en o to n l ye x t e n d se v e r y c h a r a c t e r i s t i co fm v c , b u ta l s oa c c o r d i n gt oc h a r a c t e r i s t i co fj 2 e et om a k e c o r r e s p o n d i n gc h a n g ea n de x t e n s i o n i nt h i sp a p e r , m v cd e s i g np a t t e r ni sd e s c r i b e di n d e t a i li nc h a p t e r2 ,a n ds t r u t sf r a m ei sr e s e a r c h e di n - d c p t hi nc h a p t e r3 a sai n t e l l i g e n tc o m m u n i t ye s t a t em a n a g e m e n ts y s t e mb a s e do nw e b ,w h i c h a b a n d o nt h et r a d i t i o n a lc sp a t t e r n ,a d o p tb sp a t t e r n i nt h i sp a t t e r n , t h eu s e ra c c e s s t h es e r v e ri nd y n a m i cc o m m u n i c a t i o no rm u t u a lc o o p e r a t i o nm e t h o d ,w h i l ei tc a na l s o s p a nv a r i o u sp l a t f o r m s o i ti sm o r ea d v a n c e dt h a nc sp a t t e r nn o to n l yi n m a n a g e m e n ta n dm a i n t a i n i n gb u ta l s oi nc o s ts p e n d i n g t h es y s t e mi sb e e nm o d e lb yr a t i o n a lr o s eb a s e do nu m li np r c c e d i n gd e s i g n w e bd e s i g np a t t e r no fs t r u t sf r a m e w o r kw h i c hb a s e do nm v cm o d e li sa d o p t e dt o d e s i g nt h ew h o l es y s t e m ,t h i sc a nd i v i d et h ea p p l i c a t i o ni n t ob u s i n e s sm o d u l e 、 a p p l i c a t i o nc o n t r o l l i n gm o d u l ea n dd a t ad i s p l a y i n gm o d u l ei ne f f e c tw i t h o u tw o r r y i n g a b o u tc o u p l i n gp r o b l e m s ,i m p r o v ef l e x i l i t yo ft h ea p p l i c a t i o n , d e v e l o pt h es y s t e mi n a no r d e r l yw a y , c o n v e n i e n tf o ri n t e g r a t i o n 、m a i n t e n a n c ea n du p g r a d e , k e yw o r d s :m v c ,s t r u t s ,j 2 e e ,e s t a t em a n a g e m e n ts y s t e m 武、议埋上灭竽坝士学位论文 1 1 论文研究的意义 第1 章绪论 随着我国国民经济的发展,人民的生活水平步入小康,在社会信息化进程日 益发展的今天,人们对自己住宅的关注已不再仅仅局限于居室面积、周边自然环 境、交通等方面,而是把更多的兴趣和注意力放在与外界沟通、信息服务、安全 防范、物业管理等方面,正是适应这种社会需求,智能小区应运而生。所谓的智能 小区物业管理系统,就是将在一定地域范围内多个具有相同或不同功能的建筑物 ( 主要是指住宅小区) 按照统筹的方法分别对其功能进行智能化,资源充分共享, 统一管理,在提供安全、舒适、方便、节能、可持续发展的生活环境的同时,便 于统一管理和控制,并尽可能的提高性价比指标。智能小区智能化应该是在住宅 小区肉以公众通信网为基础,建设社区服务网及物业管理自动化, 如今由于网络的飞速发展以及人们对网络依赖程度的不断加深,以前物业管 理系统开发中的那种c s 设计模式的弊端越来越多的暴露出来,主要表现在:1 ) 开发成本高,2 ) 移植困难,3 ) 用户界面风格不一,使用繁杂,不利于推广使用, 4 ) 维护复杂,升级麻烦,5 ) 信息肉容和形式单一,6 ) 新技术不能轻易应用。 因此为了达到课题的研究目的,提高开发的效率,考虑到应用系统的灵活性、安 全性、实用性等,就需要有种好钓设计模式,一个好的可复用的g l s 架构韵框 架设计作为一种可行的方案来解决这一问题。 这些问题促使了在开发过程中采甩了m v c 设计模式,它是设计交互式应用时 广泛采用的一种设计模式,也是j 2 e e 蓝图推荐的在开发w e b 应用时使用的方法, 它的基本观念是将霹曲应甩程序媳展示层分为三部分:m o d e l 。v i e w 以及 c o n t r o l l e r 。v i e w 用来呈现数据处理结果,m o d e l 用来储存数据的状态, c o n t r o l l e r 负责协调应用程序的运行流程。这样做的优点主要体现在;1 ) 可以 使数据呈现方式与数据处理方式得以分离,2 ) 可以利用不同的形式来展现相同 的数据,3 ) 更改用户的接口不会影响到商业逻辑,4 ) 展示层组件可以重复使用。 简单的说,m v c 设计模式降低了“展示逻辑”、“工作流程”、“商业逻辑”三者的 耦合程度,简化了软件开发,缩短了维护周期,提高了软件的性能和可维护性, 达到提高软件质量的目的。因此m v c 设计模式对于基于w e b 的物业管理系统的开 发具有重要的意义。 武擞埋上大孕坝士学位论文 1 2 国内外研究的现状 管理信息系统( m i s ) 是一个以人为主导,利用计算机硬件、软件、网络通 信设备以及其他办公设备,进行信息的收集、传输、加工、储存、更新和维护, 以企业战略竟优、提高效益和效率为目的,支持企业高层决策、中层控制、基层 运作的集成化的入机系统。m i s 的发展与计算机网络技术的发展紧密相关,随着 i n t e r n e t i n t r a n e t 技术的广泛应用,m i s 的体系结构发生了很大变化,大致经 历了四个阶段:主机终端结构( h o s t ,r e r m i n a l ) 、文件服务器结构( f i l es e r v e r ) 、 客户服务器结构( c l i e n t s e r v e r ,简称c s ) 、浏览器服务器结构 ( b r o w s e r s e r v e r ,简称b s ) 。 传统m i s 的核心是客户服务器结构( c s ) ,如今基于w e b 的m i s 的核心是 浏览器服务器结构( b s ) 。w s 结构的特点是一种平面型多层次的网状结构, 网络用户在基于浏览器的客户机上以网络用户界面( n u i ) n 对m 来访问应用服 务器上的资源。用户访问服务器资源以动态交互或互枢合作的方式进行。s i s 模 式最主要的特点是与软、硬件平台无关性,浏览器、w e bs e r v e r ,j a v a 、h t m l 以 及数据库资源都可以做到与软、硬件平台无关。两传统的c s 模式要把对数据库 资源的访问形成一个统一的连接平台,因此客户机上除负责图形显示和事件输入 外,把应用逻辑和业务处理规则可能并( 或部分) 置于客户机上。至使客户机 越来越胖。由于客户机端配置了大量的应用逻辑和业务处理规则软件以及开发工 具软件,所以软件的变动与版本的升级以及硬件平台的适应能力牵动着系统中所 有的客户机,造成管理维护上困难,资金开销增加。而b s 计算模式下,则把应 用逻辑和业务处理规则放置在服务器一侧这样的结构,客房机端可以只是一个 多媒体浏览器和( 或) j a v a 虚拟机,尽可能使之做得“瘦”一些。这种瘦型客 户机无论在管理,维护升级上,还是成本开销上都远远优于c s 模式下的胖客户 机制。 当前,s u n 公司提出的j 2 e e 已经逐渐成为w e b 应用开发的标准,这当中的 s e r v le t j s p 技术已得到了广泛的应用,然而,仅使用j s p 技术开发的w e b 应用 中,业务逻辑处理、动态显示用的j a v a 代码以及h t m l 混合在一起,使得阅读、 修改和维护变得很困难。因此为了使开发的w e b 应用程序具有良好的可扩展性和 易于分工,我们须将展示逻辑与商业逻辑分离。由a p a c h ej a k a r t a 项目组提供 的s t r u t s 架构正是用来解决这些问题的。它是基于m 、,c 的设计思想,由s e r v l e t 、 标记库、实用类库等构成,这些类包括控制程序流程的类、实现和执行程序事务 逻辑的类。其中。h c t i o n s e r v l e t 类是控制器组件,它根据用户请求,调用相应 的a c t i o n 类实例进行处理,然后选择相应的j s p 文件返回客户端:a c t i o n f o r m 2 武擞埋上灭罕似士罕僵论又 类是模型中的数据b e a n 类,用来表示从v i e w 组件中输入的数据;a c t i o n 类是 模型中的逻辑b e a n 类,对它扩展后可以执行某一特定请求的业务逻辑:t a g l i b 组件代表标签库;a c t i o n m a p p i n g 类代表u r l 模式和业务逻辑组件a c t i o n 之间的 映射。此外,s t r u t s 还包含了一个非常重要的配置文件s t r u t s c o n f i g x m l ,它 包括关于w e b 应用程序的a c t i o n m a p p i n g 信息、j d b c 数据源信息、a c t i o n f o r m b e a n 信息和全局转发等。由此可见它很好的实现了展示逻辑与商业逻辑的分离, 同时由于它提供了大量的自定义标签库,因此可以在j s m 页面中分离动态显示逻 辑与静态的h t m l ,使页面代码更清晰,可读性大大提高。所以s t r u t s 架构是w e b 应用开发中很好的选择。 1 3 本文研究的内容 本文主要完成了以下几个方面的研究工作: ( 1 ) m v c 设计模式的研究。对m v c 设计模式进行了深入的研究,通过对w e b 应用开发常用模式的分析与对比,深刻理解了该模式的模型、视图、控制器三部 分在构成w e b 应用程序框架中起的作用,并总结出使用此模式所存在的优势与不 足及其适用范围。 ( 2 ) s t r u t s 框架的研究。s t r u t s 是实现m v c 模式的一个优秀的应用框架。 本课题对该框架的整体结构及处理流程进行了深入的分析及研究,通过与其它实 现m v c 设计模式的开发框架的对比研究,分析了使用s t r u t s 框架的优缺点,并 对s t r u t s 的开发流程作了总结。 ( 3 ) 基于s t r u t s 的w e b 应用开发框架的搭建和优化。通过对m v c 设计模式 及s t r u t s 框架的深入研究,以及对多层w e b 体系结构各层实现方式的分析与对 比,最终总结出基于j 2 e e 平台开发w e b 应用程序的技术方案,劳分析研究基于 s t r u t s 的w e b 应用程序开发框架体系结构的构成:对s t r u t s 框架的各组件特别 是模型组件的多种实现方式进行研究,从而得到比较合理的基于s t r u t s 框架的 w e b 应用开发的技术组合。 1 4 本文的组织 本文总共分六章。 第一章为绪论,介绍了论文研究的意义,并对智能小区物业管理系统的国内 外研究现状进行分析讨论,最后给出了本文研究的主要内容。 第二章为m v c 设计模式,首先介绍了设计模式的基本概念,并从模型、视 图、控制器三个方面对m v c 设计模式进行了阐述,接着讲述了m v c 设计模式 堕坚兰尘三竺王量堡堡墨 的优点与不足,最后介绍了m v c 设计模式在j 2 e e 平台上的实现。 第三章介绍了s t r u t s 框架,首先讲述了框架的概念,并描述了使用框架的好 处,接着详细讲述了s t r u t s 框架的体系结构、配置文件、基本组件、工作流程以 及框架的特点。 第四章为系统的总体设计。首先介绍了u m l 概要与建模机制,接着在需求 分析的基础上对系统进行总体设计,包括功能模块划分、用例分析、域类分析、 三层结构设计和实现平台。 第五章是系统的详细设计与实现。首先讲述了系统数据库的构建,包括数据 库的选择与设计,接着描述了系统模型组件、视图组件和控制组件的设计。 第六章为总结与展望。首先总结了整篇论文研究的主要内容,接着对今后遇 到的问题进行了展望。 4 武议埋上灭竿坝士学位论文 第2 章m v c 设计模式 y n c 是x e r o xp a r c 在八十年代为编程语言s m a l l t a l k 一8 0 所发明的一种软件 设计模式,至今已被广泛使用,并被推荐为s u n 公司j 2 e e 平台的设计模式,其 为开发交互式应用系统提供了一个优秀的设计模式,受到越来越多开发者的欢 迎。本章将着重阐述埘c 设计模式豹结构、优缺点及其在j 2 e e 平台上的实现。 2 。1 设计模式 在面向对象系统的设计中,可以认为,类及其生成的对象是构成面向对象系 统的最基本元素;采用设计方法组合这些元素,得到构成面向对象系统的构件, 同时,这些构件的设计方法在经过不断的改进和完善后逐渐成型,成为构成顽向 对象系统的基本设计参考,也称为设计模式【l 】。我们采用设计模式来抽象和总结 系统构件的设计方法,同时将它用于新的系统构件的设计中。使用类和对象,使 我们在元素的层次上实现了重用性,而使用设计模式,则在系统构件的层次上实 现了重用性。设计模式提供了在特定应用场景下解决问题的类、对象及相互关系 的设计方法。这些方法并不针对于具体的系统,只是提供了一种设计系统的思考 方法,一个设计模式可能用于不同的系统,一个系统也可能会用到多个设计模式。 通常一个设计模式由4 个基本要素组成l l j : 1 ) 模式名称( n a m e ) :一个助记名,它用一两个词来描述模式的问题、解 决方案和效果。命名一个新的模式增加了人们的设计词汇。模式名称 可以帮助人们思考,便于其他人交流设计思想及设计结果; 2 ) 问题( p r o b l e m ) :描述了应该在何时使用模式。它解释了设计问题和问 题存在的前因后果,可以描述特定的设计问题,也可以描述导致不灵 活设计的类或对象结构。有时候,问题部分会包括使用模式必须满足 的一系列先决条件; 3 ) 解决方案( s o l u t i o n ) :描述了设计的组成成分,它们之间的相互关系 及各自的职责和协作方式。因为模式就像一个模板,可应用于多种不 同场合,所以解决方案并不描述一个特定而具体的设计或实现,而是 提供设计问题的抽象描述和怎样用一个具有一般意义的元素组合( 类 或对象组合) 来解决这个问题。; 4 ) 效果( c o n s e q u e n c e s ) :描述该设计模式的应用效果及使用该设计模式 应权衡的问题。 在设计模式:可复用面向对象软件的基础一书中一共提及2 3 个标准的 武1 扶埋上大竽坝士学位论文 设计模式,在此基础上可以组合使用这些设计模式,也可以创建新的设计模式, 由于设计模式在对象的粒度和抽象层次上不同,按照不同的应用原则,可以将标 准的设计模式分为三类: 1 ) 创建型设计模式( c r e a t i o n a lp a t t e r n s ) :用于创建对象,如f a c t o r y m e t h o d ,b u i l d e r 等; 2 ) 结构型设计模式( s t r u c t u r a lp a t t e r n s ) :用于将类和对象组合得到相应 的结构,如a d a p t e r ,p r o x y 等; 3 )行为型设计模式( b e h a v i o r a lp a t t e r n s ) :描述类和对象之间如何交互, 一个任务如何交由不同的对象进行处理,如c o m m a n d ,v i s i t o r 等。 不同的设计模式具有一些共性: 1 ) 设计模式是从实践中获得的,并非凭空想象产生的; 2 ) 设计模式表达好的设计。设计模式并不仅是关于对象的设计,而且关于 对象间的通信。因此有时也称为“通信模式”; 3 ) 设计模式避免无谓的重复劳动; 4 ) 多个设计模式可以一起用来解决更大的问题; 5 ) 设计模式存在于不同层次的抽象级别; 6 ) 模式不断向前发展。设计模式使人们可以更加简单方便的复用成功的设 计和体系结构,帮助设计者更快更好的完成系统设计。 2 2m v c 设计模式 i v i v c 设计模式把应用程序抽象为m o d e l ( 模型) 、v i e w ( 视图) 、c o n t r o l l e r ( 控 制器) 三个功能截然不同的部分1 2 】 3 1 ,三者既分工又合作地完成用户提交的每项任 务。 2 2 1 模型( m o d e i ) 模型包含了应用程序的核心,它封装了应用程序的数据结构和事务逻辑,集 中体现了应用程序的状态。有时候仅包含状态信息,因为它并不了解视图或控制 器的信息。j a v a b e a n 很适合扮演这个角色,因为其能够处理绝大部分事务逻辑 和数据结构,还能与数据库或文件系统进行交互,承担维护应用程序数据的责任。 在m v c 的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立 的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应 用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性, 提高了系统设计的可重用性”“。 6 堕坚! 里圭銮羔塑主兰垡笙壅 2 2 2 视图( v i e w ) 视图实现模块的外观,它是应用程序的外在表现。它可以访问模型的数据, 却不了解模型的情况,同时它也不了解控制器的情况。当模型发生改变时,视图 会得到通知,它可以访问模型的数据,但不能改变这些数据。w e b 界面的开发人 员不需要了解或关心数据库发生什么事情,或者事务逻辑进行了什么操作,他只 需要掌握h t m l 的知识,而不需要深入了解j a v a 。j s p 页面适合完成这个功能, 因为它只包含很少的非h t m l 代码。 2 2 3 控制器( c o n t r o ii e r ) 控制器通过时间触发的方式接受用户的输入。可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。控制器的作用很明显,它就是 一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请 求。控制层不做任何的数据处理,它只把用户的信息传递给模型,告诉模型做什 么,选择符合要求的视图返回给用户。因此,个模型可能对应多个视图,一个 视图可能对应多个模型。s e r v l e t 能够接受客户端的h t t p 请求,并且根据需要 创建所需的j a v a b e a n s ,然后将模块产生的变化通知给视图。通过上述分析,可 以得至n 模型、视图、控制器三者的关系如图2 - 1 所示: ,”_ 。1 ”m o d e l i 7 一封装应用程序的状态 1 l 状态查询 一响应对状态的查询 一描述应用程序的功能 状态修改 一通7 i 。”更新 修改通知 厂 2 v i 爸曾奠。o j 。、厂 c o n t r o l l e r 一” “。i 、 一对m o d e l 的数据加以修饰 + 视图选择一 一定义应用程序的行为 一接收来自m o d e l 的更新请求 一将用户行为映射为m o d e l 更新 将用户动作传递给c o n t r o l l e t一选择要响应的v i e w ( 允许。“。1 1 。选择任一个”i 。乡 一用户动作 一实现应用程序的某项功能 方法调用 事件 图2 - 1m v c 关系图 武擞埋上灭字坝士葶位论文 2 3m v c 设计模式的优点与不足 2 3 1 m v o 设计模式的优点 m v c 设计模式的优点有【1 5 】: 1 ) 松散的耦合:多种设计组件以灵活的方式相互作用; 2 ) 并行的开发:职责明确,可以将功能划分为不同的组件,以便不同的开 发人员进行开发,设计清晰,容易集成,便于维护; 3 ) 可扩展性:控制器和视图可以随着模块的扩展进行相应的扩展: 4 ) 可重用性:将业务规则封装到组件中可提高模块的重用性。广泛采用可 复用的组件,能够降低新项目的开发成本,通过对设计的复用,使得开发小组之 间更易于沟通,设计的系统更易于理解。 5 ) 模块的有效性:如果需要,任何组件甚至整个模块都可以换出换进,视图、 控制器或模块的程序改变不会影响到其他程序的运行,不同组件的开发能够同时 进展; 6 ) 模型的可移植性:因为模型是独立于视图的,所以可以把一个模型独立地 移植到新的平台工作,需要做的只是在新平台上对视图和控制器进行新的修改。 2 3 2m v c 设计模式的不足 m v c 设计模式的不足有: 1 ) 理解困难,耗费时间。由于它没有明确的定义,所以完全理解m v c 并不是 很容易。使用m v c 需要精心的计划,由于它的内部原理比较复杂,所以你将不得 不花费相当可观的时间去考虑如何将m v c 运用到你的应用程序中; 2 ) 增加了系统结构和实现的复杂性。对于简单的界面,严格遵循m v c ,使模 型、视图与控制器分离,会增加结构的复杂性,也给调试应用程序到来了一定的 困难,并可能产生过多的更新操作而降低运行效率; 3 ) 视图与控制器间过于紧密的连接。视图与控制器是相互分离的,但却是联 系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就 妨碍了他们的独立重用嘲1 。 2 4m v c 模式在j 2 e e 平台上的实现 j 2 e e 模型提供了一个很好的企业应用框架及解决方法,提供了灵活的技术 一 堕坠兰圭仝! 坚兰兰堡兰墨 选择,但它只是一个应用开发框架,不能解决系统的所有问题;同时多层企业应 用框架在提高了软件的重用性和分解了问题的复杂性的同时,也使得代码庞大, 层与层之间的控制关系复杂。因此,对于复杂的企业应用软件的开发来说,一个 好的软件结构也是至关重要的,是决定大型企业应用软件质量的关键因素。首先, 它能使软件开发有章可循,结构清晰,缩短开发周期;其次,它能有效地改善软件 系统的性能,大大提高软件的可维护性与可扩展性。 结合m v c 模式来设计一个基于j 2 e e 技术的w e b 应用的开发平台,它能够提 供大量的抽象度高且功能强大的基础组件框架和丰富灵活的客户化程序和应变 体系,能够简化软件开发,提高软件性能和可维护性,达到提高软件质量的目的 。“。其体系结构如图2 2 所示。 企业服务器 ,、 请求 硼,p 心竺e ,模挈、 、 数据源 浏 见 器 响应 2 5 本章小结 图2 - 2j 2 e e m v c 体系结构 综上所述,m v c 设计模式强制性地把应用程序的输入、处理和输出分开,把 应用程序分为模型、视图和控制器三个核心模块。尽管构造m v c 应用程序需要一 些额外的工作,但是它给我们带来的好处是毋庸置疑的。首先,多个视图可以共 享一个模型;其次,模型是自包含的,与控制器和视图保持相对独立,所以可以 方便地改变应用程序的数据层和业务规则;此外,控制器提高了应用程序的灵活 性和可配置性“。 9 武擞埋上天竽坝士学位论文 第3 章s t r u t s 框架 s t r u t s 是a p a c h ej a k a r t a 项目组的一个o p e ns o u r c e 项目。项目的创立者 希望改进和提高j s p 、s e r v l e t 、标签库以及面向对象的技术水准。它的目的是 使运用m v c 模式开发w e b 应用的时间减少。 本章详细的分析了s t r u t s 框架的体系结构、处理流程及基本组件。 3 1 框架的定义 3 1 1 框架的概念 随着软件开发的发展,可重用、易扩展,而且是经过良好测试的软件组件, 越来越为人们所青睐。这意味着人们可以将充裕的时间用来分析、构建业务逻辑, 而非繁杂的代码工程。于是人们将相同类型问题的解决途径进行抽象,抽取成一 个应用框架,这就是所说的框架。r o b e r t s 和j o h n s o n ,把框架定义成一个系统 全部或者部分的可复用设计,表现为一组抽象类及它们实例之间的相互作用方 式。另一个比较通用的定义是:“框架是一个可被程序开发者定制的应用程序的 骨架”啪。这两个定义并不矛盾,第一个描绘了框架的结构,第二个描绘了框架 的用途。一个软件框架捕获解决某一特定问题域所需的编程经验、设计经验和该 领域专家经验。它隐藏了该领域中的所有应用程序的共同部分( 也称为冰点 f r o z e ns p o t ) ,暴露出需要针对不同应用程序进行定制的部分( 也称为热点h o t s p o t ) 。框架的用户就是通过定制框架的热点来满足的不同应用的需要。 3 1 2 使用框架的好处 框架与类库不同,框架提供的不是一组功能性的组件。恰好相反,它提供了 一个软件结构,一种业务流程,以及“好莱坞模式”的开发原则。换言之,选择 框架,就是用自由换便利,开发人员基本上只需并且只能在框架限制的范围内编 写一些业务组件,框架会帮助管理这些组件之间的协调,在w e b 框架里,这种“自 由换便利”的原则就体现为:必须要把业务逻辑放在这里,把显示逻辑放在那里, 按照要求把它们组织起来,甚至必须遵守一定的规则,不能随心所欲。当然,收 获的就是结构更力良好,质量更加可靠的w e b 应用。因此使用框架的好处有如下 几个方面: 1 ) 通过提供一个基础设施,框架减少了开发人员需要编写、测试、调试的 1 0 武议埋上大字颀士学位论文 代码的数量。开发者只编写、测试、调试那些各个应用程序特有的代码。 2 ) 用同一个框架创建的不同的应用程序或( 子) 系统共享相同的结构,这样 它们非常容易集成。 3 ) 用同一个框架开发的多个应用程序维护起来比用不同的设计方案创建的 多个应用程序更容易。 4 ) 有助于同一项目中的人员并行工作,项目开发人员可以分成两个组,一 组负责开发、改进、扩展框架,而另一组与此同时负责使用这个框架实现特定的 应用程序。 5 ) 框架的每个实例自动重用了框架的算法、数据结构等。 3 2s t r u t s 框架 3 2 1s t r u t s 框架的概念 s t r u t s 这个名字来源于在建筑和旧式飞机中使用的支持金属架,它的目的 是为了减少在运用m v c 设计模型来开发w e b 应用的时间。s t r u t s 继承了州c 的 各项特性,并根据j 2 e e 的特点,做了相应的变化与扩展3 。s t r u t s 有如下的主 要功能:1 ) 包含个c o n t r o l l e rs e r v l e t ,能将用户的请求发送到相应的a c t i o n 对象;2 ) j s p 自由标签库,并且在c o n t r o l l e rs e r v l e t 中提供关联支持,帮助 开发人员创建交互式表单应用;3 ) 提供了一系列实用对象:x m l 处理、通过j a v a r e f l e c t i o na p i s 自动处理j a v a b e a n s 属性、国际化的提示和消息”。 s t r u t s 实质上是在j s pm o d e l 2 的基础上实现的一个m v c 框架。在s t r u t s 框架中,模型由实现业务逻辑的j a v a b e a n 或e j b 组件构成,控制器由 a c t i o n s e r v l e t 和a c t i o n 来实现,视图由一组j s p 文件构成嘲。图3 - 1 显示了 s 匕蛔 刊慧) e t l 浏览器l 一叫鬻l i i 图3 - 1s t r u t s 实现的m v c 框架 1 1 苎鲨兰士丕兰堡圭兰篁笙塞 3 2 2 s t r u t s 框架的体系结构 s t r u t s 的体系结构实现了m v c 设计模式的概念,它将这些概念映射到w e b 应用程序的组件和概念中“”。图3 - 2 显示了s t r u t s 框架的体系结构响应客户请 求时,各个部分工作的原理,从m v c 角度体现了s t r u t s 框架中的各种组件的功 图3 - 2s t r u t s 体系结构 在s t r u t s 中,承担m v c 中c o n t r o l l e r 角色的是a c t i o n s e r v l e t ,它是一个s e r v l e t , 是个通用的控制组件。这个控制组件处理所有发送到s t r u t s 的h t t p 请求,截取 和分发这些请求到相应的a c t i o n b e a n 类;该组件还负责用相应的请求参数填充 f o r m b e a n ,并传给a e t i o n b e a n 类。a c t i o n b e a n 类实现业务逻辑,最后a c t i o n b e a n 类把控制权转发给相应的j s p 文件生成视图;所有这些控制逻辑利用 s t r u t s e o n f i g x m l 文件来配置1 7 】【8 1 。 在s t r u t s 中主要是由j s p 生成页面完成视图的,j s p 具有定制标记和包含 w e b 组件的能力,利用这两个特色,可以实现定制的组件、容器和布局管理器, 从而实现可扩展的、可重用的和可维护的w e b 应用的界面。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 、n e s t e d 、t i l e s 等,这有利于分开表示 逻辑和程序逻辑,能够大大提高开发效率。 在s t r u t s 中模型是以个或多个b e a n 的形式存在,这些b e a n 包括f o r m b e a n 、 a c t i o n b e a n 、j a v a b e a n 、e j b 等。f o r m b e a 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 ,取出相关信息,并调用相应 的业务逻辑( 封装为j a v a b e a n 或e j b ) 进行处理。 3 2 3s t r u t s 框架的配置文件 w e b x m l 堕竖兰圭釜羔燮主量堡笙奎 w e b x m l 是j a v as e r v l e t 要求的w e b 应用部署描述符。w e b 容器使用这个文 件来载入和配置应用嘶】。 w e b 应用部署描述符的目的和格式在s u ns e r v l e t 规范中定义。基本上,它 应该告诉w e b 容器如何配置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 和标签 库( 可选) 。虽然大多数s t r u t s 应用的确需要使用标签库,但它也不是严格要求 的,例如,使用x l s t 的应用不需要配置标签库。但是如果要使用s t r u t s ,必须 在w e b 应用中声明标签库。 s t r u t s c o n f i g 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 和m o d e l 之间关系的配置文件, 是s t r u t s 框架的部署描述符。它用来载入和配置s t r u t s 框架使用的各种组件。 从效率的角度出发,s t r u t s 配置文件中的信息在系统启动时就读入并存在内存 中。s t r u t s 配置和s t r u t s 的组件a c t i o n s e r v l e t 一起工作,来对应用进行控制。 s t r u t s 配置中的每个组件都是j a v a 对象。a c t i o n f o r m 对象包含表单字段 数据和表单操作类型( 例如,增加、删除、修改、查询) 。a c t i o n f o r a r d 对象 包含处理结果如何转发的信息。a c t i o n m a p p i n g 对象包含特定事件如何映射到特 定e e t i o n 的信息。按这种方式部署预配置j a v a 对象具有强大的功能。通过描 述框架组件问如何交户,s t r u t s 配置文件成为了一个管理应用变更的非常有效 的工具。 3 2 4s t r u t s 框架的基本组件 在s t r u t s 框架中包含以下一些组件,这些组件是s t r u t s 框架实现的关键。 ( 1 ) 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 类,它充当整个框架的控铝4 器。 控制器框架中的控制器组件是由o r g a p a c h e s t r u t s a c t i o n a c t i o n s e r v l e t 类实现的,这个类是j a v a x s e r v l e t h t t p h t t p s e r v l e t 类的扩展。1 。 下面分析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 表示g v c 设 计模式中的控制器部分,它需要完成控制器所需的前端控制及转发请求的职责。 其次,a c t i o n s e r v l

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论