基于J2EE的网上选书系统的实现.pdf

上传人:爱问知识人 文档编号:3580954 上传时间:2019-09-13 格式:PDF 页数:81 大小:2.12MB
返回 下载 相关 举报
基于J2EE的网上选书系统的实现.pdf_第1页
第1页 / 共81页
基于J2EE的网上选书系统的实现.pdf_第2页
第2页 / 共81页
基于J2EE的网上选书系统的实现.pdf_第3页
第3页 / 共81页
基于J2EE的网上选书系统的实现.pdf_第4页
第4页 / 共81页
基于J2EE的网上选书系统的实现.pdf_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《基于J2EE的网上选书系统的实现.pdf》由会员分享,可在线阅读,更多相关《基于J2EE的网上选书系统的实现.pdf(81页珍藏版)》请在三一文库上搜索。

1、华东师范大学 硕士学位论文 基于J2EE的网上选书系统的实现 姓名:邱城晓 申请学位级别:硕士 专业:情报学 指导教师:范并思 20050401 中文摘要 J 2 E E 是目前构建电子商务系统比较流行的技术,采用J 2 E E 技术,可以方便 地将系统分离为三层:表示层、业务层和数据库层。表示层向客户的浏览器提供 基于W e b 的显示页面;数据库层则提供数据存储,一般就是物理数据库;业务 层处理数据,业务层处于表示层和数据库层的中间,提供表示层所需的数据,它 实际的角色是表示层和数据层的中介。采用这种层次结构可以提高系统的扩展性 和服务器的效率,方便开发。 本文的网上选书系统类似于网上商店

2、其中的一个功能模块,很多功能的实现 和网上书店的部分功能非常相似,而后者则是电子商务的典型应用。以前很多的 应用是基于两层体系结构来进行设计和开发的,随着I n t e r n e t 的飞速发展,传统 的两层体系结构已经越来越多的被分布式的应用所代替。 本文采用J 2 E E 技术设计开发网上选书系统,目标是使系统具有J 2 E E 应用 的特点,比如平台独立性、高可靠性和可扩展性等。系统实现过程中使用了J 2 E E 中的多种技术,如E J B 、J S P 、S e r v l e t 、J D B C 、J N D I 、X M L 等。同时在开发过 程中采用多种常用设计模式来提高开发

3、效率和系统性能,比如常用的会话外观模 式、M V C 等。系统的需求分析则使用U M L 来进行处理。 整个开发过程没有使用如E c l i p s e 等集成开发工具,从使用文本编辑器编写 代码到编写X M L 配置文件,最后手工在J B O S S 服务器上部署文件,虽然过程 比在集成开发环境下显得更加麻烦,但对于理解整个J 2 E E 体系框架却是很有帮 助。 关键词:J 2 E E ,E J B ,选书,多层体系结构,分布式 A b s t r a c t R e c e n t l y , d e s i g n i n gt h ee l e c t r o n i cc o m

4、m e r c es y s t e mb a s e do nJ 2 E Es t a n d a r dh a s b e e no n eo f t h eb e s t p o p u l a rt e c h n o l o g i e si nI Tf i e l d T h et e c h n o l o g yc a r le a s i l yd i v i d e t h ea p p l i c a t i o ns y s t e mi n t ot h r e el a y e r s ,v i e wl a y e r ,l o g i c l a y e ra

5、n dd a t a b a s el a y e r T h ev i e wl a y e rp r o v i d e st h ew e b p a g e ss h o w e do nt h ec l i e n te x p l o r e r T h ed a t a b a s e l a y e ri s ad a t a b a s e r e t a i n i n gt h ed a t as u c ha sO r a c l e ,A c c e s s T h el o g i cl a y e ri s r e s p o n s i b l ef o rt

6、h ed a t ap r o c e s s i n g ,a n di tl o c a t e sb e t w e e nv i e wl a y e ra n dd a t a b a s e l a y e rp r o v i d i n gt h e d a t af o rt h ev i e w l a y e r T h eJ 2 E Es t a n d a r dc a ne n h a n c e e x p a n s i b i l i t yo f t h ea p p l i c a t i o ns y s t e ma n d e f f i c i e

7、 n c yo f t h ea p p l i c a t i o ns e r v e r ,a n di t a l s oc a nm a k e d e v e l o p i n ge a s i e r I nt h ep a p e r1w i l ld e s i g na no n l i n eb o o k c h o o s i n g s y s t e m v e r ys i m i l a rw i t ht h e c o m m o no n l i n eb o o k s t o r e T h es y s t e mc a nb ec a l l

8、e da l lo n l i n eb o o k s t o r e Sf u n c t i o n a l m o d u l e ,b e c a u s et h e r e i sm u c hs i m i l a r i t yi n s y s t e mr e a l i z a t i o n A n dt h eo n l i n e b o o k s t o r ei sat y p i c a la p p l i c a t i o no fe l e c t r o n i cc o m m e r c e ,S Om yd e s t i n a t i

9、o ni s t o d i s c u s st h ea r c h i t e c t u r eo fe l e c t r o n i cc o m m e r c eb a s e do nJ 2 E E T h e r ew e r em a n y a p p l i c a t i o n sd e s i g n e da n dd e v e l o p e db a s e do nC So rB S ,w i t ht h ed e v e l o p m e n to f t h eI n t e r n e t ,t h et r a d i t i o n a

10、la p p l i c a t i o ns y s t e m sh a v eb e e nm o r ea n dm o r e r e p l a c e db y d i s t r i b u t i n ga p p l i c a t i o ns y s t e m s , T h es y s t e md e v e l o p e d b yJ 2 E Es t a n d a r dh a s t h ev i r t u e st h e g e n e r a l J 2 E E a p p l i c a t i o n sh a v e ,s u c h a

11、 s i n d e p e n d e n c e o fp l a t f o r m ,h i g h s e c u r i t y a n d e a s y e x p a n s i b i l i t y I nt h ep r o c e s so fd e v e l o p i n g ,m a n yk e yt e c h n o l o g i e so fJ 2 E Ea r e i n v o l v e d ,i n c l u d i n gE J B ,J s p ,S e r v l e t ,J D B C ,J N D Ia n dX M L S o

12、 m ed e s i g np a t t e r n s a r ea l s ou s e dt o i m p r o v et h ed e v e l o p i n ge f f i c i e n c ya n ds y s t e mc a p a b i l i t y , s u c ha s M V C ,S e s s i o nF a c a d ea n dV a l u eO b j e c t T h ea n a l y s i so fs y s t e mr e q u i r e m e n t si s c o m p l e t e db y U

13、M L N oI D E ( i n t e g r a t e dd e v e l o p m e n te n v i r o n m e n t ) t o o l ss u c ha sE c l i p s ei su s e di n t h ew h o l ed e v e l o p i n gp r o c e s s T h ec o d e sa n dX M Lf i l e sa r ee d i t e dw i t ht e x te d i t o r , a n dt h eE J Bs e r v e r Sc o n f i g u r a t i o

14、 na n dd e p l o y m e n to fa p p l i c a t i o na r ef i n i s h e db y o r i g i n a lm e a r l s A l t h o u g ht h ew a y i sm o r ed i f f i c u l ta n dt r o u b l e s o m et h a nu s i n g I D E ,i t i sm o r e h e l p f u lt ou n d e r s t a n dt h es t r u c t u r ea n dp r i n c i p l eo

15、f t h eJ 2 E Es t a n d a r d K e y w o r d s :J 2 E E ,E J B ,b o o k c h o o s i n g ,d i s t r i b u t i n ga p p l i c a t i o n 学位论文独创性声明 本人所呈交的学位论文是我在导师的指导下进行的研究工作及取得的研究 成果。据我所知,除文中已经注明引用的内容外,本论文不包含其他个人已经 发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在 文中作了明确说明并表示谢意。 作者签名:幽型墅垫 日期 学位论文使用授权声明 本人完全了解华东师范大学有关保

16、留、使用学位论文的规定,学校有权保 留学位论文并向国家主管部门或其指定机构送交论文的电子版和纸质版。有权 将学位论文用于非赢利目的的少量复制并允许论文进入学校图书馆被查阅。有 权将学位论文的内容编入有关数据库进行检索。有权将学位论文的标题和摘要 汇编出版。保密的学位论文在解密后适用本规定。 学位论文作者签名:卵眦导师签名 日期:堕止竖日期:! 堕邀 弼 r 堡越叠硕士学位论文答辩委员会成员名单 姓名职称单位备注 细双 蠡缮q 钔奄丧支量b 矿主瓿 闸羝 翻巍徭铷哺诧t 两现乏 寿杀毒勃数 货佩是南1 卿0 第l 章绪论 第1 章绪论 1 1 选书系统的设计背景 上海一家公司作为中国国家数字图书

17、馆上海地区的代理商,帮助国家数字图 书馆在上海代理销售书籍,而销售图书的前提是向客户提供书目的清单以供其选 择。国家数字图书馆提供了一个单机的选书系统,这个系统需安装在代理商的机 器上面。系统的运行界面如下图1 1 1 所示。系统提供的书目清单的更新采取替 换系统后台数据库的方式,具体过程是国家数字图书馆定期的把更新过书目清单 拷贝到一张光盘上,然后通过邮寄或者其他的方式发送到代理商的手上,代理商 把光盘上的数据库覆盖系统原先的数据库。很明显这种操作方式缺乏时效性、数 据更新的连续性,操作的时间、地点上存在过多限制,对于用户而言是非常不方 便的。在W e b 技术如此发达的年代,类似功能的系统

18、可以通过很多的方法来实 现,结构上可以是C S 、B S 或是三层模型的,关于这方面的内容下面会有专门 的讨论。 图1 1 - l 上面的安皱工作还只是购书行为得以进行的准备工作,而且仅仅对代理商而 言。如果要通过这家代理商来购买国家数字图书馆的图书就更显得麻烦了。这里 简单说明一下顾客通过代理商购买图书的过程。顾客首先要通过安装在代理商机 第1 章绪论 器上的系统来选择书籍,选择完成之后系统会生成一张E x c e l 表格或者纯文本文 件,上面是顾客需要购买的书籍列表。代理商然后打印这份书目清单送往国家数 字图书馆,图书馆然后根据书目清单把书籍发给代理商。最后代理商和顾客完成 最后的交易。

19、如果中间过程没有出现任何问题,交易顺利完成。国家数字图书馆 提供的图书可以是实物形式的也可以是电子形式的。 整个的过程非常的简单,就是一个图书购买过程,把这种近乎传统的购物模 式移植到网上就是所谓的网上书店,成功的案例很多。因为实际中操作和具体接 受的任务要求,本文所叙述的工作只是把单机的选书系统以W e b 方式移植到网 上,并不是整个的图书销售系统。笔者的目的在于通过这个系统的设计过程而来 介绍J 2 E E 应用程序的开发过程和涉及到的J 2 E E 技术,比如E J B 、J D B C 等一些 核心技术和较为常用的设计模式。 I 2J 2 E E 概述 1 2 1J 2 E E 的概

20、念介绍 J 2 E E 技术,也就是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 ,即J a v a 2 企业版。它是 由S u n 公司发起的,J 2 E E 是现在市场上的比较主流的产品。J 2 E E 标准是过去几 年中开发的许多重要应用最终促成的一个与厂家无关的公共标准。它将许多分散 的J a v a 技术整合到一起,组合成一个完整的企业标准。J 2 E E 同时也是一种利用 J a v a2 平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结 构。J 2 E E 技术的基础就是核心J a v a 平台或J

21、a v a 2 平台的标准版,J 2 E E 不仅巩固 了标准舨中的许多优点,例如“编写一次、随处运行”的特性、方便存取数据库 的J D B C A P I 、C O R B A 技术以及能够在I n t e m e t 应用中保护数据的安全模式等等, 同时还提供了对E J B ( E n t e r p r i s e J a v a B e a n s ) 、J a v a S e r v l e t s A P I 、J S P ( J a v aS e r v e r P a g e s ) 以及X M L 技术的全面支持。其最终目的就是成为一个能够使企业开发者 大幅缩短投放市场时间的

22、体系结构。J 2 E E 体系结构提供中间层集成框架用来满 足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过 提供统一的开发平台,J 2 E E 降低了开发多层应用的费用和复杂性,同时提供对 现有应用程序集成强有力支持,完全支持E n t e r p r i s eJ a v a B e a n s ,有良好的向导支 持打包和部署应用,添加目录支持,增强了安全机制。提高了性能。 2 第1 章绪论 I 2 2J 2 E E 的优势1 J 2 E E 为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机 制,大致有这样的一些被人们所认同的优势。 保留原有的信息技术资源

23、:由于企业必须适应新的商业需求,但出于节约成 本的考虑,利用已有的企业信息系统方面的投资,而不是重新制定全盘方案就变 得很重要。这样,一个以循序渐进的方式建立在已有系统之上的服务器端平台机 制是公司所愿意接受的。J 2 E E 架构可以充分利用用户原有的资源,如一些公司 使用的I n p r i s eV i s i B r o k e r 和N e t s c a p eA p p l i c a t i o nS e r v e r 。这种解决方案是建立在 J 2 E E 拥有广泛的业界支持和一些重要的“企业计算”领域供应商的参与基础之 上的。每一个供应商对客户原有的资源,都可以进行J 2

24、 E E 领域的升级,充分利 用原有资源的功能。由于基于J 2 E E 平台的产品几乎能够在任何操作系统和硬件 配置上运行,现有的软硬件系统也都能被保留使用。 提高开发的效率:J 2 E E 允许开发程序的公司把一些通用的、低层的、很繁 琐的服务端任务交给中间件供应商去完成,这样开发人员可以把精力集中在如何 创建商业逻辑上,相应地缩短了开发时间。 支持异构环境:J 2 E E 能够开发部署在异构环境中的可移植程序。基于J 2 E E 的应用程序不依赖任何特定操作系统、中间件、硬件,这也是由于它基于M 运行环境的特点所带来的,因此设计合理的基于J 2 E E 的程序只需开发一次就可 部署到各种平

25、台,具备这种特点在企业异构计算环境中是十分关键的,没有必要 为特定的平台开发相应的程序。同时J 2 E E 标准也允许客户订购与J 2 E E , 兼容的 第三方的现成的组件,这点和前一点优势类似,只不过这里是把它们部署在异构 环境中。节省了开发时间的同时也降低了制订整个方案所需的费用。 可伸缩性:企业必须要选择一种服务器端平台,这种平台应能提供极佳的可 伸缩性去满足那些在他们系统上进行商业运作的大批新客户和新业务。基于 J 2 E E 平台的应用程序可被部署到各种操作系统上。例如可被部署到高端U N I X 与大型机系统,这种系统单机可支持6 4 至2 5 6 个处理器,( 这是N T 服务

26、器所望 尘莫及的) J 2 E E 领域的供应商提供了更为广泛的负载平衡策略。能消除系统中 的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸 参考:J 2 E E 的优势,h t t p :w w w h a c k h o m e c o m 2 0 0 5 1 - 2 3 1 9 5 9 5 2 3 4 3 2 7 s h t m l ,2 0 0 5 3 3 第1 章绪论 缩的系统,满足未来商业应用的需要。 稳定的可用性:一个服务器端平台必须能全天候运转以满足公司客户、合作 伙伴的需要。因为I n t e m e t 是全球化的、无处不在的,即使在夜间按计划停机也

27、可能造成严重损失。若是意外停机,那会有灾难性后果。J 2 E E 部署到可靠的操 作环境中,他们支持长期的可用性。一些J 2 E E 部署在W I N D O W S 环境中,客户 也可选择健壮性能更好的操作系统如S u nS o l a r i s 、I B MO S 3 9 0 。最健壮的操作系 统可达到9 9 9 9 9 的可用性或每年只需5 分钟停机时间。这是实时性很强商业系 统理想的选择。 本章小结:本章主要简单的介绍一些有关论文选题的情况,论文的背景和所 涉及到的J 2 E E 技术的一些大致概念,下面的章节会有详细的描述,这里算是为 论文以后的展开做一个准备。 4 第2 章基于J

28、 2 E E 的应用开发探讨 第2 章基于J 2 E E 的应用开发探讨 2 。1 J 2 E E 的结构和分布式模型 这种基于组件,具有平台无关性的J 2 E E 结构使得J 2 E E 程序的编写十分简 单,因为业务逻辑被封装成可复用的组件,并且J 2 E E 服务器以容器的形式为所 有的组件类型提供后台服务。因为你不用自己开发这种服务,所以你可以集中 精力解决手头的业务问题。 2 1 1 容器提供的服务 容器设嚣定制了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

29、t e r f a c e ) 寻址,远程连接等服务,以下列出最重要 的几种服务: J 2 E E 安全( S e c u r i t y ) 模型可以让你配置W E B 组件或E n t e r p r i s eB e a n ,这 样只有被授权的用户才能访问系统资源。每一客户属于一个特别的角色,而每个 角色只允许激活特定的方法,应在E n t e r p r i s eB e a n 的布置描述中声明角色和可被 激活的方法。由于这种声明性的方法。不必编写加强安全性的规则。 J 2 E E 事务管理( T r a n s a c t i o nM a n a g e m e n t ) 模

30、型让你指定组成一个事务中所 有方法间的关系,这样一个事务中的所有方法被当成一个单一的单元。当客户端 激活一个E n t e r p r i s eB e a n 中的方法,容器介入管理事务。因有容器管理事务,在 E n t e r p r i s eB e a n 中不必对事务的边界进行编码。要求控制分布式事务的代码会非 常复杂。你只需在布置描述文件中声明E n t e r p r i s eB e a n 的事务属性,而不用编写 并调试复杂的代码。容器将根据此文件并为你处理此E n t e r p r i s eB e a n 的事务。 J N D I 寻址( J N D IL o o k

31、u p ) 服务向企业内的多重名字和目录服务提供了一 个统一的接口,这样应用程序组件可以访问名字和目录服务。 J 2 E E 远程连接( R e m o t eC l i e n tC o n n e c t i v i t y ) 模型管理客户端和E n t e r p r i s e B e a n 间的低层交互。当一个E n t e r p r i s eB e a n 创建后,一个客户端可以调用它的 方法就好像它和客户端位于同一虚拟机上一样。 生存周期管理( L i f eC y c l eM a n a g e m e n t ) 模型管理E n t e r p r i s eB e

32、 a n 的创建和 移除,一个E n t e r p r i s eB e a n 在其生存周期中将会经历几种状态。容器刨建 E n t e r p r i s eB e a n ,并在可用实例池与活动状态中移动它们,而最终将其从容器中 移除。即使可以调用E n t e r p r i s eB e a n 的c r e a t e 及r e m o v e 方法,容器也将会在后 第2 章基于J 2 E E 的应用开发探讨 台执行这些任务。 2 1 2J 2 E E 四层模型 J 2 E E 使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用 组件根据他们所在的层分布在不同的机器上。

33、事实上,S U N 设计J 2 E E 的初衷正 是为了解决两层模式( C l i e n t S e r v e r ) l 拘弊端。在传统模式中,客户端担当了过多的 角色而显得臃肿。在两层模式中,第一次部署的时候比较容易,但难于升级或改 进,可伸展性也不理想,而且经常基于某种专有的协议通常是某种数据库协 议,它使得重用业务逻辑和界面逻辑非常困难。现在J 2 E E 的多层企业级应用模 型将两层化模型中的不同层面切分成许多层,一个多层化应用能够为不同的每种 服务提供一个独立的层。J 2 E E 典型的四层结构如图2 1 - l 所示,包括运行在客 户端机器上的客户层组件、运行在J 2 E E

34、 服务器上的W e b 层组件、运行在J 2 E E 服务器上的业务逻辑层组件和运行在E I S 服务器上的企业信息系统( E n t e r p r i s e I n f o r m a t i o nS y s t e m ) 层软件。下面为各个功能层面作一个比较详细的说明。 客户层W e b 层业务层企业信息系 图2 1 1 ( 1 ) 客户层( C l i e n t T i e r ) J 2 E E 应用可以是基于W e b 的,也可以是不基于W e b 的。在基于W 曲的J 2 E E 6 第2 章基于J 2 E E 的成用开发探讨 应用中,用户的浏览器在客户层中运行,并从一个

35、W e b 服务器上下载W E B 层中 的静态H T M L 页面或由J S P 或s e r v l e t s 生成的动念H T M L 页面。在不基于W e b 的J 2 E E 应用程序中,一个独立的客户程序,可以不运行在一个H 1 _ M L 页面中, 而是运行在其它一些基于网络系统( 比如手持设备) 中的A p p l e t 程序,或者J A V A 语言直接编写的客户端程序。这些应用在客户层中运行,并在不经过W e b 层的 情况下访问E n t e r p r i s eB e a n s 。不基于W e b 的客户层也可能像采用基于W e b 方式 那样使用一个J a v

36、 a B e a n s 类来管理用户输入,并将该输入发送到在企业层中运行 的E n t e r p r i s eB e a n 类来处理。 ( 2 ) W e b 层 J 2 E EW e b 层组件可以由J S P 页面、基于W e b 的A p p l e t s 以及显示H T M L 页 面的S e r v l e t s 组成。调用S e r v l e t s 或者J S P 页面的H T M L 页面在应用程序组装时 与W e b 组件打包在一起。就像客户层一样,W e b 层可能包括一个J a v a B e a n s 类来 管理用户输入,并将输入发送到在业务层中运行的E

37、 n t e r p r i s eB e a n s 类来处理。 运行在客户层的W e b 组件依赖容器来支持诸如客户请求和响应以及E n t e r p r i s e B e a n s 查询等。这里的关于W e b 层的描述和客户层非常的相似,可以理解为客户 层完全是表现的功能,一般不包括业务逻辑方法,W e b 层则和E n t e r p r i s eB e a n s 交互,自身比如J S P 和S e r v l e t s 中会包含一些业务逻辑。在上面谈到J 2 E E 优势 时把它们它们一并归为表现层。 ( 3 ) 业务层 作为解决或满足某个特定业务领域( 如银行、保险、

38、零售、物流或会融业) 需要的逻辑的业务代码由运行在业务层的E n t e r p r i s eB e a n s 来执行。一个 E n t e r p r i s eB e a n s 从客户程序处接收数据,对数据进行处理( 如果需要) ,再将 数据发送到企业信息系统层存储。一个E n t e r p r i s eB e a n s 还从存储中检索数据, 并将数据送回客户程序。运行在业务层的E n t e r p r i s eB e a n s 依赖于容器来为诸如 事务、生命期、状态管理、多线程及资源存储池等提供通常都是非常复杂的系统 级代码。业务层经常被称作E n t e r p r

39、i s eJ a v a B e a n s ( E J B ) 层。业务层和W e b 层 一起构成了多层J 2 E E 应用的中间层,而其它两层是客户层和企业信息系统层。 ( 4 ) 企业信息系统层 企业信息系统层运行企业信息系统软件,这层包括企业基础设施系统,例如 第2 章基于J 2 E E 的应用开发探讨 企业资源计划( E R P ) 、大型机事务处理( M a i n f r a m eT r a n s a c t i o nP r o c e s s i n g ) 、数 据库系统及其他遗留信息系统( L e g a c yI n f o r m a t i o nS y s

40、t e m s ) 。J 2 E E 应用组件因 为某种原因( 例如访问数据库) 需要访问企业信息系统。在本文中讨论的企业信 息系统层只涉及到数据库系统。 本小节介绍J 2 E E 分层模型采用的是较多的四层模型的分类和表述方法,有 时候也会说成表示层、业务层和数据库层,其实本质上是相同的。只是根据不同 讨论角度的需要,可以选择合适的说法。 2 2 J 2 E E 核心技术1 J 2 E E 平台由一整套服务( S e r v i c e s ) 、应用程序接口( A P I ) 和协议构成,支 撑J 2 E E 平台的1 3 种技术包括J D B C ,J N D I ,E J B ,R M

41、 I ,J S P ,J a v as e r v l e t ,X M L , J M S ,J a v aI D L 。J T S ,J T A ,J a v a M a i l 和J A F 。鉴于本文的篇, i f n 所要表述的 主要内容,下面只是对其中的一些作一个简单的介绍和说明。 ( 1 ) J D B C J D B CA P I 以一种统一的方式来对各种各样的数据库进行存取。和O D B C 一 样,J D B C 为丌发人员隐藏了不同数据库的不同特性。另外,由于J D B C 建立在 J a v a 的基础上,因此还提供了数据库存取的平台独立性。J D B C 定义了四种不

42、同 的驱动程序,如下: 类型一:J D B C O D B C 桥( J D B C - O D B CB r i d g e ) 在J D B C 出现的初期,J D B C O D B C 桥显然是非常有实用意义的,通过 J D B C O D B C 桥,开发人员可以使用J D B C 来存取O D B C 数据源。不足的是, 他需要在客户端安装O D B C 驱动程序,也就是说必须安装M i c r o s o f tW i n d o w s 的 某个版本,所以使用这一类型的驱动你也就牺牲了J D B C 的平台独立性。另外, O D B C 驱动程序还需要具有客户端的控制权艰。 类

43、型二:J D B C 本地驱动程序桥( J D B C N a t i v e D r i v e rB r i d g e ) J D B C 本地驱动程序桥提供了一种J D B C 接口,它建立在本地数据库驱动程 序的顶层,而不需要使用O D B C 。J D B C 驱动程序将对数据库的A P I 从标准的 J D B C 调用转换为本地调用。使用此类型同样需要牺牲J D B C 的平台独立性,还 要求在客户端安装一些本地代码。 参考 J 2 E E 核心技术h t t p ;w w w n l a t r i x o m c n a r t i c l e l i s t a s t

44、? ci d = 1 2 & si d - 。2 4 ,2 0 0 53 第2 章基于J 2 E E 的应用开发探讨 类型三:J D B C 网络驱动桥( J D B C N e t w o r k B r i d g e ) J D B C 网络桥驱动程序不再需要客户端数据库驱动程序。它使用网络上的中 间服务器来存取数据库。这种应用使得以下技术的实现有了可能,这些技术包括 负载均衡、连接缓冲池和数据缓存等。由于这种类型的驱动往往只需要相对更少 的下载时间,具有平台独立性,而且不需要在客户端安装并且取得控制权,所以 很适合于I n t e m e t 上的应用。 类型四:纯J A 、,A 驱动

45、类型( P u r eJ a v a D r i v e r ) 纯J A V A 驱动类型通过使用一个纯J a v a 数据库驱动程序来执行数据库的南 接访问。此类型实际上在客户端实现了两层结构。要在N 层结构中应用,一个 更好的做法是编写一个E J B ,让它包含存取代码并提供一个对客户端具有数据库 独立性的服务。本文使用的M y s q l 数据库驱动o r g g i t m m m y s q l D r i v e r 就是符合 这个规范的第四类驱动。 ( 2 ) J a v a N a m i n g a n d D i r e c t o r yI n t e r f a c

46、e ( J N D I ) J N D IA P I 被用于执行名字和目录服务。它提供了一致的模型来存取和操作 企业级的资源如D N S 、L D A P 和本地文件系统在应用服务器中的对象。在J N D I 中,在目录结构中的每一个结点称为C o n t e x t ,每一个J N D l 名字都是相对于 C o n t e x t 的。这里没有绝对名字的概念存在。对一个应用来说,它可以通过使用 I n i t i a l C o n t e x t 类来得到其第一个c o n t e x t ,这方面和链表非常的相似,需要得到 “头”元素,例如C o n t e x tc t x = n

47、e wI n i t i a l C o n t e x t ( ) ,应用可以通过这个初始化 的c o n t e x t 经由这个目录树来定位它所需要的资源或对象。例如,假设你在J B O S S 服务器中展开了一个E J B 并将H o m e 接1 2 1 绑定到名字“b o o k e j b S t a t e l e s s _ b e a n ”, 那么该E J B 的某个客户端在取得一个初始化c o n t e x t 以后,可以通过它的 L O O K U P 方法定位H o m e 接口,S t a t e l e s s _ b e a n H o m e h o m

48、e 2 c t x 1 0 0 k u p ( “b o o k e j b S t a t e l e s sb e a n ) 。一旦你有了对被请求对象的引用,E J B 的h o m e 接 口就可以在它上面调用方法。下面的E J B 介绍和以后的系统具体实现章节中将 有更多详细的介绍。 ( 3 ) E n t e r p r i s e J a v aB e a n s ( E J B ) J 2 E E 技术之所以赢得大家广泛重视的原因之一就是E J B 。它们提供了一个框 架来丌发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高度复杂 9 第2 章摹于J 2 E E 的应用

49、开发探讨 的企业级应用的开发。E J B 规范定义了E J B 组件在何时、如何与它们的容器进 行交互作用。容器负责提供公用的服务,例如目录服务、事务管理、安全性、资 源缓冲池以及容错性等。E J B 规范定义了三种基本的E n t e r p r i s eB e a n 类型: 1 1S e s s i o nB e a n ( 会话B E A N ) ;会话( S e s s i o n ) B e a n 的作用建立在会话的基 础之上,客户在请求并收到B e a n 功能之后,具有特定B e a n 的会话就终止了而 且没有留下会话发生的记录。它按生命周期的不同又分为S t a t e l e s sS e s s i o nB e a n ( 无状态会话B E A N ) 和S t a t e f u lS e s s i o nB e a n ( 有状态会话B E A N ) 。S t a t e l e s s S e s s i o nB e a n 提供某种单一的服务。不维持任何状态,无状态会话B e a n 一旦实 例化就被加进会话池中,各个用户都可以使用。即使用户已经消亡,B

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育


经营许可证编号:宁ICP备18001539号-1