




已阅读5页,还剩55页未读, 继续免费阅读
(电力系统及其自动化专业论文)基于j2ee的电力信息web发布系统.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山东大学硕士学位论文 实现了电力系统信息共享,对于提高电网的运行安全性和可靠性,改善电网的 经济运行水平以及促进电力系统的信息化进程都具有一定的应用价值。 关键词:j 2 e e电力系统信息发布 w e b 发布三层浏览器w e b 服务器 数据库服务器系统 j a v aj d b c o d b c 桥j s p v i i 山东大学硕士学位论文 a b s t r a c t a st h ed e v e l o p m e n to fp o w e rn e t w o r ka n dt h ed e m a n df o rb e t t e rm a n a g e m e n t , i ti sm o r ei m p o r t a n tf o rp o w e rs y s t e mt op u b l i s ha n ds h a r em o r ei n f o r m a t i o n h o w e v e r b yn o w t h e r ei sn oc o n v e n i e n ti n f o r m a t i o ni s s u a n c es y s t e mi nm o s to f e m s s c a d as y s t e m s ,a n dal a r g ea m o u n to fi n f o r m a t i o nc a n tb es h a r e d l a c ko f s h a r e di n f o r m a t i o nb e c a m ea no b s t a c l eo ft h ed e v e l o p m e n to fm o d e r np o w e r s y s t e m i tb e c o m e sa t i d et oi s s u et h ei n f o r m a t i o ni np o w e rs y s t e mb yw i d e l yu s i n g w e bt e c h n o l o g y i nt h i sp a p e rw ea n a l y z e dt h ep r e s e n ts i t u a t i o no fi n f o r m a t i o ni s s u a n c es y s t e m a n dg i v ed i s t r i b u t e da n dd y n a m i cw e bi s s u a n c em o d u l e w es t u d i e dj 2 e e a r c h i t e c t u r ea n ds o m ei m p o r t a n tc o n s t i t u e n tc o m p o n e n t ss u c ha sj a v al a n g u a g e a n dt e c h n i q u eo fd a t a b a s el i n k i na d d i t i o n ,w eb u i l tt h et h r e e t i e rb r o w s e r w e b s e r v e r d a t a b a s es e r v e rs y s t e mb a s e do nj 2 e e w ec a nq u e r ya n db r o w s et h ed a t a a n dh i s t o r yc u r v ea f t e rd o w n l o a dt h ew e bp a g e s ,w h i c hc o n t a i nj d b ct r a n s f e r i t i n t e g r a t e dt h et e c h n o l o g i e so fw e b ,j a v a ,j s p ,j d b c ,s e r v e r ,d a t a b a s e ,a n ds oo n t h es y s t e mi sh i g h l ym o d u l a r i z e d ,p l a t f o r m i n d e p e n d e n ta n dm a i n t e n a n c e s - f r e e f o rc l i e n t s i nt h i sa r c h i t e c t u r e ,b r o w s e ra s k st h ew e bs e r v e rf o rt h ed a t a b a s ea c c e s s i n g i nh t t pf o r m w h e nr e c e i v i n gt h er e q u e s tf r o mc l i e n t ,w e bs e r v e rt r a n s l a t e st h i s r e q u e s ti n t os q le x p r e s s i o na n dt r a n s f e r si tt ot h ed a t a b a s es e r v e r ,t h ed a t a b a s e s e r v e rw i l ld od a t ap r o c e s s i n ga n dr e t u r nt h er e s u l t st ot h ew e bs e v e r t h e n ,w e b s e r v e rw i l lt r a n s l a t et h er e s u l t sf r o md a t a b a s es e r v e ra g a i n ,a n dt u r nt h e mi n t o h t m ld o c u m e n ta n dt r a n s m i tt oc l i e n t sb r o w s e rw i t hf r i e n d l yw e bp a g ef o r m i n t h i si n f o r m a t i o ni s s u a n c es y s t e m ,a l lo ft h ed a t af r o md i s t r i b u t e dp o w e r s t a t i o na r es a v e di nm i c r o s o f ts q ls e r v e r2 0 0 0a n da r es e ta so d b cs o u r c e j a v a 山东大学硕士学位论文 d a t a b a s ea p p l i c a t i o n sc a nv i s i tv a r i o u so d b cs o u r c eb yj d b c - o d b cb r i d 2 e a f t e ra p p l i c a t i o n sa r et r a n s l a t e da n de d i t e da n dd e b u g g e di nj b u i l d e r - x ,t h e ya r e d e p l o y e di nw e b l o g i e 8 1 w i t hg r a p hd o c u m e n t ss u c ha sv o l t a g e c u r r e n tc u r v e s a n ds oo n ,t oh e l pc l i e n tb r o w s e rc l i e n tt oa c c e s s t h i si n f o r m a t i o ni s s u a n c es y s t e mi sb a s e do nj 2 e ea r c h i t e c t u r ea n dw e b a p p l i c a t i o n s w e b u i l dt h eg e n e r a la n dc o n v e n i e n ti n f o r m a t i o n i n t e r c h a n g e p l a t f o r mb ya p p l y i n gj d b c - o d b cb r i d g em o d e t h ec l i e n td o e s n tn e e da n y s o f t w a r et oi n s t a l l ,a n dt h ei n f o r m a t i o no fp o w e rs y s t e mi ss h a r e d i t sv a l u a b l ef o r p r o m o t i n gs e c u r i t ya n dr e l i a b i l i t yo fp o w e rn e t w o r k k e y w o r d s :j 2 e e ,i s s u a n c eo fe l e c t r i cp o w e rs y s t e m si n f o r m a t i o n ,i s s u a n c eo f w e b ,t h r e e t i e rb r o w s e r w e bs e r v e r d a t a b a s es e r v e rs y s t e m ,j a v a ,j d b c - o d b c b r i d g e ,j s p 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研 究作出重要贡献的个人和集体,均已在文中以明确方式标明。本声明 的法律责任由本人承担。 论文作者签名:灶 日 期: 2 s i o 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学 校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论 文被查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分 内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段 保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:窒盎导师签名 山东大学硕士学位论文 第一章绪论 l 引言 随着电网商业化运营的深入开展和电网规模的扩大,电力系统的实时监 控、分析决策、信息发布等方面的需求水平也越来越高。各方对于信息需求越 来越迫切,因此探究电力信息发布系统也就变得越来越重要。随着 i n t e m e t i n t r a n e t 和w e b 技术的飞跃发展,利用w e b 技术束发布信息资源己成 为目前电力系统信息化发展的趋势。 目前大多e m s s c a d a 系统在实际应用中缺乏标准数据库和应用程序接 口,系统扩展性较差,制约了与其他系统的数据共享和集成,而且缺乏便利的 信息发布系统i 。在通常情况下,只有少数调度、运行端电脑控制乎台能访问 和调用地调所使用的s c a d a e m s 系统中的数据库,异种机很难直接访问 s c a d a e m s 系统的数据、图表等 2 3 1 。这使得其他人员难以了解潮流、节点 等实时数据和具体操作等情况,大量电网运行信息无法方便地实现共享。这与 e m s 的实用化、电力互联网络的发展、大型联合电网的出现以及电压稳定性 问题日益突出的实际情况相违背,不符合现代电力发展的要求1 2 j 。 2 网络信息发布领域现状及存在的问题【l 7 】 选择合理的信息发布方式是进行电力系统信息共享的关键,利用w e b 技 术束发布信息资源已成为目前电力系统信息化发展的趋势1 4 】。w e b 技术是企业 流行的一种信息服务技术,它以h t t p ( h y p e n e x tt r a n s f e rp r o t o c 0 1 ) 标准协议为 基础来完成浏览器与w e b 服务器之间的信息交换与传递。 比较常用的信息发布系统有静态的和动态的,有客户机r i a 务器模式和浏 览器服务器模式,有两层的和三层及三层以上结构的。如文【4 】中列举了静态、 动态和企业级三种w e b 发布模型,文 3 - 7 1 q b 提出了三层b ,s ( b r o w s e r s e r v e r ) 结构,文 8 】中列举了各种w e bg i s ( g e o g r a p h i ci n f o r m a t i o ns y s t e m ) 系统的实现 方法。但是在具体实现的时候,同样都是浏览器服务器结构,也会因为w e b 服务器和中间组件的不同搭配组合,而存在扩展性、跨平台性和可移植性等方 山东大学硕士学位论文 面的差别。 动态网页技术也是多种多样,有c o l ( c o m m o ng a t e w a yi n t e r f a c e l 、 a s p ( a c t i v es e r v e rp a g e s ) 、p h p ( p e r s o n a lh o m ep a g e ) 等。但是大部分解决方案 或者是像c g i 难以提高处理性能和支持更多用户并发访问,或是像微软的a s p 只能工作在微软的服务器上,不能解决跨多个服务器平台的问题1 4 1 。 3j 2 e e 技术在w e b 系统中的应用 随着互联网应用的发展,分布式体系优势明显,又引入了r p c ( r e m o t e p r o c e d u r ec a l l ) c o m ( c o m p o n e n to b j e c tm o d e l ) c o r b a d ( c o m m o no b j e c t r e q u e s tb r o k e ra r c h i t e c t u r e ) 等技术【8 1 。文【7 9 】中提出c o r b a 技术的1 a v a 实 现方法,文【1 0 】中则采用c o m 技术实现基于x m l ( e x t e n s i b l e m a r k u pl a n g u a g e ) 的三层信息查询系统。但是这些技术在实际应用中存在着很多不足和局限,它 们的特定协议也难以通过防火墙。为了进一步开发基于w e b 的应用,相继出 现了s u n 公司的s u no n e ( o p e nn e te n v i r o n m e n t 开放网络环境) 和m i c r o s o f t 公司的n e t 两大w e b 服务技术体系。其中,s u no n e 以j a v a 技术为核心, 更接近或者满足于互联网在智能化w e b 服务上对分布性、丌放性和平台无关 性的要求,同时在健壮性、安全性、组件化等方面也更为成熟,获得了众多i t 厂商和产品的支持,是目前唯一在市场上得到了广泛应用的技术体系。在文【1 1 】 中指出了o r a c l e + t o m + a s p 组合在跨平台性方面的不足,提出了 o r a c l e + e j b ( e n t e r p “s ej a v a b e a n s ) + d s p ( j a v as e r v e r p a g e ) 体系结构。 在s u no n e 体系结构中,j 2 e e 最引人注目b 2 1 。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 a v a2 平台的企业版) 是s u n 公司在j a v a 技术基础上提出 的一种分布式企业级应用开发的技术架构和规范,它能很好地解决大型应用系 统中所面临的各种问题,为搭建具有可伸缩性、灵活性、易维护性的n 层分柿 式系统提供了良好的机制【1 3 , 1 4 1 。 4 课题研究的主要内容 本文研究了j 2 e e 技术总体框架以及几个重要组成部分,如j a v a 语言,j s p 网页技术,j a v a 数据库连接技术。在多种结构搭配中选择了j 2 e e 三层企业级 w e b 应用框架,构建了基于j 2 e e 的分布式浏览器w e b 服务器数掘库服务器 三层信息发布系统,通过浏览器从w e b 服务器下载包含j d b c ( j a v ad a t a b a s e 2 矗、 i i 山东大学硕士学位论文 序制作技术经历了从简单的h t m l ( h y p e r t e x tm a r k u pl a n g u a g e ) 、c g i 、a s p 、 p h p ,到功能强大的x m l 、j s p 。j s p 能够很好地满足各种需求,用户构造的 应用程序能够与各种w e bs e r v e r 、应用服务器、浏览器和开发工具共同工作 真正作到“一次编写,多处运行”,已经成为当今w e b 编程的主流技术。 lw e b 应用程序的演变和发展 基于浏览器的客户端应用程序比传统的基于c ,s ( c l i e n t s e r v e r ) 的应用程 序优秀在客户端访问几乎没有限制以及应用程序部署和管理的简化。但是 h t m l ( 超文本标记语言) 主要是对于相对静态内容的选择,不能创建动态、交 互的基于w e b 的应用程序。 对此问题的一个早期解决方案是使用c g i ( 通用网关接口) ,开发人员编写 与接口相关的单独程序和基于w e b 的应用程序,并通过w e bs e r v e r 调用。但 是这个方案有严重的扩张性问题,难以支持多个用户并发地访问该程序。 某些w e bs e r v e r 供应商尝试通过为他们的服务器提供插件和a p i ( 应用程 序接口) 来简化w e b 应用开发。但是多数方案是与特定的w e bs e r v e r 相关的, 不能解决跨多个服务器平台的问题。 j a v as e r v l e t 技术,使得用j a v a 语言编写交互的应用程序的服务器端代码 变得容易。开发人员能够根据需要编写j a v as e r v l e t 以动态地生成响应。采用 这种方法,整个网页必须都在j a v as e r v l e t 中制作。如果想要调整页面显示, 就必须编辑并重新编译该j a v as e r v l e t ,仍然需要较高的应用开发技巧。 2j s p 的出现 为了解决以前应用所受到的限制,需要一个业界范围内的创建动态内容页 面的解决方案,j s p 就是满足这样要求的技术。j s p 技术使w e bs e r v e r 、应用 服务器、数据库系统以及开发工具更好地协同工作,整合和平衡了支持j a v a 编程环境的技术和工具,并给予使用基于组件应用逻辑的页面设计者以强大的 功能。 1j s p 页面 4 第二节j s p 技术的执行过程和优点 叠 山东大学硕士学位论文 在传统的h t m l 页面文件中加入标记符号“ ”所包括的j a v a 程序片断和j s p 标签就构成了一个j s p 页面文件。一个j s p 页面可由5 种元素 组合而成: 普通的h t m l 标记符。 j s p 标签,如指令标签、动作标签。 变量和方法的声明。 j a v a 的程序片。 j a v a 表达式。 其中、形成的部分被称为j s p 的脚本部分。 2j s p 执行的步骤 通过客户端的浏览器,以超文本( h t m l ) 形式通过表单( f o r m ) 向w e b 服务 器提出请求。 服务器得到客户端的请求后,由w e b 服务器上的j s p 引擎把j s p 代码、相 关组件、j a v a 脚本以及h t m l 代码,转化成为s e r v l e t 代码。 接着由j s p 引擎调用w e b 服务器端的j a v a 编译器对s e r v l e t 代码进行编译, 生成编译( 字节码) 文件。 最后,由j a v a 虚拟机执行编译文件,并把客户端的请求结果以标准h t m l 页面的形式返回。 当w e b 服务器启动后,客户端第一次请求一个j s p 页面时,需要完全执 行上述3 个过程( 代码转化、编译和执行编译文件) ,以后当该j s p 页面被再次 请求时,只需将请求交给服务器,由于s e r v l e t 代码已经驻留在内存中,故可 以非常快地返回客户端的请求结果。 3j s p 技术加速了动态w e b 页面的开发 将内容的生成和显示进行分离 使用j s p 技术,w e b 页面开发人员可以使用h t m l ( 或x m l ) 标识来设计 和格式化最终页面。使用j s p 标识或者小脚本可生成页面上的动态内容,生成 内容的逻辑被封装在标识和j a v a b e a n s 组件中,并且捆绑在小脚本中,所有的 脚本在服务器端运行。 对不同浏览器的兼容 山东大学硕士学位论文 在服务器端,j s p 引擎解释j s p 标识和脚本,生成所请求的内容,并且将 结果以h t m l ( 或者x m l ) 页面的形式发送回浏览器。这既保护了作者的代码, 又保证了对任何基于h t m l 的w e b 浏览器的完全兼容性。 强调可重用的组件 j s p 页面依赖于可重用的、跨平台的组件来执行更为复杂的处理。由于j s p 组件技术封装了许多功能,开发人员能够共享和交换执行普通操作的组件,这 种基于组件的方法加速了总体开发过程。 采用标识简化页面开发 j s p 技术封装了许多功能,这些功能是在易用的、与j s p 相关的x m l 标 识中生成动态内容所需要的。标准的j s p 标识能够访问和实例化j a v a b e a n s 组 件,设置或者检索组件属性,执行用其他方法更难于实现的功能。 加强可扩展性 通过开发定制化标识库,j s p 技术是可以扩展的。使用者可以为常用功能 创建自己的标识库,使用如同标识一样执行特定功能的构件来工作。 易于整合 j s p 技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧, 并且扩展到能够支持企业级的分布式应用或者是高度复杂的基于w e b 的应用。 具有j a v a 的所有优点 由于j s p 页面的内置脚本语言是基于j a v a 编程语言的,而且所有的j s p 页面都被编译成为j a v as e r v l e t ,因此j s p 页面具有j a v a 技术的所有优点,包 括高效的存储管理和安全性,还有“一次编写,多处运行”的特点。 第三节与其他动态网页技术的比较 ij s p 与c g i 的比较 j s p 直接与w e bs e r v e r 链接( 通过动态链接库d l l 或是其他相同的动态链 接技术) ,因此不需要通过既费时又耗资源的的标准输入输出接1 3 来执行程序 便可将资料传回,而传统的c g i 在执行效率和可维护性方面比起j s p 差多了。 每当某个客户端要执行服务器端的c g i 程序时,服务器就要建立一个新 6 , 山东大学硕士学位论文 的进程来执行这个程序。w e b 服务器对于每一个用户请求都必须创建一个单独 的网关进程,用于启动外部应用程序,并在接到通过进程管道发回的结果后终 止该进程。如果多个用户并发地访问该程序,这些进程将消耗w e bs e r v e r 的 所有可用资源,并且系统性能会降到极其低的程度,服务器很快会达到饱和状 态,难以支持更多的用户请求。 2j s p 与a s p 的比较 a s p ( a c t i v es e r v e r p a g e s ,动态服务器网页) 是微软推出的w e b 应用程序丌 发技术。a s p 是生成动态的、交互的w e b 应用程序的一种方法和技术,是一 个服务器端的脚本环境。a s p 能够把h t m l 文件、脚本和基于c o m 标准的组 件有机地组合在一起,形成一个能够在服务器上运行的动态w e b 应用程序, 并能把按用户要求制作的标准h t m l 页面送给客户端浏览器。 尽管j s p 和a s p 在技术方面有许多相似之处,但是两者仍然存在很多不 同之处,如下面几点所述。 2 1 平台和服务器的独立性 j s p 技术基于的平台和服务器相互独立,可以运行在任何符合j a v a 语法结 构的环境中并且支持多家开发商提供的工具包。a s p 是基于a c t i v e x 控件技术 提供客户端和服务器端的开发组件,主要是局限于微软的操作系统平台上,所 以它的平台适应性差,不能方便地实现在跨平台的w e bs e r v e r 上工作。 2 2 开放的开发过程,开放的源代码 s u n 公司应用j a v a 社团合作特性来开发j s p 技术,同国际j a v a 组织合作 开发和修改了j a v a 技术与规范。s u n 和许多公司、个人公丌成立一个强大的咨 询机构,以便任何公司和个人都能免费取得信息。 2 3j s p 标签的可扩充性 a s p 仅支持组件对象模型c o m ,而j s p 技术提供的组件都是基于 j a v a b e a n s 技术或j s p 标签库,使得开发者能定制、扩展标签库并得以应用, 这样减少了对脚本语言的依赖,降低了制作和扩充网页的复杂程度。 2 4j s p 组件跨平台的可重用性 j s p 组件都是跨平台可重用的。企业j a v a b e a n s 组件可以访问传统的数掘 库,并能以分布式系统模式工作于u n i x 和w i n d o w s 等平台上。这种基于组 山东大学硕士学位论文 件的模式能有效提高应用程序的开发效率,使开发人员利用快捷的组件快速创 建模板应用程序。 2 5 可执行性、维护性和安全灵活性方面的比较 j s p 所用的j a v a 是成熟的、强大的、易扩充的编程语言,远优于a s p 基 于v b s c r i p t 或j s c r i p t 的脚本语言。另外,j a v a 在内存管理方面提供防止内存 泄漏的方法,当j s p 应用程序在w i n d o w sn t 系统被怀疑可能会崩溃时,j a v a 能有效地防止系统的崩溃。 在大型的、复杂的应用程序开发中,基于j s p 技术的应用程序比基于a s p 的应用程序易于维护和管理。j s p 突出的组件技术使得修改内容而不影响逻辑 或修改逻辑而不影响内容变得很容易实现,它开放、跨平台的结构能够适应现 实中各种w e b 应用程序不断的变化和发展。 2 6j a v a 企业产品的多样性 j a v a 2 平台企业版( j 2 e e ) ,是适用于分布式企业应用的j a v a 结构。作为j 2 e e 的一部分,j s p 网页可以访问所有j 2 e e 的组件,包括j a v a b e a n s 、企业绒 j a v a b e a n s ( e j b ) 及j a v as e r v l e t ;能够用许多方式同企业系统交互访问;能工作 在任何符合o d b c 规范的数据库,而且能访问符合j d b c 技术规范的数据库。 3j s p 与p h p 的比较 p h p 是一个超文本预处理器,它是一种嵌入在h t m l 中并由服务器解释 的脚本语言,可用于管理动态内容,支持数据库,处理会话跟踪等。p h p 大量 地借用c ,j a v a 和p e r l 语言的语法,并结合p h p 本身的特性,使得w e b 丌发 者能够快速地开发,它支持多种流行的数据库。 p h p 的主要不足体现在对各种数据库没有统一的接口标准,它对于每种数 据库几乎都有一个不同的接1 2 。例如,对o r a c l e 、m y s q l 、s y b a s e 的接1 = i 彼 此都不一样。再加上p h p 在速度上,远远不是j s p 的对手,这就使得它更不 适合运用在电子商务中。 4j s p 技术的总结 4 1 性能比较 在性能比较时,对以上三种语言分别做循环性能测试及存取o r a c l e 数掘 库测试,结果都是j s p 以极大的优势胜出。 曩 山东大学硕士学位论文 4 2 前景分析 j s p 具有平台无关性、可移植性强、运行效率高、组件可重用性强、数据 库连接方便以及安全性能好等优点,是将束发展的趋势。随着j s p 的普及应用, 越来越多的尤其是电子商务类的网站,都将采用j s p 技术。 第三章j a v a 语言 2 2 , 2 3 1 第一节j a v a 介绍 j a v a 是由s u n 公司开发的新一代编程语言,它实现了操作平台的无关性, 对于浏览器,只要其支持j a v a ,我们就可以开发自己的应用程序。本文的主题 是借助j s p 技术进行网络的电力系统信息发布,而j s p 是基于j a v as e r v l e t 以 及整个j a v a 体系的w e b 开发技术,因此本章从介绍j a v a 语言入手,以便对j s p 进行深入的了解。 j a v a 是一种简单、动态、面向对象、分布式、解释执行、健壮、安全、结 构中立、可移植、高效能、具有多线程编程能力的新一代语言,正逐步成为 i n t c r n e t 应用的主要开发语言。j a v a 具有以下优点: 简单性 j a v a 和c c + + 的语言风格和结构基本保持一致,同时删除了许多不易掌握 的部分。j a v a 采用对用户透明的内存分配和释放技术,减少了用户维护、编制 内存管理的大量代码,同时提高了系统的安全和可靠性及j a v a 应用程序的简 单性。 面向对象 j a v a 是一种纯粹面向对象的语言,具有封装、继承和多态性等面向对象语 言的基本特性。它可以促成明确的接口定义,并允许开发人员建立可重复使用 的软件部分,以达到重复使用的目的。 动态性和分布性 j a v a 库类的版本不受升级的影响,可以多级继承。j a v a 内嵌对网络的强大 9 山东大学硕士学位论文 支持尤其适合分布式网络应用程序的丌发。它拥有广泛的能轻易地处理 t c p i p 的运行库,这使得在j a v a 中比在c 或c + + 中更容易建立网络连接。 健壮性 j a v a 的目标是要协助开发人员建立各方面可靠的程序,丌发人员在设计初 期即可检查可能存在的问题,之后则进行动态地检查,并排除容易出现的错误。 安全性 j a v a 设计的目的是要能够使用于网络分布式运算环境。j a v a 的验证技术 是以公钥加密法为基础的,确保能建立无病毒且不会被侵入的系统。通过字节 码验证、内存调用方式、资源使用权限等进行多层次的安全管理,j a v a 被认为 是在所有系统上最安全的应用程序之一。 可移植性、平台无关性或中立性 j a v a 是一种最大限度上实现了与平台无关的编程语言。其编译器生成一种 具备结构中立性的目标文件格式,即字节码的格式不依赖于任何硬件体系结 构、操作系统和窗体系统,可以在网络上任何一台配备j a v a 解释器的机器上 执行,做到“一次编写,到处运行”,保证了可移植性。 解释执行 j a v a 解释器可以直接在任何已移植该解释器的机器上解释、执行j a v a 字 节代码,因此程序开发更快、更精密。 高性能 字节代码可以动态的解释为执行应用程序特定c p u 的机器码,这有点类 似将最终的机器码生成器放到动态载入器之内。字节代码格式在设计上已考虑 了机器码的产生,因此实际的机器码生成程序相当简单。 多线程的支持 j a v a 中,系统在语言级上包括了线程同步机制。j a v a 具有内嵌的内存管理 程序。将这些概念融合到语言之中后,它们就变得更容易使用且更为健壮。多 线程所带来的其他好处包括更好的的交互式回应能力与实时执行能力。 l o 第二节s e r v le t 2 2 - 2 4 山东大学硕士学位论文 j a v as e r v l e t 编写的j a v a 程序称为s e r v l e t ,s e r v l e t 是j a v a 语言的一部分, 提供了用于服务器编程的a p i 。s e r v l e t 通过h t m l 与客户交互信息。s e r v l e t 的缺点是不能有效地管理页面的逻辑部分和页面的输出部分,导致s e r v l e t 代 码非常混乱,用s e r v l e t 来管理网站是一件很困难的事情。为了克服上述缺点, s u n 公司以j a v a s e r v l e t 作为基础,推出了j a v a s e r v e rp a g e 。 j s p 在本质上是s e r v l e t 技术的演进与扩展,它提供了s e r v l e t 的几乎所有 好处,当一个客户请求一个j s p 页面时,j s p 引擎根据j s p 页面生成一个 s e r v l e t 。本章将讲述s e r v l e t 的工作原理以及一些常用的类和方法,以便我们 深入了解j s p 的本质。 ls e r v l e t 简介 s e r v l e t 是运行在服务器上的小服务程序,在用户通过网络与服务器建立 h t t p 连接后,它接收客户端发来的请求并对它们进行处理,然后生成响应的 h t m l 文件,并将它们发送给客户端。s e r v l e t 是一种w e b 组件,所以必须要 运行在w e b 服务器上它与j s p 一起共同实现了j 2 e e 表述层的功能。 s e r v l e t 本身就是一个j a v a 类,是运行在请求响应模式的服务器上的模块, 某种意义上可视为服务器端的j a v a 版c g i 程序。s e r v l e t 是用j a v a 代码编写的 服务器端程序,因此它可以访问j a v a 全部的高级特性,如数掘库连接、网络 _有关的特性、面向对象特性和对多线程处理的内嵌支持等。这些特性可以用来 分发完全功能的应用程序到w e b 客户而不需要任何特殊的客户端配置。因为 它们使用普通的超文本( h t t p ) 作为其接口,所以它们在任意的浏览器环境中 运行都是一样的。 2s e r v l e t 的工作原理 s e r v l e t 在支持j a v a 的应用服务器中运行,可以处理s e r v l e t 、e n t e r p r i s eb e a n 和w e b 应用程序的请求。运行w e b 服务器端在s e r v l e t 是一个可信赖的程序, - 不受到j a v a 安全性的限制,拥有和普通j a v a 应用程序一样的权限 s e r v l e t 整个工作流程如下: 客户机将请求发送到服务器。 服务器实例化( 装a ) 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 。 s e r v l e t 创建一个响应,并将它传递到服务器。 服务器将响应发回客户机。 第四章j a v a 与数据库连接2 5 3 0 1 本章重点介绍关系型数据库操作中使用的s q l 语句和j a v a 的数据库连接 接口,即j d b ca p i ,并说明j a v a 如何通过j d b c 接口与关系型数据库连接, 以及怎样建立有效的数据库连接。 第一节s o l 语言 ls q l 语言的出现 人们将大量的数字信息存储在数据库中,就是为了能够长期保存和管理这 些数据,并能够随时对数据进行查询和更改。为了减少存在各种不同数据库系 统的混乱,人们创建了标准的数据库语言以指导各个不同的数掘库厂商,这就 是s q l 语言。s q l 语言目前已经广泛地被用户和业界接受,并已经成为国际 标准。 2s q l 语言功能介绍 s q l 是s t a n d a r dq u e r yl a n g u a g e 的首字母缩写,即标准查询语言。它是 关系型数据库管理系统的标准语言。其主要功能是与各种数掘库进行联系、通 信,实现对数据库的控制与管理。 s q l 语言有两种使用方式,即交互式s q l ( i n t e r a c t i v es q l ) 和嵌入式 s q l ( e m b e d d e ds q l ) 。交互式s q l 是直接在数据库系统的界面上使用,一般 只能进行简单的数据库操作;而嵌入式s q l 则是将s q l 语言嵌入到一种高级 语言中,可以对数据进行更为复杂的处理。s q l 语言不是计算完备的语言,不 能独立编制应用程序,所以要想编写完整的数据处理程序就必须将s q l 语句 嵌入到一种高级语言中。j a v a 程序在使用s q l 语言处理数据时,就是采用嵌 山东大学硕士学位论文 入式s q l 的方式,即将s q l 语句写成字符串变量的形式,然后作为j d b c 接 口的参数传入响应。 s q l 语言按其功能分为四部分,即数掘定义语言( d a t a d e f i n i t i o n l a n g u a g e d d l ) 、数据查询语言( q u e r yl a n g u a g e ,q l ) 、数据操纵语言 ( d a t am a n i p u l a t i o n l a n g u a g e ,d m l ) 和数据控制语言( d a t ac o n t r o ll a n g u a g e ld c l ) 。下面简单介绍 这些动作。 d d l ,用于定义数据库用户和数据表。定义数据的结构,比如,创建、修 改或者删除数据库对象。 q l ,用于执行数据库的检索。只有一个动词s e l e c t ,s e l e c t 语句是 s q l 语言的核心,主要用于查询数据库并检索匹配指定条件的选择数据。 d m l ,用于执行数据库的增加、删除或者修改数据。 d c l ,用于数据库用户权限的管理,如授权和撤消授权。 第二节从o d b o 到j d b c 的发展 1s q l c l i 规范 数据库系统为了满足嵌入式s q l 应用的需要一般都要提供处理s q l 语句 的应用程序接口。由于数据库系统的多样性,各种数据库系统可能拥有不同的 访问接口。这样,实现同一功能的应用程序由于使用了不同的数据库,它们的 代码可能也是不同的。这不仅增加了程序员的工作量,也限制了程序的可移植 性。 为了统一各种数据的应用程序访问接口,人们在s q l 标准的基础上又制 定了s q l 调用级接口规范,即s q l c l i ( c a l ll e v e li n t e r f a c e ) 规范,在应用程 序与数据库之间又加入了两层,一层是驱动程序管理器,一层是驱动程序,从 而屏蔽了各厂商访问接口之间的差异。其结构如图4 1 所示。 然后应用程序通过数据源与相关的数据库进行连接,并将应用程序中的s q l 语句,通过o d b c 数据库驱动器向d b m s 发出请求,对分析或发自数据源的 设计进行必要的翻译,并将结果返回给应用系统。 3j d b c 的出现 o d b c 是当前应用最多的数据库连接技术;而j a v a 具有健壮、安全、易 用、平台无关性等特性,而且支持自动网上下载,本质上是一种很好的数据库 应用编程语言,它所需要的是j a v a 应用如何同各种各样的数掘库连接。1 9 9 6 年s u n 公司推出基于j a v a 语言的数据库连接接1 2 1 ,即j d b ca p i ,j d b c 正是 实现这种连接的关键。 1 4 第三节j d b c 数据库连接 山东大学硕士学位论文 1j d b c 技术概述 j d b c 由一组用j a v a 语言编写的类和接口组成,是一种用于执行s q l 语 句的j a v a a p i ,为j a v a 应用程序访问数据库提供了一个统一的接口。j d b c 能 够自动地将s q l 语句传送给各种类型的数据库管理系统,完成连接数掘库、 执行s q l 语句等操作 不但如此,使用j a v a 编写的应用程序可以在任何支持j a v a 的平台上运行, 不必在不同的平台上编写不同的应用程序。j a v a 和j d b c 的结合可以让丌发人 员在开发数据库应用时真正实现“一次编写,到处运行” 通过j d b c 访问数据库需要有相应数据库的j d b c 驱动程序,j d b c 驱动 程序负责将j d b c 操作转换为特定的数据库操作。w e b l o g i es e r v e r 提供了大 量的j d b c 驱动程序,例如针对s q ls e r v e r 、o r a c l e 、s y b a s e 等数据库的j d b c 驱动。简单地说,j d b c 可做三件事,一是与数据库建立连接,二是发送s q l 语句,第三是处理结果。 2j d b c 的结构 j d b c 与o d b c 一样也是基于s q l c l i 规范的,在实现上也包含了四个组 件,即应用程序、驱动程序管理器、驱动程序和数据库,通过j d b c 驱动管理 器以及驱动程序两个主要模块,进行服务器端基本的数据库连接。客户端程序 中只调用j d b c 的语句,真正与数据库通信是由j d b c 驱动程序完成的,从而 屏蔽不同数据库之间的访问接口差异。 3j d b c 驱动程序的类型 j d b c 有4 种驱动程序,选择何种类型的驱动程序主要取决于程序的应用 范围。本系统的实验只是为了简单实现系统功能,所以选用类型l 驱动程序, 也称为j d b c o d b c 桥驱动,它是把j d b c 操作翻译成对应的o d b c 调用。这 种模式由j d b c o d b c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年急救相关知识考试题库带答案(综合题)
- 新能源行业安全生产标准化2025年行业应用前景分析报告
- 2025护士节知识竞赛题库及答案
- 电商平台本地生活服务与家居建材行业整合营销报告
- 2025年文山州麻栗坡县教育体育系统事业单位第二次紧缺岗位招聘(3人)备考考试题库附答案解析
- 2025年汽车行业汽车金融业务风险管理及控制发展趋势研究报告
- 中考数学几何题型解析及练习
- 物流中心操作流程优化方案
- 2025年甘肃省兰州市城关区云麓山学校秋季学期教师招聘考试参考题库及答案解析
- 服装画创作技巧与课程标准解读
- 新转型九年一贯制学校三年发展规划(2025年-2028年)
- 维护秩序靠规则(课件) 2025-2026学年八年级道德与法治上册(统编版2024)
- 期神丁鹏期货交易课件
- 反走私课件教学课件
- 大货车闯红灯安全培训课件
- 2025秋教科版(2024)科学三年级上册教学设计(附目录)
- 2025年人教版三年级数学上册全册教案
- (2025秋新版)苏教版科学三年级上册全册教案
- 2025年新教材道德与法治三年级上册第一单元《做学习的主人》教案设计
- 初二家长会ppt通用PPT课件
- 战略管理2015-2-11
评论
0/150
提交评论