(计算机应用技术专业论文)基于j2ee的企业能源管理的研究.pdf_第1页
(计算机应用技术专业论文)基于j2ee的企业能源管理的研究.pdf_第2页
(计算机应用技术专业论文)基于j2ee的企业能源管理的研究.pdf_第3页
(计算机应用技术专业论文)基于j2ee的企业能源管理的研究.pdf_第4页
(计算机应用技术专业论文)基于j2ee的企业能源管理的研究.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(计算机应用技术专业论文)基于j2ee的企业能源管理的研究.pdf.pdf 免费下载

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

文档简介

沈阳理工大学硕士学位论文 摘要 能源在企业成本中占有相当大的比重。而有些企业能源利用效率低,单位产 品能耗高,这就相应地增加了企业的成本,削弱了企业的市场竞争力,因此降低 能源消耗是企业降低成本的重要途径。如何协调能源与成本的关系,确保在激烈 的市场竞争中企业的经济效益,是这些企业面临的重要课题之一,也是课题研究 的意义所在。 选择良好的体系结构对于企业能源管理系统的开发、维护和扩展具有重要的 意义。论文提出了基于j 2 e e 的轻量级w e b 框架s 眦s + s p r i n g + h i b e m a t e 的系 统结构,并将这三种框架技术整合起来应用到系统中,从而提高了项目代码的可 重用性和开发效率。在该框架中采用s t r u t s 架构作为表示层,s p r i n g 架构作为业务 层,h i b e r n a t e 架构作为持久层。 文章以框架到框架整合再到在企业中的应用作为主线。首先介绍了与该系统 开发相关的技术和知识背景,在完成了系统功能分析和总体设计之后,重点介绍 了两方面的内容,一方面介绍了如何应用配置s t r u t s + s p r i n 妒h i b e m a t e 框架,并以 用户登录模块为例说明它们结合应用到系统的开发过程;另一方面描述了课题的 特色和创新之处,即利用a j a x 技术实现的局部刷新模块和利用缓存技术实现的缓 存管理模块。 关键词:企业能源管理;j 2 e e :s t r u t s :s p r i n g ;h i b e r n a t e 沈阳理工大学硕士学位论文 a b s t r a c t t h ee n e r g yh o l d st h eq u i t eg r e a tp r o p o r t i o ni nt h ee n t e r p r i s ec o s t s b u tt h eu s i n g e f f i c i e n c yo fs o m ee n t e r p r i s ee n e r g yi sl o w , t h eu n i tp r o d u c te n e r g yc o n s u m p t i o ni sh i g h , c o r r e s p o n d i n g l y i n c r e a s e d e n t e r p r i s e sc o s t , w e a k e n e d e n t e r p r i s e s m a r k e t c o m p e t i t i v e n e s s ,t h e r e f o r er e d u c e st h ee n e r g yc o n s u m p t i o n i st h ei m p o r t a n tw a yo ft h e e n t e r p r i s er e d u c i n gt h ec o s t h o wt oc o o r d i n a t et h er e l a t i o n so ft h ee n e r g ya n dt h ec o s t , g u a r a n t e e dt h a te n t e r p r i s e se c o n o m i ce f f i c i e n c yi nt h ei n t e n s em a r k e tc o m p e t i t i o n ,i s o n ew h i c ho fi m p o r t a n tt o p i c st h e s ee n t e r p r i s e sf a c e ,i sa l s ot h i st o p i cr e s e a r c h s i g n i f i c a n c ei s c h o o s e st h eg o o da r c h i t e c t u r er e g a r d i n gt h ee n t e r p r i s ee n e r g ym a n a g e m e n t s y s t e m sd e v e l o p m e n t , t h e m a i n t e n a n c ea n dt h e e x p a n s i o n h a st h ev i t a l s i g n i f i c a n c e t h i sp a p e rp r o p o s e sas y s t e m s t r u c t u r et h a ti sb a s e do nj 2 e el i g h t w e i g h t w e bf r a m e w o r ks t r u t s + s p r i n g + h i b e m a t e , a n da p p l i e st h ec o m b i n a t o r i a lf r a m e w o r kt o t h es y s t e m s ot h ec o d e sa l er e u s a b l ea n da tt h es a m et i m et h ep r o j e c ti sm o r e m a i n t a i n a b l e t h ep r e s e n t a t i o nl a y e rw a sc o n s t r u c t e dw i t hs t r u t s ,t h eb u s i n e s sl a y e rw a s c o n s t r u c t e dw i t hs p r i n ga n dt h ep e r s i s t e n c el a y e rw a sc o n s t r u c t e d 、析mh i b e r n a t ei nt h e f r a m e w o r k t h i sp a p e rs t a r t s1 i t l lf r a m e w o r kt of r a m e w o r ki n t e g r a t i n g ,t ot h ea p p l i c a t i o ni n e n t e r p r i s e s f i r s t ,t h ep a p e ri n t r o d u c e st h et e c h n o l o g ya n dt h eb a c k g r o u n do fk n o w l e d g e a s s o c i a t e dw i t ht h ed e v e l o p m e n to ft h es y s t e m a f t e rt h ea n a l y s i so ft h es y s t e mf u n c t i o n a n dt h ee n t i r es t r u c t u r ed e s i g n , t h e ne m p h a s i z e st w op o i n t s o no n eh a n dt h ep a p e r i n t r o d u c e sh o wt oi n t e g r a t et h es t r u t s ,t h es p r i n ga n dt h eh i b e r n a t e ,a n de x p l a i n s 谢n l e x a m p l e s h o wt o i n t e g r a t et h e mt oa p p l yd u r i n gt h e c o u r s eo ft h es y s t e m s r e a l i z a t i o n ;o nt h eo t h e rh a n dt h ep a p e rd e s c r i b e st h i st o p i c sc h a r a c t e r i s t i ca n dt h e i n n o v a t i o np l a c e ,a n dt a k et w om o d u l e sa st h ee x a m p l ed i s c u s s e st h ed e t a i l so ff u n c t i o n r e a l i z a t i o n k e yw o r d s :e n t e r p r i s ee e r g ym a n a g e m e n t ;j 2 e e ;s t r u t s ;s p r i n g ;h i b e r n a t e 沈阳理工大学 硕士学位论文原创性声明 本人郑重声明:本论文的所有工作,是在导师的指导下,由作者本 人独立完成的。有关观点、方法、数据和文献的引用已在文中指出, 并与参考文献相对应。除文中已注明引用的内容外,本论文不包含任 何其他个人或集体已经公开发表的作品成果。对本文的研究做出重要 贡献的个人和集体,均己在文中以明确方式标明。本人完全意识到本 声明的法律结果由本人承担。 作者( 签字) :刁渺 日期 :删月夕日 学位论文版权使用授权书 本学位论文作者完全了解沈阳理工大学有关保留、使用学位论文 的规定,即:沈阳理工大学有权保留并向国家有关部门或机构送交学 位论文的复印件和磁盘,允许论文被查阅和借阅。本人授权沈阳理工 大学可以将学位论文的全部或部分内容编入有关数据库进行检索,可 以采用影印、缩印或其它复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:砂易认 日 期:枷 7 指导教师签名:靓池缈 凝 砖专0 第1 章绪论 1 1 课题的提出 第1 章绪论 胡锦涛总书记在党的十七大报告中着重指出:“加强能源资源节约和生态环境 保护,增强可持续发展能力。坚持节约资源和保护环境的基本国策,关系人民群 众切身利益和中华民族生存发展。必须把建设资源节约型、环境友好型社会放在 工业化、现代化发展战略的突出位置,落实到每个单位、每个家庭。要完善有利 于节约能源资源和保护生态环境的法律和政策,加快形成可持续发展体制机制。 落实节能减排工作责任制。开发和推广节约、替代、循环利用和治理污染的先进 适用技术,发展清洁能源和可再生能源,保护土地和水资源,建设科学合理的能 源资源利用体系,提高能源资源利用效率。 可见,能源是国民经济的基础,是制约经济和社会发展的重要因素。 然而,在我国的能源消耗中,工业企业是我国能源消耗的大户,能源消耗量 占全国能源消耗总量的7 0 左右。因此,科学地管理、合理地使用、有效地节约 能源已成为企业技术改造的重要课题。对于各个企业来说,能源消耗的水平直接 影响产品的成本和利润指标。 为了能使企业更好的完成资源调配、组织生产、部门结算、成本核算,需要 建立一套有效的能源系统,它可以对能源供应进行监测,对能源信息进行合理的 分析和利用,同时方便企业的计量和成本核算工作;并具有投资少,效益高,信 息化程度高,系统稳定可靠的特点。在我国节能降耗的大趋势下,企业能源管理 系统必能为企业带来可观的效益。为我国到二0 二o 年实现全面建成小康社会的 奋斗目标打下坚实的基础。 1 2 研究现状与发展趋势 过去,大部分的企业能源管理系统大都是采用传统的c s 开发模式的,在这 沈阳理工大学硕士学位论文 种模式下,企业内部可以共享数据,但是随着更多的业务处理对系统提出更高的 要求,这种模式逐渐会暴露出许多缺点。如“胖客户机打现象,数据库服务器负 担过重,可维护性差,可移植性差等。更有甚者,有的企业对能源数据进行采集, 是派专人抄送仪器、仪表的数据,并逐级上报。这样的缺点是手工操作效率低, 不能满足大范围的数据采集需要。目前,好多企业意识到了上述缺点,因此企业 能源管理系统也由传统的两层c s 开发模式向多层b s 开发模式所演变。随着美 国s u n 公司推出的建立在j a v a2 平台上的企业级应用的解决方案j 2 e e ( j a v a2 e n t e r p r i s ee d i t i o n ) ,和j 2 e e 技术的日趋成熟,各种基于j 2 e e 技术的w e b 开源框 架也迅速的产生,如提出最早的s t r u t s 框架。因此,好多企业在开发自己的能源管 理系统时都选用s t r u t s + e j b 。然而,在这种架构体系中,其业务层主要是靠业务组 件e j b 来实现的。虽然e j b 一度被认为是j 2 e e 的核心组件,但它是典型的重量 级组件,具有部署复杂等缺点。 显而易见,以前的企业能源管理系统将会面i 临诸多的问题,急需一套轻量级 的解决方案。 目前,s t r u t s + s p r i n g + h i b e r n a t e 的联合框架已经风靡全球,几乎所有的软件 公司已经不再单纯的使用j s p + s e r v l e t + j a v a b e a n 来开发自己的项目,而是首先选 择一个优秀的框架,而s t r u t s 是其最好的选择。而最近两年h i b e r n a t e 技术的诞生 和在国外的风靡,直接使e j bc m p 2 0 退出了高端技术的舞台,写进了历史。 h i b e r n a t e 以其独到的设计,强大的功能,极高的运行效率,极少的内存空间消耗, 简洁的代码,清晰的文档等等,创造了j a v a 技术的一个奇迹。s p r i n g 作为一个应 用于所有层面的综合框架,具有强大的应用功能及灵活性,非常适合作为一些大 规模软件项目的底层平台。随着这三种技术的不断升级,不断完善和可扩展性的 不断增强等,使其功能越来越强大。s t r u t s + s p r i n g + h i b e r n a t e 技术现已成为目前 国外众多知名软件企业最主流的应用技术,也是j 2 e e 未来发展的趋势。 目前s t r u t s + s p r i n g + h i b e r n a t e 的联合框架也风靡了中国,国内众多软件企业 已开始认识到s t r u t s + s p r i n g + h i b e r n a t e 的联合框架的卓越功能和发展趋势。因此 成为企业能源管理系统的首选开发框架。 目前企业能源管理系统的发展已经比较成熟,然而现在规划的是面临2 1 世纪 的系统,要经得起时代的考验。因此,在技术上要追求先进。当今社会,效率决 第1 章绪论 定盈利,这就决定了现代系统最重要的目标就是高效性,这也是系统针对以往系 统的改进之处。这一点将在系统实现部分讲述。 1 3 论文研究的主要内容及各章节的安排 论文介绍了如何将基于j 2 e e 的s t r u t s + s p r i n g + h i b e r n a t e 轻量级框架应用到 企业能源管理系统的开发中,以提高信息系统的可复用性,可扩展性和可维护性。 论文首先对相关的知识背景以及所用到的各项技术进行了介绍。其次进行了整个 系统的总体设计,从开发环境,包括软件环境和开发工具的介绍,到功能设计、 数据库设计。又列举了三个模块的实现,来说明本系统的详细设计。最后对本课 题的研究工作进行了总结,并展望了下一步的工作。 论文的各章节安排如下: 第l 章:绪论。阐述了课题的背景,以及当前企业能源管理系统的现状和发 展趋势。 第2 章:j 2 e e 相关知识。阐述了j 2 e e 概述、架构、应用组件和容器,以及 j 2 e e 提供的标准服务。 第3 章:s t r u t s + s p r i n g + h i b e m a t e 整合框架研究。首先,分别阐述了s t r u t s 、 s p r i n g 以及h i b e r n a t e 三种框架的基本构成与工作原理;又把三种框架结合在一起 详细分析了s t r u t s + s p r i n g + h i b e r n a t e 整合框架的体系结构以及优点。 第4 章:基于j 2 e e 的企业能源管理系统的总体设计。这一章主要介绍了系统 总体功能的设计以及数据库的设计。 第5 章:基于j 2 e e 的企业能源管理系统的实现。主要介绍在应用中s p r i n g 、 s t r u t s 、h i b e r n a t e 三种框架的具体配置与实现过程,以及相关页面的设计与实现。 沈阳理工大学硕士学位论文 2 1j 2 e e 概述 2 1 1j 2 e e 的概念 第2 章j 2 e e 相关知识 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 ) 是美国s u n 公司推出的一个适用于企业 级计算的支持多层、分布式应用的全新概念的j a v a 平台。目前,j a v a2 平台有3 个版本,它们是适用于小型设备和智能卡的j 2 m e ,适用于桌面系统的j a v a2 平台 标准版j 2 s e ,适用于创建服务器应用程序和服务的j a v a2 平台企业版j 2 e e 。 j 2 e e 技术的基础便是j a v a2 平台,是一种利用j a v a2 平台来简化企业解决方 案的开发、部署和管理相关的复杂问题的体系结构。j 2 e e 不仅巩固了标准版中的 许多优点,例如“编写一次、随处运行 的特性以及j 2 s e 平台的所有功能,同时 还提供了对e j b ,s e r v l e t ,j s p ,x m l 等技术的全面支持,j 2 e e 已经成为企业级 开发的工业标准和首选平台。这种开放性的标准,使得用户具有更多的选择性, 不仅能够帮助开发者节省许多时间用于分析构建客户的业务模型,而且可以在同 一平台上构建各个信息系统,使得信息系统之间的相互通信、信息共享变得非常 简单。因此,j 2 e e 已成为当前构建企业信息系统的主流技术。 2 1 2j 2 e e 的优势 j 2 e e 平台为企业应用提供了大量好处t 第一,j 2 e e 在各种领域内创建了适用于企业计算需要的一系列标准,如数据 库建立、企业业务组件、面向信息的中间件( m o m ) 、w e b 相关组件、通信协议、 协同工作等。 第二,j 2 e e 基于开放的标准,可以使先进的技术更好地发展,保护技术投资。 第三,j 2 e e 提供开发组件的标准平台,适用于不同的供应商,有效地避免了 供应商独立封装的局面。 4 第2 章j 2 e e 相关知识 第四,j 2 e e 缩短了产品投入市场的时间。绝大多数供应商的产品的基础架构 或部件都是遵循j 2 e e 指定标准而开发,因此,现在的i t 机构可以摆脱中间件的 困扰而专注于自己的业务应用。 第五,j 2 e e 提高了编程效率,因为j a v a 程序员可以在j a v a 语言基础上相对容 易地掌握j 2 e e 技术。所有企业软件的开发都可以在j 2 e e 平台上使用j a v a 作为编 程语言来实现。 最后,j 2 e e 提高了现有不同种类开发环境的协同工作能力【i j 。 2 2j 2 e e 平台 2 2 1j 2 e e 构架 j 2 e e 构架是一个多层结构,如图2 1 所示。 用户层 厂 w r e b 层 广 业务层 厂 e i s 层 厂 图2 1j 2 e e 构架 j 2 e e 架构包含以下几层: 用户层:用来与用户交互,并把来自系统的信息显示给用户。j 2 e e 平台支持 不同类型的用户,包括h t m l 用户、j a v aa p p l e t s 和j a v a 应用等。 w e b 层:w e b 层产生表示逻辑,并接受来自表示客户端的用户反馈,这些表 示客户端通常为h t m l 客户端、j a v aa p p l e t s 和其他的w e b 客户端。在所接收的客 户端请求的基础上,表示层对用户的请求产生相应的回应。j 2 e e 平台中,是由 w e b 容器内的s e r v l e t 和j s p 来实现这一层的。 业务层:这一层处理应用的核心业务逻辑。业务层为低层业务服务组件提供 沈阳理工大学硕士学位论文 必要的接口。业务组件通常被实现为e j b 容器内的e j b 组件。其中,e j b 容器提 供组件生命周期,管理持久性、事务和资源分配等。 企业信息系统层( e i s ) :这一层为企业的信息系统服务,包括数据库系统、 事务处理系统、遗产系统和企业资源计划系统等。e i s 层是j 2 e e 应用于非j 2 e e 应用或遗产系统集成的连接点。 2 2 2j 2 e e 应用组件和容器 j 2 e e 组件容器支撑j 2 e e 平台的应用组件。容器为现有组件和服务于客户端 的组件提供必要构架和支撑的服务。容器通常作为一个j a v a 兼容的运行环境为组 件提供服务。 j 2 e e 平台的核心应用组件有: j a v a 应用组件:运行在应用容器内的独立的j a v a 程序。 a p p l e t 组件:运行在a p p l e t 容器内,通常由w e b 浏览器支持。 s e r v l e t 和j s p :运行在w e b 容器内的w e b 层组件。s e r v l e t 和j s p 提供动态表 现页面内容的机制,包括页面内容的准备、处理和显示的格式等。 e j b 组件:运行在e j b 容器内的业务组件( 通常绑定到某个应用服务器产品 中) 。e j b 组件,或称企业b e a n ,分为会话b e a n 和实体b e a n 两类。会话b e a n 是适 用于事务处理和工作流的企业b e a n 。会话b e a n 分有状态的和无状态的两种。有状 态会话b e a n 在客户端调用方法时,保留客户端的状态:而无状态会话b e a n 在客户 调用方法时,不保留客户端的状态。当不需要保存状态时使用无状态会话b e a n , 它可以提供比有状态会话b e a n 更好的执行性能。而当一些状态需要保存时,则使 用有状态会话b e a n 。会话b e a n 实例适用于单独的用户会话,不能被多个用户共享。 当业务组件需要保留并在多个用户间共享的情况下,我们可以使用实体b e a n 。实 体b e a n 持久性的管理方法分为b e a n 管理持久性( b ) 和容器管理持久性( c m ) 。 当b e a n 开发者在b e a n 中实现所有保留状态的机制时,我们使用b m p 。当b e a n 开 发者不需要在b e a n 中实现所有保留状态的机制时,我们使用c m p 。相反地,b e a n 开发者指定b e a n 属性和持久性存储之间必要的对应关系,并由容器来完成状态保 留工作。 第2 章j 2 e e 相关知识 2 2 3 标准服务 j 2 e e 平台的每一个产品都提供标准服务。这些标准服务也包括a p i ,其中这 些a p i 是j 2 e e 每一个产品都必须提供给应用组件的,以便应用组件可以访问这些 标准服务。 j 2 e e 平台的标准服务如下: j d b c ( j a v ad a t a b a s ec o n n e c t i v i t y ,j a v a 数据库连接) a p i 是一个标准 s q l ( s t r u c t u r e dq u e r yl a n g u a g e ,结构化查询语言) 数据库访问接口,它使数据库开 发人员能够用标准j a v a a p i 编写数据库应用程序。j d b ca p i 主要用来连接数据库 和直接调用s q l 命令执行各种s q l 语句。利用j d b ca p i 可以执行一般的s q l 语句、动态s q l 语句及带玳和o u t 参数的存储过程。j a v a 中的j d b c 相当与 m i c r o s o f t 平台中的o d b c ( o p e nd a t a b a s ec o n n e c t i v i t y ) 。 j m s ( j a v am e s s a g es e r v i c e ,j a v a 消息服务) 是一组j a v a 应用接口,它提供创建、 发送、接收、读取消息的服务。j m sa p i 定义了一组公共的应用程序接口和相应语 法,使得j a v a 应用能够和各种消息中间件进行通信,这些消息中间件包括m m m q s e r i e s 、m i c r o s o f tm s m q 及纯j a v a 的s o n i c m q 。通过使用j m sa p i ,开发人 员无需掌握不同消息产品的使用方法,也可以使用统一的j m sa p i 来操纵各种消 息中间件。通过使用j m s ,能够最大限度地提升消息应用的可移植性。j m s 既支 持点对点的消息通信,也支持发布订阅式的消息通信。 由于j 2 e e 应用程序组件一般分布在不同的机器上,所以需要一种机制以便于 组件客户使用者查找和引用组件及资源。在j 2 e e 体系中,使用j n d i ( j a v a n a m i n g a n dd i r e c t o r yi n t e r f a c e ) 定位各种对象,这些对象包括e j b 、数据库驱动、j d b c 数 据源及消息连接等。j n d ia p i 为应用程序提供了一个统一的接口来完成标准的目 录操作,如通过对象属性来查找和定位该对象。由于扑d i 是独立于目录协议的, 应用还可以使用j n d i 访问各种特定的目录服务,如l d a p 、n d s 和d n s 等。 j t a ( j a v at r a n s a c t i o na p i ) 提供了j 2 e e 中处理事务的标准接口,它支持事务的 开始、回滚和提交。同时在一般的j 2 e e 平台上,总提供一个j t s ( j a v at r a n s a c t i o n s e r v i c e ) 作为标准的事务处理服务,开发人员可以使用j t a 来使用j t s 。 j c a ( j 2 e ec o n n e c t o r a r c h i t e c t u r e ) 是j 2 e e 体系架构的一部分,为开发人员提供 沈阳理工大学硕士学位论文 了一套连接各种企业信息系统( e i s ,包括e r p 、s c m 、c r m 等) 的体系架构,对于 e i s 开发商而言,它们只需要开发一套基于j c a 的e i s 连接适配器,开发人员就 能够在任何的j 2 e e 应用服务器中连接并使用它。基于j c a 的连接适配器的实现, 需要涉及j 2 e e 中的事务管理、安全管理及连接管理等服务组件。 j m x ( j a v am a n a g e m e n te x t e n s i o n s ) 的前身是j m a p i 。j m x 致力于解决分布式 系统管理的问题。j m x 是一种应用编程接口、可扩展对象和方法的集合体,可以 跨越各种异构操作系统平台、系统体系结构和网络传输协议,开发无缝集成的面 向系统、网络和服务的管理应用。j m x 是一个完整的网络管理应用程序开发环境, 它同时提供了厂商需要收集的完整的特性清单、可生成资源清单表格、图形化的 用户接口;访问s n m p 的网络a p i ;主机间远程过程调用;数据库访问方法等。 j a a s ( j a v aa u t h e n t i c a t i o na n da u t h o r i z a t i o ns e r v i c e ) 实现了一个j a v a 版本的标 准p l u g g a b l ea u t h e n t i c a t i o nm o d u l e ( p a m ) 的框架。j a a s 可用来进行用户身份的鉴 定,从而能够可靠并安全地确定谁在执行j a v a 代码。同时j a a s 还能通过对用户 进行授权,实现基于用户的访问控制。 j a c c ( j a v aa u t h o r i z a t i o ns e r v i c ep r o v i d e rc o n t r a c tf o rc o n t a i n e r s ) 在j 2 e e 应用 服务器和特定的授权认证服务器之间定义了一个连接的协约,以便将各种授权认 证服务器插入到j 2 e e 产品中去。 通过使用j a x r p c ( j a v aa p if o rx m l - b a s e dp j c ) ,已有的j a v a 类或j a v a 应用 都能够被重新包装,并以w e bs e r v i c e s 的形式发布。j a x r p c 提供了将r p c 参数 ( i n o u t ) 编码和解码的a p i ,使开发人员可以方便地使用s o a p 消息来完成r p c 调 用。同样,对于那些使用e j b ( e m e r p f i s ej a v a b e a n s ) 的商业应用而言,同样可以使 用j a x r p c 来包装成w e b 服务,而这个w e bs e r v i c e 的w s d l 界面是与原先的 e j b 的方法是对应一致的。j a x r p c 为用户包装了w e b 服务的部署和实现,对 w e b 服务的开发人员而言,s o a p w s d l 变得透明,这有利于加速w e b 服务的开 发周期。 j a x r ( j a v aa p if o rx m l r e g i s t r i e s ) 提供了与多种类型注册服务进行交互的 a p i 。j a x r 运行客户端访问与j a x r 规范相兼容的w e bs e r v i c e s ,这里的w 曲 s e r v i c e s 即为注册服务。一般来说,注册服务总是以w e bs e r v i c e s 的形式运行的。 j a x r 支持三种注册服务类型:j a x rp l u g g a b l ep r o v i d e r 、r e g i s t r y - s p e c i f i cj a x r 第2 章j 2 e e 相关知识 p r o v i d e r 、j a x rb r i d g ep r o v i d e r ( 支持u d d ir e g i s t r y 和e b x m lr e g i s t r y r e p o s i t o r y 等) 。 s a a j ( s o a p w i t ha t t a c h m e n t sa p if o rj a v a ) 是j a x r p c 的一个增强,为进行低 层次的s o a p 消息操纵提供了支持【2 】。 一9 沈阳理工大学硕士学位论文 第3 章s t r u t s + s p r i n g + h i b e r n a t e 整合框架研究 3 1 实现l v i v c 机制的s t r u t s 框架 3 i 1m v c 模式 m v c 是m o d e l v i e w - c o n t r o l l e r 的缩写,即模型视图控制器。m v c 是x e r o x p a r c 在八十年代为编程语言s m a l l t a l k - 8 0 发明的一种软件设计模式,至今已被广 泛使用。被推荐为s u n 公司j 2 e e 平台的设计模式,受到越来越多的w e b 开发者 的欢迎。 m v c 是一种设计模式,它强制性地把应用程序的输入、处理和输出分开。m v c 把应用程序分成三个核心模块:模型、视图和控制器,它们分别担负不同的任务。 图3 1 显示了这几个模块各自的功能以及它们之间的相互关系。 _ 方法调用 通知数据更新 事件 图3 1m v c 设计模式 视图视图是用户看到并与之交互的界面。视图向用户显示相关的数据, 并能接收用户的输入数据,但是它并不进行任何实际的业务处理。视图可以向模 第3 章s t r u t s + s p r i n g + h i b e r n a t e 整合框架研究 型查询业务状态,但不能改变模型。视图还能接受模型发出的数据更新事件,从 而对用户界面进行同步更新。 模型模型是应用程序的主体部分。模型表示业务数据和业务逻辑。一个 模型能为多个视图提供数据。由于同一个模型可以被多个视图重用,所以提高了 应用的可重用性。 控制器控制器封装的是外界作用于模型的操作,控制器接收用户的输入 并调用模型和视图完成用户的请求,在模型和视图之间起到了沟通的作用。当w e b 用户单击页面中的提交按钮发送h t m l 表单时,控制器接受请求并调用相应的模 型组件处理请求,然后调用相应的视图显示模型返回的数据p j 。 3 1 2s t r u t s 框架概述 随着m v c 模式的广泛使用,催生了m v c 框架的产生。在所有的m v c 框架 中,出现最早,应用最广的就是s t r u t s 框架。 s t r u t s 是a p a c h e 软件基金组织j a k a r t a 项目的一个子项目,s t r u t s 的前身是 c r a i g r m c c l a n a h a n 编写的j s pm o d e l 2 架构。 s t r u t s 在英文中是“支架、支撑的意思,这表明了s t r u t s 在w e b 应用开发 中的巨大作用,采用s t r u t s 可以更好地遵循m v c 模式。此外,s t r u t s 提供了一套 完备的规范,以及基础类库,可以充分利用j s p s e r v l e t 的优点,减轻程序员的工 作量,具有很强的可扩展性。 3 1 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 m a p p i n g 、a c t i o nb e a n 、a c t i o n f o r m b e a n 、s t r u t s 标记库1 4 1 。 a c t i o n s e r v l e t :控制器组件。是由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 类的扩展,它是这一框架的核心。我们 可以把它看作是s t r u t s 结构的w e b 应用的调度程序,调度的依据由a c t i o n m a p p i n g 对象提供。它的基本功能是截获用户的h t t p 请求,并将用户请求封装到a c t i o n f o r m 中进行数据校验,校验成功后,将用户数据a c t i o n f o r m 传送到相应的a c t i o n 中进 行业务逻辑处理,并根据处理结果返回一个a c t i o n f o r w a r d 对象,此对象连接到相 1 1 沈阳理工大学硕士学位论文 应的j s p 页面。 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 m a p p i n g 则为a c t i o n s e r v l e t 指明了具体执行路线,是s t r u t s 体系结构的具体 体现者。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 f o r m 数据属性、是否需要进行数据校验和回写、a c t i o n 数 据处理、输入页面、以及处理完成后可能跳转的页面等一组属性信息,这组属性 信息构成一个a c t i o n m a p p i n g 对象,它决定了该项请求的处理过程。 a c t i o n f o r m :a c t i o n f o r m 类是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 f o r m 扩展类,程 序开发人员为每个表单都创建一个a c t i o n f o r mb e a n ,以维护w e b 应用程序的会 话状态,但一个a c t i o n f o r m 可以对应多个表单,具有很好的重用性。它要求为表 单中出现的每个字段定义一个属性,是视图与模型进行数据交换的桥梁。使用它 的目的是为了存储用户在相关表单中输入的数据,在数据校验通过后,由控制器 传送给相应的a c t i o n 进行业务逻辑操作,同时在数据校验失败后,将同一网页进 行再生,并提供一组错误信息,这样就可以让用户只修改错误的录入数据。 a c t i o n :所有a c t i o n 类都是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 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 类应控制应用程序的流程,而不是控制应用程序的业务逻辑。 通常将业务逻辑放在j a v a b e a n 或e j b 中处理,这样就可以为我们的w e b 应用提供 更大的灵活性和可重用性。 s t r u t s 标记库:j s p 视图组件所使用的s t r u t s 标记库由四类标记组成,它们分 别是: b e a n 标记:用来在j s p 页面中管理b e a n 。 逻辑标记:用来管理根据条件生成的输出文本和其它一些用来控制显示的信 息。 h t m l 标记:用来生成动态h t m l 用户界面和窗体。 模板标记:使用动态模板构造通用格式的页面模板,实现页面的继承性和可 第3 章s t r u t s + s p r i n g + h i b e r n a t e 整合框架研究 重用性。 s t r u t s 标记库功能强大,内容非常丰富,在此不再赘述,充分使用这些标记, 能最大限度地发挥s t r u t s 的作用。 3 1 4s t r u t s 的体系结构 s t r u t s 作为m v c 模式的典型实现,对m o d e l 、v i e w 和c o n t r o l l e r 都提供了对 应的实现组件,其具体的实现如图3 2 所示。 洲一桃t s - c o r n f i g x m l l ,( m o d e l ) j a v a b e a a ( c o n t r o l l e r ) 义u 多 ;杉 l i r a c t i o n s e r v l 武 l 浏览器卜 w | e b 服务器 日 t ( v i e w ) j s p 图3 2s t r u t s 框架结构图 下面结合该图对s t r u t s 架构的工作原理简单介绍,l 。 1 m o d e l 部分 s t r u t s 的m o d e l 部分由a c t i o n f o r m 和j a v a b e a n 组成。其中a c t i o n f o r m 用于封 装用户请求参数,所有的用户请求参数由系统自动封装成a c t i o n f o r m 对象;该对 象被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 根据a c t i o n f o r m 里的请求参数处理 用户请求。 而j a v a b e a n 则封装了底层的业务逻辑,包括数据库访问等。在更复杂的应用 中,j a v a b e a n 所代表的绝非一个简单的j a v a _ b e a n ,可能是e j b 组件或者其他的业 务逻辑组件。该m o d e l 对应图3 2 的m o d e l 部分。 2 v i e w 部分 s t r u t s 的v i e w 部分采用j s p 实现。s t r u t s 提供了丰富的标签库,通过这些标签 1 3 沈阳理工大学硕士学位论文 库可以最大限度地减少脚本的使用。这些自定义的标签库可以实现与m o d e l 的有 效交互,并增加了显示功能。对应图3 2 的j s p 部分。 整个应用由客户端请求驱动,当客户端请求被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 根据请求决定是否需要调用m o d e l 处理用户请求,当用户请求处理完 成后,其处理结果通过j s p 呈现给用户。 3 c o n t r o l l e r 部分 s t r u t s 的c o n t r o l l e r 由两个部分组成:系统核心控制器和业务逻辑控制器。 其中,系统核心控制器对应图3 2 中的a c t i o n s e r v l e t 。该控制器由s t r u t s 框架 提供,继承h t t p s c r v l c t 类,因此可以配置成一个标准的s e r v

温馨提示

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

评论

0/150

提交评论