




已阅读5页,还剩56页未读, 继续免费阅读
(计算机应用技术专业论文)基于j2ee平台的智能大厦物业管理系统研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学硕士学位论文 摘要 随着计算机和网络技术的不断发展,i n t e m e t 已经成为人们生产和生活中的 不可缺少的组成部分。社会的各个领域都在努力利用现有技术建立网络化的应用 体系,进而实现信息交互和资源共享。就现代企业而言,建立一个基于 i n t e m e t i n t r a n e t 的灵活的、易于扩展和维护的企业信息系统,是企业适应瞬息万 变的市场环境,促进自身发展壮大的必然选择。基于w e b 的智能大厦物业管理 系统通过构建一个面向公众的操作环境,克服了传统物业管理系统功能单一、难 以与企业其他业务系统紧密集成的缺点。本课题的研究目标就是提出一个在 j 2 e e 平台下,运用m v c 设计模式来实现基于w e b 的智能大厦物业管理信息系 统的解决方案。 本文首先分析了智能大厦中物业管理系统应该具备的作用,在此基础上对系 统功能进行详细分析,并得出具体的功能模型。然后根据该功能模型设计出基于 j 2 e e 平台下的系统结构。 j 2 e e 技术提供了开发分布式应用的底层服务支持,同时也提供了一个基于 j a v a b e a n 、s e r v l e t 和j s p 等组件开发w 曲应用的平台。以j 2 e e 的多层体系 结构为依据,本文给出了一个四层的设计模型,它包括了客户层、w e b 层、业 务层和数据层,其中的业务层又被划分成业务逻辑层和数据持久化层两个子层。 在这个多层设计模型中,w e b 层负责控制业务流程、动态生成客户端页面等功能: 业务逻辑层实现了核心业务逻辑,持久化层负责对数据库的具体操作。 就具体的实现技术而言,整个模型系统采用m v c 模式迸行开发。w e b 层 使用目前流行的s t r u t s 框架技术进行构建。在业务层中,业务逻辑层用j a v a b e a n 组件来实现系统核心的业务逻辑;数据持久化层采用数据访问对象( d a o ) 来 实现。此外,为了使得用户的界面更加友好灵活,在保证多层设计的基础上, w e b 页面采用了a 泌技术。通过这种技术可以制作出更加灵活个性的目录树, 方便用户按需求定制。 本文最后还对系统中的安全性问题及j a v a 字符编码的实现进行了研究。 关键字:j 2 e e ,m v c ,d a o ,a j a x 武汉理工大学硕士学位论文 a b s t r a c t w i t ht h ed e v e l o p m e n to fc o m p u t e ra n di n t e m e tt e c h n o l o g y , i n t e m e th a sb e c o m e a ni n d i s p e n s a b l ep a r ti np e o p l e sl i v ea n dp r o d u c t i o n e a c ha r e ao fo u rs o c i e t ya r e t r y i n g t oe s t a b l i s ha p p l i c a t i o ns y s t e mb a s e do nn e t w o r k b y u s i n gt h i sw a yt o i m p l e m e n tt h ec o m m u n i c a t i o no fi n f o r m a t i o na n dt h es h a r eo fr e s o u r c e a sm o d e m e n t e r p r i s e s ,i ft h e yw a n tt oa d a p tt h ev a r i a t i o n a le n v i r o n m e n t , e s t a b l i s h i n gaf l e x i b l e a n de x t e n s i b l ee n t e r p r i s ei n f o r m a t i o ns y s t e mb a s e do ni n t e m e t i n t r a n e ti san e c e s s a r y c h o i c e b yb u i l d i n ga no p e ne n v i r o n m e n tf o rt h ep r o p e r t ym a n a g e m e n ts y s t e mi n i n t e l l i g e n tb u i l d i n g ,w h i c hi sb a s e do nw e bt e c h n o l o g y , o v e r c o m e sr e s t r a i n t so f s i m p l e xf u n c t i o na n dd i f f i c u l t n e s s t o i n t e g r a t e 嘶也o t h e rb u s i n e s ss y s t e m i n t r a d i t i o n a lp r o p e r t ys y s t e m ,e s t a b l i s h e sad y n a m i cc o n t r o l l a b l eu n i f o r mi n t e g r a t i v e p l a t f o r m ,s u p p l i e st h ea d v a n c e ds o l u t i o n so f e l e c t r o n i cb u s i n e s sf o re m e r p r i s e t h ea r t i c l ef i r s ta n a l y s e dt h ea c t i o n so fp r o p e r t ys y s t e mi ni n t e l l i g e n tb u i l d i n g , b a s e do nt h i s ,i ta n a l y s e dt h ef u n c t i o n si nd e t a i la n dg e tt h em a t e r i a lm o d e l s t h e nw e d e s i g n e dt h es y s t e mf r a m e w o r kb a s e d o nj 2 e ep l a t f o r ma st h em o d e l s j 2 e ep r o v i d e st h ei n f r a s t r u c t u r eo fd i s t r i b m e da p p l i c a t i o n , w h i c ha l s oi sa n a d v a n c ep l a t f o r mo fd e v e l o p i n gw e ba p p l i c a t i o nb a s e do nj 2 e ec o m p o n e n t s ,s u c ha s j a v a b e a n , s e r v l e ta n dj s ea c c o r d i n gj 2 e em u l t i - l a y e ra r c h i t e c t u r e ,t h em o d e li s c o m p o s e do ff o l 】rl a y e m w h i c hi n c l u d e sc l i e n tl a y e r , w 曲l a y e r , l o g i cl a y e ra n dd a t a p e r s i s t e n tl a y e r l o g i cl a y e rp r o v i d e st h ed i s t r i b u t e ds e r v i c ea n di n c l u d e sb u s i n e s s s u b l a y e ra n dp e r s i s t e n ts u b l a y e r b u s i n e s ss u b l a y e ri m p l e m e n t sb u s i n e s sl o g i ca n d p e r s i s t e n ts u b l a y e ri sr e s p o n s i b l eo f o p e r a t i n gw i t hd a t as o u r c e a sas o l u t i o n , t h em o d e ls y s t e mt a k e so nm v c p a r e m w e bl a y e rb u i l du p o ns t r u t s f r a m e w o r k i n1 0 9 i cl a y e r , b u s i n e s ss u b l a y e re m p l o y sj a v a b e a nc o m p o n e n t st o e x e c u t eb u s i n e s sl o g i c ;p e r s i s t e n ts u b l a y e ra d o p t sd a od e s i g np a t r e mt oo p e r a t e d a t a b a s e i na d d i t i o n , t h ea j a xt e c h n o l o g yi si n t r o d u c e dt oi m p r o v i n gt h ef l e x i b i l i t yo f w 曲s i t e b yu s i n gt h i st e c h n o l o g y , w ec a np r o d u c eam o r ef l e x i b l ed i r e c t o r yt r e et o f u l f i l lt h eu s e r s d e m a n d f i n a l l y , t h i sp a p e rr e s e a r c h e dt h ep r o b l e m so fs e c u r i t ya n dc h a r a c t e rc o d i n go f t h es y s t e m k e yw o r d s :j 2 e e ,m v c ,d a o ,a j a x 武汉理工大学硕士学位论文 1 1 引言 第1 章绪论 智能大厦( i n t e u i g e n tb u i l d i n g ) 简称i b ,是人们通过对建筑物的4 个基本 要素结构、系统、服务和管理的内在关联的最优化组合,提供一个投资合理、 功能完善的舒适、温馨、便利的环境【2 l 。由于广泛采用计算机技术和各种控制技 术,这种大厦的使用者和管理者可以对大楼内的空调、供热、供水、电气、电梯、 灯光、音乐、防火防盗、电话传真、计算机通信、购物、保健等全套设施实现按 需控制,实现了大厦内各种操作和信息的共享。 所谓物业管理,是指物业产权人、使用人委托物业管理企业对房屋及其设备 以及相关的居住或办公环境进行维护、修缮和服务的活动。一般来讲,物业管理 的特点体现在以下几个方面p j : 物业管理公司提供的产品是服务,服务的对象是业主和住户,而不是开发商, 物业管理合同是与业主管理委员会签订。 物业管理服务质量的关键是服务态度。服务人员是影响物业管理质量的关键 因素。服务范围与时限决定物业管理服务的功能性。收费准确性是业主和住户关 心的问题,将直接影响其对物业管理服务的满意度。 物业管理作为智能大厦系统管理中必不可少的部分,在管理内容和管理手段 上与传统的物业管理相比都产生了巨大的变化。智能大厦物业管理,不但包括原 传统物业管理的内容,即日常管理、清洁绿化、安全保卫、设备运行和维护,也 增加了新的管理内容。固定资产管理、租赁业务管理、租房事务管理,同时赋予 日常管理、安全保卫、设备运行和维护新的管理内容和方式。 智能大厦物业管理信息系统是个由人、计算机软硬件、通信设备等有机 组成的能进行物业管理信息处理、维护和使用的完整的系统。它不仅包含和 大厦相关的各种物业管理信息,而且要能够与大厦中其它的管理系统,如办 公自动化系统,楼宇监控系统,通讯系统等相结合,方便的进行相关信息的 交互。 智能大厦物业管理系统的功能包括:1 ) 根据业主或租户提供的相关资料 建立详细的业主档案,方便查询;2 ) 根据大厦的实际情况定义收费项目和标 准,并管理各种费用的收取;3 ) 对来自业主,租户以及其他人员的投诉进行 分类,并转入相关部门及时处理:4 ) 详细记载大厦中各种设备资料,与楼宇 监控系统结合对大厦中设备的各种情况进行实时管理;5 ) 大楼内部的卫生消 武汉理工大学硕士学位论文 防管理【1 2 j f l4 1 。 1 2 物业管理的发展及现状 1 3 】 物业管理在部分发达国家已经非常成熟,甚至在有些国家已是夕阳产业了。 例如,日本的一些物业管理公司收费很低,只能靠规模经营才能生存下去【4 9 1 。 我国物业管理计算机化的起步是2 0 世纪九十年代初深圳首先运用在物业管 理上的,但此时这些物业管理的软件基本上都是物业公司自行开发的,仅限于业 务处理层次,功能上主要是用于房产资料登记、客户资料管理。整个功能相当简 单,而且都是在d o s 平台下单机运行。因此这个阶段的物业管理系统都是模仿 手工管理的方式,只能用于简单的事务性工作,随着计算机技术的不断发展和物 业管理水平的日益提高,特别是在深圳、上海、北京等地出现了物业管理软件专 业开发商。物业管理软件的功能极大增强,出现了基于w i n d o w s 平台的单机版、 网络版等大型管理软件【9 。这类物业管理软件结合当时计算机应用呈现网络化和 实时处理特点,采用c l i n t s e r v e r ( 客户端服务器) 模式,能够提供数据综合处理, 具备了部分提高物业管理效率的特点。但是由于客户端承载着过多的工具软件和 应用逻辑和业务处理规则软件,使得系统管理维护很不方便。 如今,随着智能化物业的发展、普及和网络技术的快速提升,计算机技术、 网络技术在近几年内更广泛和深入地运用于物业管理行业,并谋求和物业的智能 化系统实现真正的无缝链接,完全做到集约化管理。如今,一种新的应用软件模 式b r o w s e r s e r v e r ( 浏览器朋匣务器) 结构日益流行起来,这种应用模式下,系统 主要的逻辑工作放在服务器一端,而在客户端则非常简单,仅仅负责界面的显示 及人机交互,任何支持d h l m l a c 小谜,j a v a 的通用浏览器就可以,如比较流行 的n e t s e a p e 和i n t e m e te x p l o r e r t l 0 】。与c s 模式比较起来,除了操作应用简单外, 系统还省去了客户端软件开发工作,省去了以前令人头疼的客户端安装和升级工 作,只要在服务器端进行修改,就可达到系统整体升级的目标。这种模式的物业 管理系统的实质是管理信息系统,它把信息论、控制论、系统工程等优化理论综 合运用在软件程序中,计算机网络和数据库的建立,使计算机由管理某个单一系 统发展成全砸的管理系统。 1 3 课题研究目标 传统物业管理的手工操作已经不能满足当前大量信息管理的要求,而普通的 c s 模式尽管能够提供数据综合管理,但是庞大的客户端使得系统修改和维护变 得不方便。针对上述情况,迫切需要一个既能处理大量信息,又能根据不同的管 2 武汉理工大学硕士学位论文 理需求方便对其修改和维护的新型的管理系统。 本课题的研究目标是构建一个基于i n t e r n e t 的应用系统,采用基于j 2 e e 的分布式多层结构体系。所有功能都是通过应用服务器和用户浏览器之间的交互 来完成的,与系统相关的数据由数据库服务器来维护和组织。j 2 e e 平台是为了 满足目前企业应用系统计算的需要,由s u n 公司发布的企业计算的平台方案。它 的主要技术目标可以概括为:为企业应用系统提供一个具有高度的可移植性和兼 容性的平台。在这个平台上可以容易、快速地建立融合了i n t e r n e t 技术的分布 式企业应用,并使其具备良好的安全性、可移植性和扩展性,使其能方便的与大 厦其他子系统进行信息交互。客户端完全运用浏览器模式,并结合a j a x 技术, 以控件的方式方便地在浏览器上根据需求不同对不同管理模块进行排列组合,最 终达到为不同客户服务的目的。 1 4 论文结构 本论文分为五章,第一章为绪论,介绍了智能大厦中物业管理所包含的内容 及其特点,并对其发展状况做了介绍,最后给出了本文的研究目标和采用的技术 路线。 第二章对本课题采用的j 2 e e 分布式应用模型进行了深入的分析和研究。同 时对m v c 设计模式在j 2 e e 平台上的实现进行了研究。 第三章介绍了a j a x 页面无刷新技术,并就这种技术在j 2 e e 平台上运用的 可行性和如何实现进行了研究。 第四章系统需求分析和总体设计。论述了智能大厦物业管理系统的功能模 块划分和系统架构设计,并对系统中所使用的j 2 e e 应用服务器和数据库服务器 的选择进行了研究和讨论。 第五章为系统详细设计。结合实际应用对j 2 e e 平台下各个组件进行详细设 计及实现。这一章还对系统开发开发过程中的几个关键的问题进行了详细的说 明。 武汉理工大学硕士学位论文 第2 章j 2 e e 设计模式研究 2 1 j 2 e e 技术体系 2 1 1 j 2 e e 平台概述 随着i n t e r n e t 计算的迅速发展,作为- - f 7 新兴的语言,j a v a 以其完全面 向对象的设计风格和良好的平台无关性,已经超越了语言本身的功能,成为了开 发w e b 应用的理想平台。j a v a 平台包括了一种用于实现j a v a 对象的语言和这 些j a v a 对象的运行环境j a v a 虚拟机j w ( j a v av i r t u a lm a c h i n e ) 【艚_ 5 0 】。 j a v a 语言的主要特点是平台无关性:在一个操作系统下开发的j a v a 对象可以 不做修改的运行在另外一个操作系统的j v m 上。j v m 封装了各种底层操作系统 在体系结构和语义上的差异,在此基础上为j a v a 对象提供了一个统一的运行环 境。j a v a 对象的源代码被编译为平台无关的中性代码字节码。在运行时刻, 字节码由j v m 进行解释,被映射为真正的相关的操作系统调用而得以执行功能。 因此,只要是1 0 0 纯j a v a 语言实现的对象可以被各种具有相应j v m 的操作系 统所支持。 然而,要开发基于i n t e r n e t 的分布应用,仅依靠j a v a 语言本身提供的功 能是远远不够的,大型分布系统特别是电子商务应用对企业的信息系统增加了复 杂性。企业应用系统的开发一直面临着重大挑战:一方面,企业应用系统面对的 是一个异构的分布式环境,它必须支持与已有系统的集成性和与其他系统的互操 作性;另一方面,作为给客户、合作伙伴和企业内部提供信息服务的平台,企业 系统还必须具有高可用性、安全性、可靠性和可伸缩性。这些要求再加上复杂多 变的用户需求和不断伸缩的交付时间,使得企业系统的开发越来越困难。开发商 和广大程序员一直在努力推动和殷切期待一个成熟、标准的企业平台来简化和规 范企业系统的开发和部署。j a v a 技术的出现,尤其是j 2 e e ( j a v a2p l a t f o r m e n t e r p r i s ee d i t i o n ) 平台的推出正是这种努力的结果,也使得企业系统的开发 由此变得更加快速和方便。 j 2 e e 是s u n 公司在1 9 9 9 年6 月推出的技术规范,是目前能够满足当今企业 开发要求的最佳解决方案 2 6 】。j 2 e e 是一个标准的体系结构,它提供了基于组件 的、以应用服务器为核心的多层应用体系结构,以及系统必须的可靠性、可扩展 性、可管理性和安全性d o 。这种多层结构简化了开发、配置和维护企业应用的 过程,它最大的优点就是将企业的业务逻辑同显示逻辑分开,应用服务器为组件 提供了一系列的底层服务,如事务管理、多线程、分布式程序设计、缓冲池等, 4 武汉理工大学硕士学位论文 这就使得开发者能够将精力集中于特定领域的业务规则的组织上,而不用过多的 关心那些底层的复杂而又烦琐的系统级事项。它是一组规范,旨在为支持j a v a 语言服务器端部署而提供平台无关的、可移植的、多用户的、安全的和标准的企 业级平台 2 7 1 。 j 2 e e 平台由一整套服务( s e r v i c e s ) 、应用程序接口( a p i s ) 和协议构成, 它对开发基于w e b 的多层应用提供了功能支持,主要包括j d b c 、j n d i 、e j b 、r m i 、 j a v ai d l c o r b a 、j s p 、j a v as e r v l e t 、x m l 、j m s 、j t a 、j t s 、j a v a m a i l 、t a f 等1 3 种技术,其中e j b 组件体系结构是j 2 e e 平台的主干【2 9 】。一个j 2 e e 应用的 核心由一个或几个e j b 组件组成,这些e j b 组件执行这个应用的业务作业并封装 业务逻辑。j 2 e e 平台的其他部分,例如j s p ,是对e j b 体系结构的补充以提供呈 现逻辑以及客户交互控制逻辑等功能。 总之,j 2 e e 平台包括建立企业应用系统的各个方面,使用j 2 e e 技术能够快 速建立可伸缩性企业应用系统,j 2 e e 的目标是提供一个基于j a v a 语言的服务 器端应用结构,支持平台独立、可移植、多用户、安全和标准的企业级应用。 2 1 2 j 2 e e 分布式体系结构 j 2 e e 使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用 组件根据它们所在的层分布在不同的机器上口4 】。也就是说j 2 e e 平台提供了基于 组件的、以应用服务器为核心的多层应用体系结构,以及系统必需的可靠性、可 扩展性、可管理性和安全性。这种多层结构简化了开发、配置和维护企业应用的 过程,它最大的优点就在于将企业的业务逻辑同呈现逻辑分开,应用服务器为组 件提供了系列的底层服务,如事务管理、多线程、分布式程序设计、缓冲池等, 这就使得开发者能够将精力集中于特定领域的业务规则的组织上,而不用过多地 关心那些底层的复杂而又烦琐的系统级事项。一个j 2 e e 典型的结构如图2 1 所 刁r 。 客户层 应用程序 l 浏览器 图2 1j 2 e e 结构图 整个应用系统由客户层( c l i e n t ) 、中间层,也叫业务逻辑层( b u s i n e s s 武汉理工大学硕士学位论文 l o g i c ) 和企业信息系统层( e n t e r p r i s ei n f o r m a t i o ns y s t e m s ) 构成: 1 客户层:应用客户端部分,包含浏览器和普通的g u i 应用程序。浏览器 使用h t t p 与w e b 容器进行通信。一个独立的应用程序也可以使用h t t p ,或者使 用远程方法调用( r m i ) 直接与e j b 容器进行通信。它可以是基于w e b 应用的, 也可以不是基于w e b 的。在一个基于w e b 的j 2 e e 中,浏览器负责显示由运行在 w e b 层的w e b 组件生成的包含各种标记语言( h t m l 、x m l 、x s l 等) 的w e b 页面, 它可以通过运行在w e b 层中的j s p 页面和s e r v l e t 与j 2 e e 服务器中的业务层进 行通信。一个不基于w e b 的j 2 e e 应用系统中,一个独立的客户端程序是运行在其 它一些基于网络系统中的j a v a 程序,可以通过r m i i i o p 直接访问运行在e j b 容 器中的e j b 组件。不基于w e b 的客户端程序可能也包括一个j a v a b e a n s 类来管理 用户输入,并将输入发送到业务逻辑层中运行的e j b 对象来处理。 2 中间层:包括w e b 容器和e j b 容器,并通过它们为客户端提供服务。j 2 e e 的w e b 容器组件既可以是s e r v l e t 也可以是j s p 页面【3 l j 。s e r v l e t 是一种服务器 方程序,允许应用程序逻辑嵌入到h t t p 请求响应过程中。j s p 提供了一种在网 页中嵌入组件的方式,它是一个基于文本的文档,由w e b 容器编译成相应的 s e r v l e t ,这样在应用程序逻辑和表示逻辑之间有了清楚的分界。w e b 层也可以 包括一个j a v a b e a n s 类来管理用户输入,并将输入发送到业务逻辑层中运行的 e j b 对象来处理。e j b 容器构成了应用的业务逻辑规则,是整个应用的核心部分。 它按业务划分成一个个独立的逻辑单元e j b 。e j b 从客户程序处接收数据,对数 据进行处理,再将数据发送到企业信息系统层存储,还可以从存储中检索数据, 并将数据送回客户程序。业务逻辑层位于应用服务器中,应用服务器中的e j b 容 器提供了分布式计算中组件所需要的所有服务,例如:组件生命周期的管理、数 据库连接的管理、分布式事务管理、组件的命名服务、自动容错以及负载的自动 均衡能力等。实现业务逻辑的e j b 组件可以更加高效地运行在应用程序服务器 中。 3 企业信息系统层( e i s ) :它运行企业信息系统软件,掌管着应用程序的包 括企业基础设施系统。通常由一个或多个关系数据库管理服务器组成。同时像企 业资源计划( e n t e r p r i s er e s o u r c ep l a n n i n g ,e r p ) 这样的应用程序以及一些大 型机事务处理系统都可以被包括到这一层中。中间层使用j 2 e ea p i ( 例如j d b c 和j t a j t s ) 与e i s 层发生相互作用。 2 1 3j 2 e e 容器 j 2 e e 平台规范是一个用于简化分布式企业级应用开发与部署的基于组件的 模式。它提供了一个多层次的分布式应用模型和一系列开发技术规范。多层次分 6 武汉理工大学硕士学位论文 布式应用模型是根据功能把应用逻辑分成多个层次,每个层次支持相应的服务器 和组件,组件在分布式服务器的组件容器中运行。j 2 e e 基于组件的开发模型的 中心就是容器的概念。容器是标准化的运行环境,它提供了特定的组件服务,组 件可以在任何j 2 e e 平台上获得这些服务,从而使复杂的多层结构应用系统开发 变得容易。例如,全部e j b 容器自动支持e j b 组件的事务处理和生存周期管理, 以及b e a n 的查找和其他服务,同时,容器还为企业信息系统提供了标准的访问。 在j 2 e e 标准服务之上有w e b 容器和e j b 容器【2 3 1 。w e b 容器为应用系统的表 示层逻辑组件s e r v l e t j s p 提供了运行环境;e j b 容器为应用系统的业务逻辑 组件e j b 提供了运行环境。容器间通过相关的协议进行通讯,实现组件间的相 互调用。 一个容器的体系结构可以分成四部分: 1 组件协议( c o m p o n e n tc o n t r a c t ) :这是容器指定的一组a p i ,要求应用 程序组件扩充或者实现。在j 2 e e 中,所有的应用程序组件都是在容器的j w 中 实例化和初始化的,由于j 2 e e 应用程序组件总是与客户处于远程关系,客户无 法直接调用这些组件的方法,而是向应用程序服务器发出请求,由容器来调用这 些方法,由于容器进程是应用程序组件的唯一入口,因此所有应用程序组件都要 遵守容器指定的协议。在j 2 e e 中,这种协议采用的是接口和类的形式,还包括 组件定义必须遵循的其他规则。如在w e b 容器中,w e b 应用程序组件要求遵守j a v a s e r v l e t 和j s pa p i 等。 2 容器服务a p i ( c o n t a i n e rs e r v i c ea p i ) :j 2 e e 容器为a p i 提供了一个 服务级抽象,应用程序组件可以通过在j n o i 服务或者实现中生成和发布的适当 对象来访问这些a p i 。作为一个可以位于许多现有数据库系统、事务处理系统、 命名和目录服务等之上的标准,服务a p i 消除了在应用程序中组合使用这些技术 而带来的固有的异构问题。 3 声明服务( d e c l a r a t i v es e r v i c e s ) :j 2 e e 体系结构能够动态地为应用 程序组件提出服务,这是基于应用程序组件之外所指定的声明,是建立在各组件 提供的部署描述的基础上,如安全性、事务等。部署描述符( d e p l o y m e n t d e s c r i p t o r s ) 定义了容器与组件之间的协议,根据组件的类型,特定类型的服 务可以在部署描述符中指定,这样可以减少为使用这些服务而进行的应用程序编 程。声明服务就是让容器执行一项服务或者操作,如安全性、事务等。 4 其它容器服务( o t h e rc o n t a i n e rs e r v i c e s ) :其它实时服务,与组件存 活期、资源集中,垃圾收集等相关。 武汉理工大学硕士学位论文 2 2 j 2 e e 设计模式 2 2 1 设计模式概述 在面向对象系统的设计中,一般认为类及其生成的对象是构成面向对象系统 的最基本元素;采用这些方法组合这些元素,得到构成面向对象系统的构件,同 时这些构建的设计方法再经过不断的改进和完善后逐渐成型,成为构成面向对象 系统的基本设计参考,也称为设计模式( d e s i g np a t t e r n ) 1 2 0 。 简言之,设计模式是一系列在实践中总结出来的可复用的面向对象的软件设 计方法。它使人们可以更加简单方便地复用成功地设计和体系结构。将已证实地 技术表述成设计模式也会使新系统开发者更加容易理解其设计思路。 设计模式的分类很多,常用的分类方法有:设计型模式、构架型模式、分析 型模式、创建型模式、结构型模式和行为型模式。这种分类方法尽管简单,但也 存在多种层次的抽象和交叉的分类体系,因此无法找到一个准确的分类方式来整 理和归档这些思想。 不同的出发点会产生对设计模式的不同的理解,一个人的模式对另一个人来 说可能只是基本构造部件。设计模式确定了所包含的类和实例,它们的角色、协 作方式以及职责分配。每个设计模式都集中于一个特定的面向对象设计问题或设 计要点,描述了什么时候使用它,在另一些设计约束条件下是否还能使用,以及 使用的效果和如何取舍。 一般而言,一个设计模式由以下四个要素组成: 1 模式名称( p a t t e r n 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 2 2w c 设计模式 模型一视图一控制器( m o d e l - - v i e w - - c o n t r 0 1 ) 的设计模式是x e r o xp a r c 为编程语言s m a l i t a l k - - 8 0 ( 最早的一种面向对象的编程语言) 提出的一种设计 模式,它属于一种结构型的模式,至今已被广泛使用闭。 m v c 模式主要由3 个部分组成:模型( m o d e l ) 、视图( v i e w ) 和控制器 ( c o n t r 0 1 ) ,在各个对象之间取得高层接口,使应用程序的输入、处理和输出分 开,同时在程序与程序之间进行重用。其结构如图2 2 所示。 + 方法调用 一卜事件 国2 - 2l l v c 模式结构图 1 模型:是程序执行的关键部分。所有的操作都是在这一部分实现的。它 提供应用业务逻辑类。它若需要取得视图中的对象或者更新视图时,需要通过控 制器来进行处理。模型表示企业数据和业务规则。在m v c 的三个部件中,模型拥 有最多的处理任务。 2 视图:是屏幕上的显示,模型进行操作后,其结果就是通过视图来显示 的。视图是用户看到并与之交互的界面。对传统的w e b 应用程序来说,视图就是 由h t m l 元素组成的界面,在视图中其实没有真正的处理发生,只是作为一种输 出数据并允许用户操作的方式。 3 控制器:用于管理用户与视图发生的交互。一旦用户想对模型进行处理 时,它不能直接去执行模型,而是通过控制器来间接地实现。控制器具有处理视 图和模型的指针。具体来说,就是能从视图中取值,然后将相应的值传给模型进 9 武汉理工大学硕士学位论文 行处理。控制器接受用户的输入并调用模型和视图取完成用户的需求。 m v c 设计模式将应用程序逻辑分为三个层次的优点在于它是基于功能清晰 地分开编写代码,因此修改在某层中的应用程序不会影响到其它层。m v c 设计 模式采用在应用程序的开发周期中,控制器把视图代码和模型代码分开,即使对 图形界面的视图代码进行十分频繁的修改,应用程序丝毫不必担心这个视图界面 的视图代码的修改会影响到控制器和模型代码方便。这样会减少应用程序开发费 用,且有利于缩短网络应用程序投入市场的时间。 2 3 3w c 设计模式在j 2 e e 平台的实现 j 2 e e 模型提供了一个很好的企业应用框架及解决方法,提供了灵活的技术选 择,但它只是一个应用开发框架,不能解决系统的所有问题;同时,多层企业应 用框架在提高了软件的重用性和分解了问题的复杂性的同时,也使得代码庞大, 层与层之间的控制关系复杂。因此,对于复杂的企业应用软件的开发来说,一个 好的软件结构也是至关重要的,是决定大型企业应用软件质量的关键因素。m 、,c 设计模式以它可以分离数据访问和数据表现,可以开发一个具有伸缩性的、便于 扩展的控制器来维护整个流程的优势,从众多的设计模式中脱颖而出,成为j 2 e e 平台的首选。在j 2 e e 企业级应用开发中,采用m v c 设计模式,能简化开发的过 程,加快开发速度,提高软件的性能和可维护性刚。m v c 模式运用于j 2 e e 平台 的具体体系结构如图2 3 所汞”j 。 图2 - 3 :m v c 基于j 2 e e 体系图 模型负责与数据库的交互,管理数据,完成商业逻辑,是企业应用最复杂的、 核心的部分,是决定系统的性能的关键。数据库连接是模型中的一个属性,在方 法中执行数据库相关操作。它包含了整个系统的逻辑运算,数据库操作,主要由 一系列的业务j a v a b e a n 、会话b e a n 和实体b e a n 组成,完成对数据库的访问操作。 视图用来呈现模型的内容,决定如何把数据表示出来,当模型改变时,视图要跟 着改变,以维持数据的一致性。同时,视图负责把用户的操作意图传给控制器。 视图由j s p ,j a v a b e a n s 实现,标准客户端上的视图由j a v a 图形界面等组成。控制 l o 武汉理工大学硕士学位论文 器是结合模式和视图的纽带,负责解释用户的操作意图,并把它交给模型去执行, 并且根据请求以及执行结果来决定下一次显示哪一个视图。控制器由s e s s i o n e j b 和控制类实现。 在这个模式中,m v c 的处理过程为:首先控制器接收用户的请求,用户单击 w e b 页面中的超链接或提交表单时,控制器本身不输出任何信息和做任何处理, 只是接受请求并解析请求,转换为模型的输入参数,然后调用响应的模型来进行 处理,模型用业务逻辑来处理用户的请求并返回数据,最后控制器影响应的视图 格式化模型返回数据,并通过表示层呈现给用户。 将m v c 思想运用于5 2 e e 平台进行开发,简化了软件开发过程,提高了软件 性能、可维护性和代码复用率,达到了提高软件开发效率和软件质量的目的阱】。 2 3 本章小结 本章首先阐述了j 2 e e 平台的体系结构,并对该平台中各组件的内容和作用 进行了介绍。其中重点介绍了j 2 e e 设计模型中的核心概念:容器。在此基础上, 本章引入设计模式的概念,并且对m v c 这种具体的设计模式在j 2 e e 平台上如 何实现做了深入分析。 武汉理工大学硕士学位论文 第3 章页面无刷新技术 在普通的w e b 交互方式中,由用户触发一个h t t p 请求到服务器,服务器对其 进行处理后再返回一个新的t f f h l 页到客户端,每当服务器处理客户端提交的请 求时,客户都只能空闲等待,并且哪怕只是一次很小的交互、只需从服务器端得 到很简单的一个数据,都要返回一个完整的h t m l 页,而用户每次都要浪费时间 和带宽去重新读取整个页面。页面无刷新技术正是为解决这种情况出现的。 3 1页面无刷新技术概述 刷新技术经历了大致几个阶段:第一阶段是在h t m l 文件头里增加一个键,使 该页面在设定的时间后跳转到指定的页面( 包括自身) 。例如: 。第二阶段是使用框架然后在j s 脚本里 定时刷新框架内容。上面两种方式都会重新加载页面,即刷新。严格来说并不属 于无刷新技术,而只能算作是一种页面跳转。第三阶段是对第二阶段的一种变通。 即将众多框架中的一个长宽设置为0 ,使其不可见,然后通过脚本定时刷新该隐 藏框架内容,再将该框架内容“写”到可浏览的框架里。早期的聊天室大多使用 了这种技术。真正意义上实现无刷新技术的还是以下两种技术,也就是第四个阶 段。它们甚至可以实现局部刷新: 1 x m l h t t p 技术:可以通过x m l h t t p 访问a s p 页面、a s p x 页面、w e b s e r v i c e 等。 一个典型的应用如下所示: f u n c t i o nr e0 v a rh t t p = n e wa c t i v e x o b j e c t ( ”m i c r o s o f t x m l h t t p ”) : h t t p o p e n ( ”g e t ”,”a d v e r t i s e m e n t 3 h t m ”,f a l s e ) : h t t p s e n d 0 : v a rs t r2h t t p r e s p o n s e t e x t : t i n n e r h t m l :s t r : ) 2 w e b s e r v i c e :使用w e b s e r v i c e h t c 组件访问w e b 服务。需要提供w e bs e r v i c e 的服务器。一个典型的应用如下所示: 武汉理工大学硕士学位论文 v a ro n j : f u n c t i o ni n i t ( o b j ,o p ,i d ) o b j = o b j : o b j u s e s e r v i c e ( ”a d m i n d a t a o p e r a t i o n a s m x ? w s d l ”,”g e t b o d y ”) : 0 8 j g e t b o d y c a l l s e r v i c e ( s h o w ,o p ,i d ) : ) f u n c t i o ns h o w ( r e s u l t ) o b j i n n e r h t m l = r e s u l t v a l u e : 除上述技术之外,使用r e m o t i n g 技术也可以实现无刷新技术。因为r e m o t i n g 组件可以提供包括h t t p 在内的多种访问方式,当作为h t t p 访问时相当于一个 w e b s e r v i c e 。r e m o t i n g 的应用有微软的m i c r o s o f tr e m o t es c r i p t i n gf o ra s p 。 当然,这种应用局限于服务器端使用a s p 。 3 2 a j a x 技术 a j a x 理念的出现,揭开了无刷新更新页面时代的序幕,并有代替传统w e b 开发中采用f o r m ( 表单) 递交方式更新w e b 页面的趋势,可以算是一个里程碑。 使用a j a x 的主要原因有两点:首先,通过适当的a j a x 应用可以达到更好的用户 体验,可以使用户界面更加友好;其次,通过把以前的一些服务器负担的工作转 嫁到客户端,利用客户端闲置的处理能力来处理,可以减轻服务器和带宽的负担, 从而达到节约空间及带宽成本的目的。 基于j 2 e e 平台的开发中,人们经常关注“后端机制( b a c k e n dm e c h a n i c s ) ” 而通常会忘记,j 2 e e 平台的主要成功之处在w e b 应用程序方面;许多原因使得 人们喜欢利用w e b 开发应用程序,但主要还是因为其易于部署的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年《会计》政府及民间非营利组织会计模拟试题解析与答案
- 活动策划方案的合同5篇
- 2025年司法中级考试试题及答案
- 四川省达州市外国语学校2025-2026学年高二上学期9月月考政治试题(原卷版)
- 2025年海洋能发电与海水淡化联合系统在海洋可再生能源规划中的布局报告
- 医院外包保密协议书7篇
- 2025年传染病防控与管理政策考察答案及解析
- 2025年康复科神经功能康复训练设计答案及解析
- 2025年新安全生产月电力安全生产知识竞赛题库及答案
- 2025年老年保健科老年人营养饮食指导模拟测试卷答案及解析
- 食品新产品开发 课件 第二章 食品新产品开发流程
- 高中化学374个必备知识点
- 单轴燃气蒸汽联合循环机组调试程序
- 舟山海域赤潮发生特点及成因分析
- 湿陷性黄土湿陷量计算表
- 丝杠安全操作保养规定
- 体育测量与评价PPT课件-第九章 运动员选材的测量与评价
- 《情满今生》读书笔记模板
- 胸痛中心网络医院STEMI患者绕行急诊和CCU方案流程图
- 大众蔚揽保养手册
- 急危重病人营养与代谢支持
评论
0/150
提交评论