




已阅读5页,还剩64页未读, 继续免费阅读
(电力系统及其自动化专业论文)基于广域网的电网企业线损指标管理系统.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
声明 本人郑重声明:此处所提交的硕士学位论文基于广域网的电网企业线损指标 管理系统,是本人在华北电力大学攻读硕士学位期间,在导师指导下进行的研究 工作和取得的研究成果。据本人所知,除了文中特别加以标注和致谢之处外,论文 中不包含其他人已经发表或撰写过的研究成果,也不包含为获得华北电力大学或其 他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 学位论文作者签名:金盘羞 日期: 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有权 保管、并向有关部门送交学位论文的原件与复印件;学校可以采用影印、缩印或 其它复制手段复制并保存学位论文;学校可允许学位论文被查阅或借阅;学校 可以学术交流为目的。复制赠送和交换学位论文;同意学校可以用不同方式在不同 媒体上发表、传播学位论文的全部或部分内容。 ( 涉密的学位论文在解密后遵守此规定) 作者签名: 日期: 导师签名: 日 必篡 期:盏叫 华北电力大学硕士学位论文 1 1 引言 第一章绪论 随着现代科学技术的飞速发展,以网络应用为核心的信息技术,正在逐步深入 地渗透到现代社会的各个行业。“信息”已经和“物质”“能源”一同构成了人类可 资利用的三大战略资源,并和“资本”、“劳动力”并列为经济发展的三大要素。 我国电力行业是应用信息技术较早的行业之一,信息技术在电力工业的应用起始于 2 0 世纪6 0 年代。经过多年的实践与不断地改进,我国电力企业信息化总体说来已 经处于一个较高的水平上。m 这里所说的电力企业信息化,是指信息技术在电力企业应用的全过程的统称, 是电力企业在电子信息与计算机通信技术的双重驱动下由传统企业向高度知识化、 高度集约化、高度技术化企业转变的过程。电力企业信息化包括两方面,即生产过 程自动化和管理信息化瞄1 。管理信息化的实质是,企业的管理基于真实、全面的数 据,企业在信息系统的支持下科学决策。由于电力生产安全性与稳定性的要求,电 力企业对生产、调度过程控制的自动化应用一向比较重视,而对业务管理信息化的 重视却相对不足。因此,随着管理信息系统的建设与应用的逐渐推广,管理信息系 统将有很大的发展空间。 基于广域网的电网企业线损指标管理系统是电网企业管理系统下的一个子系 统,涉及供电企业多个部门。它主要用于电网企业对线损指标进行相关的各种管理 工作,并充分利用网络技术的优势,为上层领导及时掌握电网企业信息,做出相应 决策等管理工作提供一套可靠、准确的基础信息。电网企业生产指标涵盖得范围很 广,主要包含:电压和无功指标,线损指标,可靠性指标,调度指标,变电运行指 标和线路指标等指标。其中线损指标,反映的是电力网电能损耗情况,是电网生产 经营企业综合性技术经济指标,也是表征电力系统规划设计水平和经营管理水平的 一项综合性技术经济指标。 1 2 现状 近年来,随着电力体制改革的深入和技术的进步,国家电网公司系统顺应新形 势的要求,于2 0 0 5 年确定为“同业对标年”,其中线损率、电压合格率和可靠性是 对标中的重中之重。各地市供电公司为了缓解抄表人员的工作压力,提高基础数 据的准确性,降低人为因素对线损管理工作的影响,大力推广和使用自动抄表系统, 华北电力大学硕士学位论文 并逐步建立起电网线损在线监测及分析系统。该系统能及时掌握线损变化、查找线 损升降因素,对降损增效具有重要的意义。 目前,基于广域网的电网企业线损指标管理系统尚没见报道。在过去的近2 0 年中, 电力生产管理系统已经从当初的单机模式,发展到今天基于局域网、广域网的( 大) 集 中式、分布式系统;系统的功能也从当初简单的单业务系统( 如变电设备管理、变电运 行管理、操作票管理等) 发展到今天的覆盖多专业( 变电运行、变电检修、线路运行、 调度等) 的综合业务系统。无数的系统开发人员和电力系统工作人员为之付出了大量的 辛勤劳动,多数供电企业不止一次地投入人力、物力、财力进行生产管理系统的建设, 但由于种种原因,全面达到预期效果的甚少。 比如,文献 4 根据吉林省电力有限公司对网损计算的具体要求,开发出一套具有 很强数据管理功能和方便的图形界面维护,并可生成报表的电力网网损计算系统。文献 5 2 研究了西北电网在甘肃电网中引起的过网网损问题,提出了具体的计算方法。可以 看出,现有的线损、网损管理系统大都倾向于理论线损的计算,基本上都是针对具体问 题而提出的解决方案。 相比较而言,国外电力企业的信息化建设则开始的比国内要早,有比较系统、规范 的标准,因而,整体系统的综合预期效果比较好。通过比较可以发现,在企业信息化应 用程度的广度和深度上都有很大的差距嘲。 1 、在应用广度上,需从局部应用向全局应用拓展。国内电力企业信息化大多旨在 个别部门中利用计算机软硬件来减轻劳动强度、提高工作效率和准确度的局部应用,各 个己建立的信息管理系统多是为解决单个问题而设计开发的,只是一个个孤立的系统, 不便于相互间的信息传递与共享。而国外电力企业的管理信息系统建设较为完善,覆盖 了生产、销售、财务、人事等贯穿企业整个业务流程的几乎所有模块的信息化实现,并 在这些功能模块中交换、传递数据和信息,形成统一功能的集成系统。 2 、在应用深度上,国内电力企业信息化应用大多处于信息统计层面,实现信息的 收集,记录,查看和报表等简单的业务功能,对企业影响不大;而国外先进电力行业大 都较深程度的利用了信息化系统集成功能来整合企业内外资源,为企业的综合管理和决 策提供了有力的支持,对增强企业效益非常显著。 1 3 存在的问题 对于信息系统开发达不到预期效果的问题,在国内电力企业信息化建设中是比 较普遍的问题,而饭店、银行、图书馆等行业的信息系统的开发却相当成功。以饭 店为例,如果它能够达到一定的级别,比如:三星级,那么它的管理、数据处理流 程必定满足了相应的标准,一定是规范的,因此,只要模拟了原始的数据处理流程, 进行系统开发,就能较好地发挥出系统的效益。而且,由于管理流程的标准化,所 2 华北电力大学硕士学位论文 开发的系统还能推广。而电力企业,则由于它特有的行业特性,其管理方式和数据 处理流程则是自然形成的,是不规范的,也是非标准化。这样的数据处理流程比较 凌乱,即使是用手工的数据处理方式来衡量,也存在很多不合理的地方,更不适合 用计算机系统处理。也就更不用考虑提高企业效益的问题。而现有的系统开发大多 是着眼于如何用计算机系统模拟原有的数据处理流程,这就是出现问题的根源。 因此,如何利用现有的技术解决好这种复杂的业务管理问题,是电力企业信息 化的关键所在。本文主要是利用已有的软件技术,通过对系统整体框架结构的设计, 来满足实际工作中对系统开放性和安全性的要求,以提高线损的管理水平,提高电 力企业的经济效益。 以线损指标管理信息系统为例,虽然目前国内已有的线损指标管理信息系统在 一定程度上完成了线损指标的管理工作,但还存在一定的问题,概括出如下几点: ( 1 ) 现有的指标管理系统大部分都是针对具体问题开发设计的,分散使用, 各具特点。由于缺乏统一的标准,各系统的数据库设计也是在具体问题的基础上开 发的,不便于以后不同系统间的相互交流,数据共享。形成了所谓的“信息孤岛”。 ( 2 ) 数据处理方面,能够完成基本数据的录入,查询和维护,并能够实现报 表的上报,打印等功能。但是没有各级供电局的指标汇总,计算与分析功能,不利 于对整体的生产状况的把握。 ( 3 ) 系统开放性与安全性设计方面,己投入使用的系统多数是面向生产技术 人员或专责人员,不适于放在全局范围内使用。更不用说不同级别、不同地区供电 公司间的信息交流。而且,大多数系统的安全性只是通过简单的用户名和密码来加 以限制,很少考虑到如何真正解决系统的开放性和安全性问题。 1 4 本文主要完成的工作 本文正是针对上述问题,提出了基于广域网的电网企业线损指标管理系统。本课题 研究的工作特色及技术难点可概括为: ( 1 ) 系统的开放性设计,解决在不修改程序的情况下,通过多级指标计算公式的 定义,自动完成全地区、全省以及全国线损、网损等指标的计算和统计分析; ( 2 ) 系统的安全性设计,解决如何构建系统的授权体系,使系统既可在多个市局、 省局独立运行,也可全国联网运行。 本文主要完成了以下具体的工作: 1 、查阅大量资料,了解了目前国内电力企业信息化发展的程度,并总结出已 有各个线损指标管理系统存在的问题。针对问题,结合线损管理工作的特点,提出 了该基于广域网的电网企业线损指标管理系统的设计思路。 2 、结合电网企业线损指标管理的实际需求,首次实现了开放的线损指标管理 3 华北电力大学硕士学位论文 系统数据库和业务逻辑设计,使得从基层班组到市、省以至国家电网公司管理层都 可以采用同一套库表结构,统一了底层的数据结构。 3 、在表示层利用j s p 技术,对页面进行设计,实现了页面代码与j a v a 代码的 分离。主要完成了变电站维护、间隔单元维护、月电量录入、月电量查询等基本功 能页面。并结合实际需要,能够实现整变电站、整间隔单元的多条记录一次添加, 对应各记录的数据属性也能按照以维护好的状态自动添加进来。 4 、通过中间层实现用户与底层数据的交互。将复杂、繁琐的业务逻辑处理放 在中间层,完成了多个接口的设计和实现,比如:变电站维护、间隔单元维护、线 路维护等。采用业务委派模式,进一步将数据层和w e b 层分开,不仅简化了开发人 员的工作,而且使得程序具有较好的可读性。 5 、在与底层数据进行交互时,采用h i b e r n a t e 映射技术,将变电站、间隔单 元、月数据录入等数据结构映射到系统中,使系统能够方便的对数据库中多表进行 各种操作。 总体说来,在完成系统数据库表和功能模块设计的基础上,通过高强度地学习 j 2 e e 涉及的各项技术,做了大量的编程工作。使最终该系统采用的这种体系结构, 综合利用了各框架长处,具有良好的扩展性和可维护性,并有很大的发展空间。 4 华北电力大学硕士学位论文 2 1 需求分析 第二章系统总体设计 电力生产管理信息系统对指标管理的需求,主要体现在对各项指标完成情况的 统计、分析与汇总上。而指标管理所面对的对象,主要是各级指标管理专责人员和 上级领导,因此,就需要开发出一套适合各级电力公司使用的信息管理系统,使各 级指标能够及时,准确地上报,为公司的管理和各项生产活动的制定提供一个良好 的信息参照。 目前,各级供电公司基本上都有自己的管理信息系统,有自己独立的数据库系 统,完成日常的管理工作,但是在指标统计、汇总与上报方面,大多数仍采用传统 方式,手工统计各项指标,或者利用已有的系统,进行简单的报表制作,之后,仍 采用手工方式逐级上报、汇总各项指标。这不仅耗费很大的人力物力,降低了数据 的准确性,也不利于上级领导及时掌握本单位的实际情况,所以,开发出一套基于 广域网并具有开放性,安全性的指标管理信息系统很有必要。 2 2 系统总体结构设计 根据如上分析,本文提出一种新型的体系结构的指标管理信息系统,概括说来, 即是采用j 2 e e 技术,m v c 三层架构,研究开发的具有一定开放性和安全性的线损 指标管理信息系统。 该系统综合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 的框架体系,这是一种新型的b s 模 式的三层框架体系结构。该体系由s t r u t s 负责处理客户端交互的信息,利用j s p + s e r v l e t 进行动态页面的设计,实现了j a v a 代码与h t m l 页面代码的分离,便于日 后系统的维护;由s p r i n g 负责处理业务逻辑层的工作,充分利用它的控制反转特 性,发挥其各个组件之间具有松偶合的特性,便于程序以后的进一步扩展与移植; 由h i b e r n a t e 处理与数据库之间的信息交互,利用其功能强大的映射技术,可以有 效地进行数据库数据到业务对象的o r 映射方案,使得开发人员能专心实现业务逻 辑而不必考虑繁琐的数据库方面的操作。下面将逐一介绍开发该系统时涉及到的上 述各项技术。该系统体系结构如下图所示: 5 华北电力大学硕士学位论文 l a ,群 妇。删 p e f $ 1 s n c e l i 6 孽r s 帆j b ,僦 锚j劬的f 岛嬲矗、h i 渤8 悖 厂 n t r 鞠s a d j o n so 菇爱;a 删e s i r e sa 穗踟。 t e b e r e es e s s o n c 错撒e c l l o np o o t a 曲o n f o 悯j 铲 m a 目约e m 孽f o u e f y l a n 9 蝴辨 钥雠s 懈叼埘嚏 # 蚓n 韩等e r - t , e e s ”p p o l t a n d o t h e r e 征 r t a s s e s。 矗b e f p , a 德s e l h r s s nr 图2 - is t r u t s + s p r i n g + h i b e r n a t e 体系结构 目前,j a v a 平台有三个版本:适用于小型设备和智能卡的j 2 m e 、适用于桌面 系统的j 2 s e 和适用于企业级应用的j 2 e e 。s u n 公司推出的j 2 e e 的目的是为了克服 传统c i l e n t s e r v e r 模式的缺点,迎合b r o w s e r s e r v e r 架构的潮流,为应用j a v a 技术开发服务器端应用提供一个平台独立的、可移植的、多用户的、安全的和基于 标准的企业级平台,从而简化企业应用的开发、管理和部署。 在作为企业级应用方面,j 2 e e 涉及到的技术很广,比如:j d b c 、j s p 、s e r v l e t 、 h i b e r n a t e 等等。 2 3j 2 e e 的m v c 体系结构 2 3 1j 2 e e 介绍 j 2 e e ,即j a v a 2 平台企业版( j a v a2p l a t f o r me n t e r p r i s ee d i t i o n ) ,是s u n 公司为企业级应用推出的标准平台( p l a t f o r m ) 。j a v a 的优势即在于基于w e b 的信息 管理系统开发,这刚好满足了目前电力企业管理信息系统的需要。j 2 e e 与传统的互 联网应用程序模型相比有着不可比拟的优势,主要体现在它降低了开发中间层服务 的成本和复杂程度,使服务可以被快速展开,并能够轻松的与企业已有的信息系统 相结合。 j 2 e e 架构是当前主流的架构之一,目前大多数企业采用j 2 e e 技术的结构设计 与解决方案。j 2 e e 体系结构提供中间层集成框架用来满足无需太多费用而又需要高 可用性、高可靠性以及可扩展性的应用的需求。j 2 e e 架构的特点可概括如下: ( 1 ) 高效的开发 j 2 e e 允许公司把一些通用的、很繁琐的服务端任务交给中间件供应商去完成。 这样开发人员可以集中精力在如何创建各自的业务逻辑上,相应地缩短了开发时 6 华北电力大学硕士学位论文 间。 ( 2 ) 支持异构环境 j 2 e e 能够开发部署在异构环境中的可移植程序。基于j 2 e e 的应用程序不依赖 任何特定操作系统、中间件、硬件。因此设计合理的基于j 2 e e 的程序只需开发一 次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。 ( 3 ) 可伸缩性 企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足 那些在他们系统上进行商业运作的大批新客户。基于j 2 e e 平台的应用程序可被部 署到各种操作系统上。例如可被部署到高端u n i x 与大型机系统,这种系统单机可 支持6 4 至2 5 6 个处理器。j 2 e e 领域的供应商提供了更为广泛的负载平衡策略。能 消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现 可高度伸缩的系统,满足未来商业应用的需要。 多年来,高端部署一直采用二层结构。现在出现了中问层,即目前比较流行的 三层体系结构。j 2 e e 体系结构即是基于三层模型的,如下图所示。其中,第一层是 表示层,中间层是业务逻辑层,最后一层是数据层。 困 j 2 e e j 1 务器 w e b 容器 运行s e r v l e 伽s p e j b 容器 运行e j b 图2 2j 2 e e 体系结构 表示层由处理用户接口和用户交互的组件所组成。在基于w e b 部署的情况下, 表示层可以包含j s p 、h p p l e t 或s e r v l e t 。s e r v l e t j s p 生成包含动态内容的网页。 它们还解析客户端提交的网页并将网页传递到企业j a v a b e a n 进行处理。这些组件 由位于客户端机器的应用程序客户端容器管理。所有应用程序客户端及其容器都在 客户端系统上运行。 业务逻辑层由解决业务问题的组件所组成。此层由两个容器组成,它们是w e b 容器和e j b 容器。所有j s p 和s e r v l e t 组件都由一个w e b 容器管理。所有w e b 组件 及其容器都在j 2 e e 服务器上运行。 企业j a v a b e a n 负责逻辑式验证和运算以及为应用程序提供数据访问。所有企 业b e a n 都由企业j a v a b e a n 容器管理。所有这些企业b e a n 及其容器都在j 2 e e 服务 7 华北电力大学硕士学位论文 器上运行。 数据层由一个或多个数据库组成,并可包含存储过程。在j 2 e e 下,e j b 使用 j d b c 接口访问数据库,而现在出现了一种对于j d b c 轻量级的对象封装的技术,即 数据持久层解决方案:h i b e r n a t e 技术。后面将详细介绍它是如何实现数据持久化 的。 2 3 2m v c 体系结构 模型一视图一控制( m o d e l v i e w - c o n t r o l l e r ,简称m v c ) 结构是目前最常见的 j 2 e e 应用所基于的体系结构。 m v c ( m o d e l v i e w c o n t r o l l e r ) 是八十年代为编程语言s m a l i t a l k 一8 0 发明的一 种软件设计模式。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 将这些对象分离以提高灵活性和复用性。m v c 模式的结构如下图所示: 2 4s p rin g 框架 2 4 1s p r i n g 介绍 图2 - 3m v c 设计模式的结构“ s p r i n g 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框 架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 j 2 e e 应用程序开发提供集成的框架。它是以r o dj o h s o n 编著的e x p e r to n e o n o n e 8 华北电力大学硕士学位论文 j 2 e ed e s i g na n d d e v e l o p m e n t 一书的代码为基础发展而来。 s p r i n g 是一个轻量级容器,它所带的包装器使许多不同的服务和框架更易于使 用。轻量级容器接受任何j a v a b e a n ,而不是只接受特定类型的组件。 s p r i n g 提供的控制反转( i n v e r s i o no fc o n t r o l ,i o c ) 和面向方向编程插件式架 构降低了应用组件之间的依赖性借助于x m l 定义文件,开发者能够在运行时连接不 同的应用组件。 s p r i n g 在依赖注入的基础上,同时还提供了其他大量的功能,比如s p r i n gm v c 框架,d a o 支持,支持主流的o rm a p p i n g 工具,支持各种标准j 2 e e 组件技术的集成、 各种视图技术。 s p r i n g 的特点概括如下: ( 1 ) s p r i n g 的核心是提供了一种新的机制来管理业务对象及其依赖关系。如: 利用i o c ( 反转控制) ,指定一个d a o 类依赖一个d a t a s o u r c e 类。 ( 2 ) 允许开发人员通过接口编程,使用x m l 文件来简单的定义其实现。 ( 3 ) 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 框架是一个分层架构,它由7 个定义良好的模块组成。 s p r i n g 模块构建在核心容器之上,核心容器定义了创建、配置和管理b e a n 的方 式,如图2 3 所示。 图2 4s p r i n g 框架的7 个模块 组成s p r i n g 框架的每个模块( 或组件) 都可以单独存在,或者与其他一个或 多个模块联合实现。每个模块的功能如下: 核心容器:核心容器提供s p r i n g 框架的基本功能。核心容器的主要组件是 b e a n f a c t o r y ,它是工厂模式的实现。b e a n f a c t o r y 使用控制反转( i o c ) 模式将 应用程序的配置和依赖性规范与实际的应用程序代码分开。 s p r i n g 上下文:s p r i n g 上下文是一个配置文件,向s p r i n g 框架提供上下文 信息。s p r i n g 上下文包括企业服务,例如j n d i 、e j b 、电子邮件、国际化、校验 9 华北电力大学硕士学位论文 和调度功能。 s p r i n ga o p :通过配置管理特性,s p r i n ga o p 模块直接将面向方面的编程功 能集成到了s p r i n g 框架中。所以,可以很容易地使s p r i n g 框架管理的任何对象 支持a o p 。s p r i n ga o p 模块为基于s p r i n g 的应用程序中的对象提供了事务管理 服务。通过使用s p r i n ga o p ,不用依赖e j b 组件,就可以将声明性事务管理集成 到应用程序中。 s p r i n gd a o :j d b cd a o 抽象层提供了有意义的异常层次结构,可用该结构来 管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处 理,并且极大地降低了需要编写的异常代码数量( 例如打开和关闭连接) 。s p r i n gd a o 的面向j d b c 的异常遵从通用的d a o 异常层次结构。 s p r i n go r m ;s p r i n g 框架插入了若干个o r m 框架,从而提供了o r m 的对象 关系工具,其中包括j d o 、h i b e r n a t e 和i b a t i ss q lm a p 。所有这些都遵从s p r i n g 的通用事务和d a o 异常层次结构。 s p r i n gw e b 模块:w e b 上下文模块建立在应用程序上下文模块之上,为基于 w e b 的应用程序提供了上下文。所以,s p r i n g 框架支持与j a k a r t as t r u t s 的集 成。w e b 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。 s p r i n gm v c 框架:m v c 框架是一个全功能的构建w e b 应用程序的m v c 实现。 通过策略接口,m v c 框架变成为高度可配置的,m v c 容纳了大量视图技术,其中包 括j s p 、v e l o c i t y 、t i l e s 、i t e x t 和p o i 。 s p r i n g 一个突出的特点既是提供了控制反转模式,该模式降低了组建之间的依 赖性。下面将介绍有关的概念及其设计模式。 2 4 2l o c ( i n v o r $ i o no fc e n t r e i ) 简介 控制反转模式i o c ( 也称作依赖性介入) 的基本概念是:不创建对象,但是描 述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一 个组件需要哪一项服务。容器( 在s p r i n g 框架中是i o c 容器) 负责将这些联系 在一起。 i o c 引入了一个新概念:由组件构成的框架,它与j 2 e e 容器有许多类似之处。 i o c 框架分离了组件所依赖的功能。模式真正意识到了从传统的由依赖于功能的组 件来负责这些功能,到由独立的框架来配置和提供这些功能的方式转变。 i o c 模式解除组件与服务控制的耦合的方法有如下三种类型: 类型一:接口注入 这是大部分j 2 e e 实现所使用的方法,组件显式地服从于一组接口,带有关联 的配置元数据,以便允许框架对它们进行正确的管理。 华北电力大学硕士学位论文 类型二:s e t t e r 注入 外部元数据被用来配置组件相互作用的方式。常见的使用就利用 s p r i n g c o n f i g x m l 文件来配置s p r i n g 组件实现。 类型三:构造函数注入 组件( 包括构造组件时要用的参数) 注册到框架,而框架提供组件的实例以及 所有要应用的指定功能。 2 4 3i o c 设计模式 i o c 设计模式,重点关注组件的依赖性,配置以及生命周期。i o c 将创建对象 实例的任务交给了i o c 容器或者框架,使得应用代码只需要直接使用实例。i o c 设 计模式遵守h o l l y w o o d 原则,即常说的d o n tc a l lm e ,i 1 1c a l ly o u ! 原则。 使用i o c 应用组件不需要在运行时找其协作者,更易于开发和编写应用。由于 借助了i o c 容器管理组件的依赖关系,使得应用的单元测试和集成测试更利于开展。 在借助于i o c 容器管理业务对象的前提下,很少需要使用具体i o c 容器提供的a p i , 这使得集成现有的遗留应用成为可能。因此,通过使用i o c 能够降低组件之间的耦 合度。 s p r i n gi o c 容器实现了i o c 的设计模式,为实现对s p r i n gi o c 容器的访问, 应用代码可以通过下面两个接口来实现:b e a n f a c t o r y 和a p p l i c a t i o n c o n t e x t 。其 中a p p l i c a t i o n c o n t e x t 位于o r g s p r i n g f r a m e w o r k c o n t e x t 包中。构建在 b e a n f a c t o r y 基础之上,除了具有b e a n f a c t o r y 的功能之外,它还添加了s p r i n g i o c 集成,处理消息资源,添加事件,声明容器提供服务等功能,更适合于j 2 e e 应用。 2 5s t r u t s 框架 2 5 1s t r u t s 介绍 s t r u t s 是按照m v c 方式构建的应用体系框架,它继承了m v c 的各项特往,并根 据j 2 e e 的特点,做了相应的变化与扩展。所以也说s t r u t s 是m v c 基本设计模式的 一种变体。 s t r u t s 应用体系框架就是使用j a v as e r v l e t 和j a v a s e r v e r p a g e s 技术的一种 m o d e l v i e w c o n t r o l l e r ( m v c ) 实现。该框架的创建是为了使开发者在构建基于j a v a s e r v l e t 和j a v a s e r v e r p a g e s ( j s p ) 技术的w e b 应用时更加容易。s t r u t s 应用体 系框架为开发者提供了一个统一的标准框架,通过使用s t r u t s 作为基础,开发者 能够更专注于应用程序的商业逻辑。s t r u t s 框架如下图所示。 华北电力大学硕士学位论文 2 5 2s t r u t s 框架 图2 5s t r u t s 框架 1 、视图 视图就是一组j s p 文件。在视图中没有业务逻辑,没有模型信息,只有标签。 视图中包括的标签可以是标准的j s p 标签或者是客户化的标签,也可以是 s t r u t s 的标签。 通常,我们会把a c t i o n f o r mb e a n 也划分到视图模块中。( a c t i o n f o r mb e a n 是 包括常规方法以外,还包括了一些用于验证h t m l 表单数据以及将其属性重新设置 为默认值的方法) i视图组件 a 叫o f o m ( 包含用户输入数据) 控制器组件 一,上l ,k 出芒 h “甚、 图2 6a c t i o n f o r m b e a n 工作原理 ( 1 ) s t r u t s 框架把用户输入的表单数据保存在a c t i o n f o r mb e a n 中。 ( 2 ) 将其传递给控制器,控制器可以对a c t i o n f o r mb e a n 中的数据进行修改。 ( 3 ) j s p 使用s t r u t s 标签读取修改后的a e t i o n f o r mb e a n 的信息,重新设置 h t m l 表单。 2 、模型 模型表示应用程序的状态和业务逻辑。对于大型应用而言,业务逻辑通常由 j a v a b e a n 或者e j b 组件来实现。 3 、控制器 控制器由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 框架中的核心组件。在m v c 中扮演中央控制器的 角色。主要负责接收h t t p 请求信息,根据配置文件s t r u t s c o n f i g x m l 的创建信 息,把请求转发给适当的a c t i o n 对象,如果对象不存在,则创建。 a c t i o n 类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程。 4 、s t r u t s 配置文件 以本系统的s t r u t s c o n f i g x m l 配置文件为例,代码请见附录l 。 配置映射信息都存储在特定的x m l 文件中。每个 元素都对应了一个 a c t i o n 的映射。如代码中所示,当要转向浏览页面时,根据给定的路径( a c t i o n p a t h = v o l t a g e g r a d e ) ,a c t i o n s e r v l e t 能够把用户的请求转给对应的a c t i o n 对象l i s t 。 2 5 3s t r u t s 运作机制 s t r u t s 在j 2 e e 应用服务器的中心位置装配了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 类,通过w e b x m l 的配置,a c t i o n s e r v l e t 截获了所有传入的 h t t p s e r v l e t r e q u e s t ,并且把各个传入的h t t p s e r v l e t r e q u e s t 分发给a c t i o n 类, 而a c t i o n m a p p i n g 对象则通过s t r u t s - c o n f i g x m l 配置文件进行转向控制,告诉 a c t i o n s e r v l e t 如何分发请求。 在s t r u t s 中,c o n t r o l l e r 和v i e w 之间的所有通信都通过h t t p s e r v l e t r e q u e s t 、 h t t p s e s s i o n 和s e r v l e t c o n t e x t 间接完成的,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 才会与m o d e l 和v i e w 发生联系,在 这中间它就象是一个交换机,而m o d e l 和v i e w 之间是不会直接通信的。 在这种运行机制下,m o d e l 、v i e w 和c o n t r o l l e r 就被分隔开来,这是成功运用 s t r u t s 的关键所在。 2 6s e r v i e t 介绍 2 6 1s e r v i e t 概念 一个s e r v l e t 就是j a v a 编程语言中的一个类,它被用来扩展服务器的性能, 服务器上驻留着可以通过“请求一响应”编程模型来访问的应用程序。虽然s e r v l e t 可以对任何类型的请求产生响应,但通常只用来扩展w e b 服务器的应用程序”1 。 s e r v l e t 从客户端( 通过w e b 服务器) 接收请求,执行某种作业,然后返回结果。 s e r v l e t 是位于w e b 服务器内部的服务器端的j a v a 应用程序,与传统的从命令行 启动的j a v a 应用程序不同,s e r v l e t 由w e b 服务器进行加载,该w e b 服务器必须包 含支持s e r v l e t 的j a v a 虚拟机。 华北电力大学硕士学位论文 s e r v l e t 是一种独立于平台和协议的服务器端的j a v a 应用程序,可以生成动态 的w e b 页面。 为什么使用s e r v l e t ? s e r v l e t 是持久的。s e r v l e t 只需w e b 服务器加载一次,而且可以在不同请求 之间保持服务( 例如一次数据库连接) 。 s e r v l e t 是可扩展的。由于s e r v l e t 是用j a v a 编写的,它就具备了j a v a 所能 带来的所有优点。j a v a 是健壮的、面向对象的编程语言,它很容易扩展以适应你的 需求。 s e r v l e t 是安全的。从外界调用一个s e r v l e t 的惟一方法就是通过w e b 服务器。 2 6 2s e r v i e t 体系结构 s e r v l e t包含两个包: j a v a x s e r v l e t称为 g e n e r i c 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 e r v l e t 必须实现j a v a x s e r v l e t s e r v l e t 接口。通过扩展如下两个类实现 j a v a x s e r v l e t g e n e r i c s e r v l e t ( 跨协议的s e r v l e t ) :j a v a x s e r v l e t h t t p s e r v l e t ( h t t ps e r v l e t ) 。 2 6 3s e r v i e t 的基本流程 客户端( 比如w e b 浏览器) 通过h t t p 提出请求。w e b 服务器接收该请求并将其 发给s e r v l e t 。如果这个s e r v l e t 尚未被加载,w e b 服务器将把它加载到j a v a 虚拟 机并且执行它。s e r v l e t 将接收该h t t p 请求并执行某种处理。s e r v l e t 将向w e b 服 务器返回应答。w e b 服务器将从s e r v l e t 收到的应答发送给客户端。 2 7j s p 技术 2 7 1j s p 概念 j s p 全称是j a v as e r v e rp a g e s ,是s u nm i c r o s y s t e m s 公司开发的规范,用于 将j a v a 与h t m l 结合,为网页提供动态内容。在创建动态内容时,编写j s p 比h t t p s e r v l e t 更方便,因为j s p 允许将j a v a 代码直接嵌入h t t p 页中,而在h t t ps e r v l e t 中,则需要将h t m l 嵌入j a v a 代码中。j s p 是使用j a v a 开发基于w e b 的应用程序不 可或缺的部分。通过将标准标记文本与脚本元素和面向对象的组件结合起来,将表 示逻辑从现实逻辑中分离,这就是j s p 所能完成的任务。 j s p 可以与s e r v l e t 、h t m l 、x m l 、a p p l e t 、j a v a b e a n 和e j b 结合使用,以实现 各种应用程序体系结构模型。 1 4 华北电力大学硕士学位论文 2 7 2j s p 运行方式 j s p 处理从请求j s p 文档开始,采用特殊文件扩展名( 通常为j s p ) 的u r l 表 示这类请求。尽管j s p 规范并不规定使用某种特定方法来实现j s p ,但目前的情况 是,所有主要的j s p 实现都是基于s e r v l e t 的。 w e b 浏览器请求j s p 页面时j s p 开始运行,根据页面上出现的j s p 标记完成处 理,动态生成内容。该处理的输出与页面的静态h t m l 结合,返回至w e b 浏览器。 容器的作用是为匹配j s p 文件扩展名的u r l 请求调用s e r v l e t ,s e r v l e t 相关的j a v a 类库使得s e r v l e t 容器就是j s p 容器。s e r v l e t 的任务并不只是为响应请求而查找 j s p 页面,而是编译j s p 页面。每个j s p 页面均被编译为特定的s e r v l e t ,用途就 是生成由原始j s p 文档指定的动态内容。 编译j s p 页面时,编译器会解析其内容,查找j s p 标记,将其内容转换为等效 的j a v a 源代码,源代码在执行时将生成由原始文件的内容表示的输出。 一旦构造了所有的s e r v l e t 代码,页面编译器s e r v l e t 将调用j a v a 编译器来编 译源代码,并将所产生的j a v a 类文件添加到j s p 容器中适当的目录下。一旦编译 的s e r v l e t 准备就绪,页面编译器s e r v l e t 调用这个新的s e r v l e t ,为请求生成响 应。只有在第一次接收到给定j s p 页面的请求时,才需要执行上述步骤,后续请求 都可直接传递到已编译的页面s e r v l e t ,立即得到处理。 当j s p 页面编译器s e r v l e t 接收到对j s p 的请求时,它要执行的第一个步骤即 是检查对应于请求u r l 的j s p 文件的时间标记,以确定该文件是何时修改或创建的。 以及此j s p 页面编译的s e r v l e t 的时间标记,如果找不到编译的s e r v l e t ,或者j s p 文件到时间标记迟于编译的页面s e r v l e 的时间标记,则生成新的s e r v l e t ,即解析 j s p 文件,将其转换成源代码,并且编译源代码。最后,新编译的s e r v l e t 被加载 到s e r v l e t 容器中。图2 7 以流程图的形式总结了这个过程。 如果j s p 页面s e r v l e t 是最新的,j s p 容器需要确定s e r v l e t 是否是当前加载 的,这是因为s e r v l e t 在创建之后可能因极少使用而被卸载了。一旦s e r v l e t 被加 载,控制权会从页面编译器s e r v l e t 转移到j s p 页面s e r v l e t ,由j s p 页面s e r v l e t 处理请求,生成响应,然后路由回h t t p 服务器,最后返回到w e b 浏览器。由于编 译的原因,j s p 处理第一个请求会比其他方法慢,但对于所有后续请求的响应则比 其他方法快。 华北电力大学硕士学位论文 2 7 3o s p 优点 ili 亵i i 图2 - 7 创建和运行j s p 的过程 j s p 是基于j a v a 技术的,所以它具有j a v a 语言提供的开发和部署的优势。已 编译的j a v a 字节码可以在支持j v m 的平台上移植,所以可以使用任何硬件平台和 操作系统。 j s p 的优点很多,概括如下优点: l 、 一次编写,随处运行; j a v as e r v e rp a g e s 技术是跨平台的,可以在任何平台上创建j s p 页面,在任 何w e b 服务器或支持w e b 的应用程序服务器上运行j s p ,而且可以从任何w e b 浏览 器访问这些页面,可以在任何平台上构建服务器组件,并在任何服务器上运行这些 组件。 2 、组件和标记库的重用; j s p 技术强调可重用组件的使用,如j a v a b e a n 组件、e j b 组件和标记库。这些 组件可在交互工具中使用,方便组件开发和页面制作,大大节省开发时间。 华北电力大学硕士学位论文 3 、 动态内容与
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 黄皮活动策划方案
- 集体倒数活动方案
- 西安酒会活动策划方案
- 锅炉证考试题及答案
- 工程画图考试题及答案
- 儿科洗澡考试题及答案
- (正式版)DB15∕T 3656.2-2024 《马铃薯实生种子育苗移栽和直播技术规程 第2部分:苗钵直播》
- (正式版)DB15∕T 3404.5-2024 《全民所有自然资源资产清查技术指南 第5部分:湿地资源》
- 东鹏培训考试题及答案
- 电子高考试题及答案
- 夫妻忠诚协议书8篇
- 2025年信用管理专业题库- 信用管理对企业市场风险的控制
- 新教科版小学1-6年级科学需做实验目录
- 第二章-环境管理的理论基础课件
- 旅游服务礼仪PPT第4版高职PPT完整全套教学课件
- 第五版-FMEA-新版FMEA【第五版】
- EPC模式承包人建议书与承包人实施方案
- 江苏省临检中心 临床化学继教班 7.质控规则及IQCP概述欧元祝
- StarterUnits 1-3学历案 人教版七年级英语上册
- 自来水厂操作规程手册范本
- 碾压式土石坝施工技术规范
评论
0/150
提交评论