(计算机应用技术专业论文)基于j2ee的图书信息网站的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于j2ee的图书信息网站的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于j2ee的图书信息网站的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于j2ee的图书信息网站的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于j2ee的图书信息网站的设计与实现.pdf_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

基于j 2 e e 的图书信息嘲站的设计与实现 摘要 摘要 随着计算机和信息技术的飞速发展,电子商务的应用越来越广泛。 本文通过一个图书信息网站的设计和实现,分析了一种基于j 2 e e 平台的w e b 应用设计方案,重点讨论了w e b 应用的体系结构、s t r u t s 框架、组件和分层设 计等技术。 软件系统的规模扩大以及复杂性的提高,使得体系结构的选择逐渐成为比 数据结构和算法的选择更为重要的因素。本文对w e b 应用的体系结构模式进行了 初步探讨,在此基础上对目前流行的n e t 和j 2 e e 技术进行了分析、比较和筛选, 确定了以j 2 e e 作为系统的设计架构。 本系统基于s s 结构,采用r 1 c 模式进行开发。系统采用多层体系结构: w e b 层使用s t i u t s l 1 作为设计框架;业务层由c o n t r o l l e r 、e v e n t h a n d l e r 、d a o 三层组件完成主要商业逻辑;数据层采用m y s o l 4 0 关系型数据库系统。整个系 统在j b u il d e r 2 0 0 5 下开发、调试,在w e b l o g i cp l a t f o r m8 1 上部署运行。 本文给出了一个出版社图书信息网站的基本功能,完成了图书信息管理、 用户信息管理、订单信息管理以及用户评论等主要功能模块的设计与实现,基本 构成了一个图书信息网站的框架。 本文提出了一种基于j 2 e e 平台的商务网站的设计方案,展示了基于组件设 计、多层结构应用、组件重用等j 2 e e 的技术特点。虽只是一个电子商务的原型 系统,但其跨平台、易维护、易扩展和基于组件等设计思想还是比较鲜明的,稍 加修饰和改造,可实现真正的商业用途。 关键词:j 2 e e ;m v c ;s t r u t s ;多层结构 作者:管兆宁 指导教师:朱巧明 a b s t r a c t 基十j 2 e e 的图书信息网站的i 垃计与实现 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fc o m p u t e ra n di n f o r m a t i o nt e c h n o l o g y , e b u s i n e s s i sb e i n ga p p l i e dw i d e l y t h et h e s i s a n a l y z e sak i n do fa p p l i e dw e b s i t ed e s i g ns c h e m eb a s e do nj 2 e e t h r o u g ht h ed e s i g na n di m p l e m e n t a t i o no fab o o ki n f o r m a t i o nw e b s i t e i tm a i n l y d i s c u s s e st h ew e ba p p l i e da r c h i t e c t u r e ,s t r u t s f r a m e ,c o m p o n e n tt e c h n o l o g y , m u l t i l a y e rd e s i g nt e c h n o l o g ya n ds oo n w h e nw i t ht h es c a l ee x t e n d e da n dc o m p l e x i t yi n c r e a s e di nt h es o f t w a r es y s t e m , t h ec h o i c eo ft h es o f t w a r ea r c h i t e c t u r eb e c o m e sm o r ei m p o r t a n tt h a nt h a to fd a t a s t r u c t u r ea n da l g o r i t h m t h et h e s i sd i s c u s s e st h em o d e l so fw e ba p p l i e da r c h i t e c t u r e , c o m p a r e sa n da n a l y s e st h ep o p u l a rt e c h n o l o g yo f n e ta n dj 2 e e ,a n dm a k es u r e j 2 e ea st h es y s t e md e s i g na r c h i t e c t u r e t h es y s t e mb a s e du p o nb sa r c h i t e c t u r ei s d e v e l o p e db ym v cm o d e l t h e s y s t e mi sam u l t i l a y e ra r c h i t e c t u r e :l a y e ro f w e ba d o p t ss t r u t s l 1a st h ed e s i g nf r a m e , t h el a y e ro ft r a n s a c t i o ni so r g a n i z e db yc o m p o n e n t so fc o n t r o l l e r , e v e n t h a n d l e r , d a oa n dt h el a y e ro fd a t aa d o p t sm y s q l 4 0 t h es y s t e mi sd e v e l o p e dw i t ht h et o o l s o f j b u i l d e r 2 0 0 5a n d d e p l o y e do n t h e p l a t f o r mo f w e b l o g i c8 1 t h et h e s i sg i v e so u tt h eb a s i cf u n c t i o n so fab o o ki n f o r m a t i o nw e b s i t eo fa p u b l i s h i n gh o u s e i tf u l f i l l st h ed e s i g na n di m p l e m e n t a t i o no fm a i nf u n c t i o ni nt h e b o o ki n f o r m a t i o nw e b s i t ei n c l u d i n gb o o ki n f o r m a t i o nm a n a g e m e n t ,u s e ri n f o r m a t i o n m a n a g e m e n t ,o r d e ri n f o r m a t i o nm a n a g e m e n ta n du s c f s c o m m e n t s i tb a s i c a l l yf o r m s i 【 基于j 2 e e 的图书信息网站的设计与实现 a b s t r a c t t h ef r a m e w o r ko f ab o o ki n f o r m a t i o nw e b s i t e t h et h e s i sp u t sf o r w a r dak i n do fd e s i g ns c h e m eo fe - b u s i n e s sw e b s i t eb a s e do n j 2 e e ,d e m o n s t r a t e st h ef o l l o w i n gt r a i t s l i k ec o m p o n e n t b a s e dd e s i g n ,m u l t i l a y e r a p p l i c a t i o n ,c o m p o n e n tr e u s ee t c a l t h o u g hi ti s ap r o t o t y p es y s t e mo fe b u s i n e s s ,i t s h o w ss o m eg o o di d e a ss u c ha sc r o s s p l a t f o r m ,e a s i l y - m a i n t e n a n c e ,e a s i l y e x p a n d e d n e s sa n dc o m p o n e n t b a s e dd e s i g n a n di tc a nb eu s e dc o m m e r c i a l l yo n l yw i t l lal i t t l e k e yw o r d s :j 2 e e ;m v c ;s t r u t s ;m u l t i l a y e r 1 i i w r i t t e nb y :g u a nz h a o n i n g s u p e r v i s e db y :z h uq i a o m i n g 苏州大学学位论文独创性声明及使用授权声明 学位论文独创性声明 本人郑重声明:所提交的学位论文是本人在导师的指导下,独立进行研究工作所 取得的成果。除文中已经注明引用的内容外,本论文不含其他个人或集体已经发表或 撰写过的研究成果,也不含为获得苏州大学或其它教育机构的学位证书而使用过的材 料。对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。本人承 担本声明的法律责任。 研究生签名:芝迸日期: 学位论文使用授权声明 如,4 j 占 苏州大学、中国科学技术信息研究所、国家图书馆、清华大学论文合作部、中国 社科院文献信息情报中心有权保留本人所送交学位论文的复印件和电子文档,可以采 用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一 致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布( 包括刊登) 论 文的全部或部分内容。论文的公布( 包括刊登) 授权苏州大学学位办办理。 研究生签名 导师签名基 日期 e t 期 砌r ,“砖 尘9 基于j 2 e e 的图书信息网站的设计与实现 第1 章绪论 第1 章绪 论 1 1 课题的来源、目的和意义 对于大多数人来说,电子商务就是在i n t e m e t 上购物,虽然这种理解有失偏 颇,但它却诠释着这样一个事实:i n t e r n e t 已经成为电子商务应用的一个核心平 台,它的技术进步,将会推动电子商务的全面发展。 在当今的i n t e m e t 时代,网站几乎是一切应用的核心。可以用这么一句话来 概括,一切以前需要通过各种专用系统才能实现的功能,现在通过i n t e m e t 基本 上都能实现。商务网站,作为挑战传统经营理念的一种全新的营销方略,已经为 企业界广为接受,并逐渐成为了企业商务应用在i n t e m e t 上的基本模式。 商务网站的开发涉及的层面和技术相对比较复杂,但随着w e b 应用技术的 发展,建立较为完善的、蕊向企业应用的商务网站已成为可能。近年来出现了一 种新的w e b 应用开发方案,即应用服务器方式。应用服务器是企业应用架构从 传统的两层客户机服务器模式向三层、多层模式转移的必然产物。这种转移, 是企业进入电子商务的关键步骤。 应用服务器应当具备的首要特性是至少三层的体系结构,应用服务器软件 位于企业服务器之上,连接着装有浏览器的“瘦”客户机和后端数据库。从最概 念化的层面上看,应用服务器只是一类软件,即它负责处理应用中的业务逻辑, 并将业务逻辑作为整个分布式系统的一个有机部分来对待。但事实上,应用服 务器不仅在电子商务的基础设施中处于很关键的地位,其本身也包含了丰富的 技术内容。 目前大多数应用服务器是基于s u n 公司的j 2 e e 平台的。j 2 e e 平台,即j a v a 2 企业版,是由s u n 公司推出的新型平台。 2 e e 并不是一种单一的技术,它是 一个体系结构,综合了多项技术,并形成了一个单一的统一标准。可以根据需要 来构建应用系统。其采用的三层结构体系、分布式环境、面向对象的模块化组件 设计技术,可以使企业快速、高效地部署自己的应用程序。目前商业上已经有不 少采用j 2 e e 平台的成功例子。如h pb l u e s t o n e 的t o t a l e s e r v e r 、jc r e w 的 1 蔓! 主缝堡 苎量堡坚塑里鱼星璺堕塑墼盐兰塞堡 a t gd y n a m os u i t e 等。目前国内对于j 2 e e 的应用也逐渐发展起来。 本课题的目的是通过一个出版社图书网站的设计和实现,探讨一种基于 j 2 e e 平台的w e b 应用设计方案,对j 2 e e 的一些相关技术作了一定的分析和研 究,并付诸实践,从而体现基于组件设计、多层结构应用、组件重用、松散耦合等 j 2 e e 的技术特点,为今后的企业级开发应用积累经验。 1 2 系统的特色及创新 目前在多层应用结构方面,j 2 e e 技术和n e t 技术是两种主要的解决方案, 二者各有特点。本文在对这两种流行技术研究的基础上进行了比较和筛选,选 择了j 2 e e 作为开发平台,并结合一个在线图书网站的开发,提出了一种基于 j 2 e e 的w e b 应用设计方案,重点讨论了s t r u t s 框架、组件技术以及分层结构。 系统所要体现的技术特色和创新概括如下: 1 、系统的功能设计比较简洁,后台设计选择了j 2 e e 技术,基于组件的分层 设计使系统结构清晰,脉络分明,负载均衡,且具有良好的扩展性,易于维护。 2 、系统采用了m v c 模式进行开发,做到了视图、控制和模型的分离。在业 务层的组f l :i 殳f l - 中,运用了b 削g e 模式和s e s s i o nf a c a d e 模式,提高了设计的规 范性,实现了各层同连接的松耦合。 3 、在w e b 层设计中,采用了s t r u t s 框架,使业务逻辑和显示功能合理分离, 逻辑结构更为清晰。埘i b 标签库的引入,使j s p 页面设计剥离了程序控制语 言,显得更为简洁、直观,提高了开发效率。 4 、在各层的设计中,通过引入不同的值对象来封装、传递业务数据,使每层 的开发者只需关心自己层中的值对象,无需对整个系统从上到下都掌握。w e b 层的f o r m 针对页面的表单数据,业务层的e v e n t 针对一个完整的用户用例,v o 则针对数据库中的一个具体的数据表。这种不同的角色设计,充分体现了分层 的意义,从而实现了系统开发的高效率和强维护性。 总之,随着软件系统的规模扩大和复杂性的提高,软件体系结构的选择变得 越来越重要。本系统在功能设计上较为简洁,但它体现了一种基于组件,多层分 布的j 2 e e 体系设计思想,能为用户有效地提供系统维护、功能扩展和升级的 空间。 , 薹量墨! ! 丝旦皇焦皇旦塑塑堡盐量塞墨苎! 妻熊堕 1 3 论文的结构和内容 第1 章是绪论,对全文的一个概述。 第2 章对w e b 应用技术的体系结构发展和软件开发平台作了一定的探讨, 重点对目前流行的n e t 和j 2 e e 平台进行了比较,提出了自己的看法,进一步阐 明了体系结构和开发框架的设计选择对于软件系统开发的重要性。 第3 章是系统分析和概要设计,提出了总体设计框架,并对所涉及的技术进 行了分析说明。 第4 章是全文的重点,分别从w e b 层、业务层、数据层、开发工具和服务器部 署四个方面详细介绍了系统的设计思想和实现技术。 第5 章对全文进行了总结,分析了系统的不足,提出了今后的工作方向。 1 4 本人所做的工作 在系统的设计和实现过程中,本人主要完成了以下工作: 系统的需求分析、功能设计、总体框架设计、主要代码编写、数据库设计、 j l m i l d e r 开发环境配置、w e b l o g i c 服务器部署以及调试。 3 第2 章w e b 应用的体系结构分折与开发平台选择基于n e e 的田书信息舟站的设计与宴现 第2 章w e b 应用的体系结构分析与开发平台选择 随着软件系统的规模扩大和复杂性的提高,软件体系结构的选择成为比数 据结构和算法的选择更为重要的因素。体系结构的不断完善,使得软件开发架 构技术也在不断发展。目前在多层应用结构方面,j 2 e e 技术和n e t 技术是两 种主要的解决方案,二者各有特点,分别适用于不同的环境需求。 2 1 体系结构及其发展 软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象。它不 仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素 之问的对应关系,提供了一些设计决策的基本原理。体系结构的设计,对于一个 系统开发的作用是决定性的。 2 1 1 传统的两层应用体系结构 随着服务器技术的发展,网络经济中的应用系统更多地趋向于基于服务器 的分层应用系统,并支持各种系统的互操作性。这些应用系统是分布式的,即它 们是运行在几个不同的设备上,包括后端进行数据访问的主机、在中间层支持 w e b 和事务监控的服务器,以及允许用户访问应用系统的各种客户端设备。 传统的分布式系统是基于客户服务器模式( 即c $ 模式) 的两层结构,其结 构图如图2 1 所示。在两层结构下,客户层包含了用户接i = 1 、商业逻辑和显示 逻辑,服务器层负责数据的存取。这种两层结构比较适合在小规模、用户较少、 单一的数据库且安全、快速的环境( 如局域网) 下运行。 基于浏览器的应用系统称为浏览器一服务器模式( 即b s 模式) ,它是对c s 模式的一种变形,其结构如图2 2 所示。 4 薹王里墅i 塑里童鱼皇旦垄苎照矍盐量壅望蔓兰塞坠堕旦箜签墨笪塑熊堑皇翌垄! 宣鎏登 图2 1 传统的客户服务器模式( c , s ) 圈2 - 2 潮篮蒜,鼢眷橇式( e s ) 在b s 模式下,用户界面遗过谢览器实现,应用系统运行在w e b 服务器上, 提供了所有的商业逻辑和状态维护。使用这种配置方式,应用系统能够提供来 自简单页面查询的所有信息。能够执行比指定操作更复杂的过程,以及维护状态 信息。耳前在i n t e r n e t 上的大多数应用系统,包括网上商店系统都是基予这种模 式的。 这种两层体系结构的发展为系统增添了许多新的功能和应用,这种结构最 初保证了系统的可伸缩性,它对于紧凑控崩环境是很适合的。但随着应用系统 的规模不断扩大,复杂性越来越高,在多用户、多数据库且非安全舶网络环境下 ( 如i n t e r n e t ) ,这种两层体系结构的缺点越来越突出,主要表现在以下几个方面: ( 1 ) 它是单一服务器,且以局域网为中心,因此难以扩展至大型企业网或 i n t r a n e t o ( 2 ) 软件受限于供应商,程序的升级维护必须由供应商重新开发扩展。 ( 3 ) 软、硬件的组合及集成能力有限。在软件上呈现出滕客户端,即用户必 气 曼兰童坠壁旦塑簦薹缝塑坌堑皇要塞鱼篓楚 苎王里坚塑璺壹焦墨曼堕盟墼盐兰基墨 须在客户端安装特定的客户端应用程序,而且企业的业务逻辑都集中在客户端 应用程序中,维护困难,程序升级需要每个客户端程序重新更新。同时,对于程 序开发商来说,程序模块的重用性差,各个模块相对独立,无法相互调用。 ( 4 软件部署的开销大,容易造成系统运行性能下降。 ( 5 ) c $ 模式很难管理大量的客户机。 基于以上这些原因,传统的两层模式已经无法适应技术发展的需要,随着计 算机技术的普及和用户需求的进一步提高,多层体系结构应运而生。 2 1 2 多层分布式应用体系结构 在两层结构的基础上,将应用系统的商业逻辑转移到一个更紧凑控制的集 中的系统中,中间的事务监控,负责继承单独的事务机制的不同数据资源。运用 这种技术。传统上连接不上的系统也连接起来了。这种配置方式的发展促成了 一种新的体系结构的出现,即具有分布式事务的多屡应用系统结构。多层模型 的结构如图2 3 所示。 图2 3 多层结构接班 这种结构在逻辑上将应用功能分为三层:客户显示层、韭务逻辑层、数据层。 客户显示层是为客户提供应用服务的图形界面。业务逻辑层位于中间,为实现 企业的商业逻辑提供了一个明确的层次,在这个层次封装了与系统关联的应用 模型,提供客户应用程序和数据服务之间的联系,主要功能是执行应用策略和封 装应用模式并将封装的模式呈现给客户应用程序。数据层位予最底层,用来定 义、维护、访问和更新数据并管理和满足应用服务对数据的请求。中间的业务逻 辑层还可根据需要作进一步的分割,使业务逻辑细化,形成多层的模式,从丽使 层次关系更清晰、耦合更小。 6 薹王丝望墼里塑笪塞旦堕塑丛皇塞矍苎兰主坠堕旦箜签墨堕塑坌堑曼堑蕉鱼垄璺 多层模型的主要优点是: ( 1 ) 良好的灵活性和可扩展性。对于环境和应用条件经常变动的情况,只 要对应用层实施相应的改变,就能够达到目的。 ( 2 ) 可共享性。单个应用服务器可以为处于不同平台的客户应用程序提供 服务,在很大程度上节省了开发时间和资金投入。 ( 3 ) 具有较好的安全性。在这种结构中,客户应用程序不能直接访问数据 层,应用服务器不仅可控制数据被访问和被改变,而且还可控制数据的访问方式 和改变方式。 ( 4 ) 增强了“企业组件”的复用性。“企业组件”是指封装了企业逻辑程序代 码,能够执行特定功能的对象。随着组件技术的发展,这种可重用的组件模式越 来越为软件开发所接受。 ( 5 ) 多层模型成为真正意义上的“瘦客户端”,从而具备了较高的稳定性、延 展性和执行效率。 ( 6 ) 多层模型可以将服务集中在一起管理,统一服务于客户靖,从而具备了 良好的容错能力和负载平衡能力。 目前,多层分布式应用体系结构已经得到了越来越多的应用。应用系统只 有向多层分布式转变,才能最终解决c s 两层结构模式存在的问题。在多层架 构下,应用可以分布在不同的系统平台上,通过分布式技术实现异构平台问对象 的相互通信,从而极大地提高系统的可扩展性。 现在许多公司都开发出自己的分布式多层体系结构的产品。比如m i c r o s o f t 公司的n e t 、s u n 公司的j 2 e e 、o m g 公司的c o r b a 标准等。 2 。2 m i c r o s o f t n e t 开发平台 2 2 1 m i c r o s o h n e t 概述 m i c r o s o f t n e t 的前身是下一代w i n d o w s 服务( n g w s ) ,始于1 9 9 8 年。它主 要基于包含实际语言和执行平台的,n e tf r a m e w o r k ,以及提供了丰富内建功能的 基本类库。m i c r o s o f t n e t 是一种把i n t e m e t 转换成一个分布式计算平台的技 术a 其蕴含的基本理念是:将注意力从单独的w e b 站点以及与i n t e r n e l 相连的各 7 墨兰! ! 些堕旦墼签至楚翅筮堑量翌壅鱼垄登薹王星罂箜翌壹笪皇璺堕盟建盐量壅墨 种设备,转移到由各种计算机、设备和服务协同工作的架构之上,从而提供涉及 面更广、功能更全面的解决方案。m i c r o s o f t n e t 的设计理念在于允许在合作解 决方案构架内集成或协调i n t e r n e t 上的任意资源组。它为翩建分布式w e b 应用 提供了所有的工具和技术,在应用的各个层次上提供了一个语育的统一编程模 型,同时对已有的技术进行了无缝的集成。 2 2 2 m i c r o s o f t n e t 体系结构 图2 4 给出了m i c r o s o f t n e t 开发框架的几个主要组成部分:首先是整个开 发框架的基础,即通用语言运行时( c o m m o nl a n g u a g er u n t i m e ) 的系统以及它所 提供的一组基础类库;在开发方面,。n e t 提供了全颞的数据库访阃技术a d o n e t ,网络应用开发技术a s p n e t 以及w i n d o w s 编程技术w i nf o r m s ;在开发语 言方面,n e t 提供了v b 、v c + + 、c # 、j s c f i p t 等多种语言支持;而v i s u a ls t u d i o n e t 则是全面支持n e t 的开发工具。 图2 4m i c r o s o f t n e t 的架构 2 2 3 m i c r o s o f t 。n e t 内部构成 m i c r o s o f t n e t 平台包含多个组件,现对其主要组件作些简介: c 社是一个“新程序语言”,用来撰写类别和组件,它融合了c c + + 和j a v a 的特色,还增加了一些其他的特色,如m e t a d a t at a g 。 r 薹至堡堡丝望整焦叁曼楚鲍丛皇塞塑 墨兰茎! 生壅墨塑签蔓熊塑筮堑墨要塞鱼堡壹 一个“通用语言执行时期系统”负责管理存储器、线程和进程的开始和终止, 执行安全政策以及满足各个构件的相互依赖性。 一组“基础组件”提供多样的功能,以供执行时期系统使用。 a s p n e t 是w e b 开发n e t 战略的一部分。a s p n e t 是一个统一的w e b 开发平台,该平台提供了开发者构建企业级w e h 应用所必需的服务。 w i nf o r m 和w e bf o r m 是一组新的u i 组件骨干,提供v i s u a ls t u d i o 使用 a d o n e t ,为操纵各种类型的数据提供了丰富的数据处理和数据绑定函数。 2 3 s u n 的j 2 e e 平台 2 3 。1j 2 e e 概述 j 2 e e 是s u n 公司提出的一个分布式、多层应用的标准体系结构,它以组件 的方式来设计、r o l l 企业应用。j 2 e e 技术的基础核心是j a v a 平台,即j a v a 2 平台 的标准版。j 2 e e 具有“一次编写,到处运行”的特性、方便存取数据库的j d b c a p i 、c o r b a 技术以及能够在h t e r n e t 应用中保护数据的安全模式等,同时还提 供了对e j b ( e n t m p r i s ej a v a b e a r m ) 、j a v as e n , l e ta p i 、j s p ( j a v as e r v e rp a g e s ) 以及 x m l 技术的全面支持。其最终的目的就是成为一个能够使企业开发者大幅度缩 短投放市场时间的体系结构。 2 3 2 j 2 e e 体系结构 j 2 e e 是一种多层次分布式应用模型,应用逻辑按照功能划分为组件,组件在 相应的组件容器中运行,每个层次都支持相应的服务器和组件,各个组件根据它 们所在的层分布在不同的机器上,容器阔通过相关协议进行通信,实现组件之间 的调用。j 2 e e 的典型的四层结构如图2 - 5 所示: 9 苎! 塞! 堕瘗旦塑堡墨堕蝗熊堑墨要塞鱼鎏壹 薹王里望塑笪壹焦墨曼整塑堡盐量差曼 j 缆蝴程序l j 2 髓应用程序2 客户詹 业务逻辑层 e i s 屡 客户墙帆器 j 2 髓服务器 致据库曩务器 凰2 5j 2 眈四层体系结构模塑 j 2 e e 的备层组件有: 运行在客户机器上的客户层组件。 运行在j 2 e e 服务器上的w e b 层组件。 运行在j 2 e e 服务器上的业务逻辑层组件。 运行在e i s 服务器上的企业信息系统层( e i s ) 组件。 j 2 e e 应用组件可以安装部署到以下几种容器中: e j b 容器管理所有j 2 e e 应用程序中f _ j b 的执行,f j b 和它们的容器运行在 j 2 e e 服务器上。 w e b 容器管理所有j 2 e e 应用程序中j s p 页面和s e r v l e t 组件的执行,w e b 组件和它们的容器运行在j 2 e e 服务器上。 应用程序客户端容器客户端容器管理所有j 2 e e 应用程序中应用程序客户 端组件的执行。 a p p l e t 容器是运行在客户端的w e b 浏览器和j a v a 插件的结合。 2 3 3 j 2 e e 分布式应用技术 j 2 e e 平台由一套服务( s e r v i c e s ) 、应用程序接口( a p i ) 和协议构成,它对开 发基于w e b 的多层应用提供了功能支持,它定义了丰富的技术标准。以下是简 单介绍: 1 0 薹! ! ! 堡鲤里壹堡墨旦堕塑丛墨塞墨蔓兰主! 生窒塑蝗照至熊塑坌堑墨要塞鱼鎏签 组件技术 j 2 e e 的核心思想是基于组件容器的应用。组件可以重用、共享和分布。 s e r v l e 和j s p s e r v l e t 是一种小型的j a v a 程序,用来生成动态的页面和接受客户端的请求 以调用相应的业务逻辑操作。j s p 严格地说是s e r v l e t 的扩展,通过嵌入到h t m l 中实现动态页面功能。 u b ( e n t e r p r i s ej a v ab e a n ) 技术 f j b 是j 2 e e 技术赢得广泛重视的原因之一。e j b 规范提供了一个开发和部 署服务器端组件的方法。每个f j b 是按照功能逻辑划分的,开发时无需关心系 统的底层细节闻题,只器注意具体的业务逻辑。开发完后按照规范发布到e j b 容器中,完成摺应的事务功能。值得注意的是,f _ j b 并不是实现j 2 e e 的唯一途 径,正是由于j 2 e e 的开放性,使有的厂商能够以一种f i b 平行的方式来达到同 样的目的。 数据库访问 开发分布式系统要求数据库访问有良好的可扩展性,j d b c ( j a v ad a t a b a s e c o n n e c t i v i t y ) 是一个独立的强大的数据访问接口。它提供了通用的访问数据库 鲶方法,以及支持s q l 基本功能的通用底层的应用程序接口。另外,j d b c 对数 据库的访问具有平台无关性。 分布式通信技术 分布式通信技术为分布式开发提供了可能,是连接j 2 e e 框架内各种技术的 桥梁。包括: j a v ar m i ( r e m o t em e t h o di n v o k e ) 是一种被e j b 使用的底层协议,它使用了 序列化方式在客户端和服务器端传递数据。 j a v ai d l ( j a v ai n t e r f a c ed e f i l a t i o nl a n g u a g e ) 可用来在j a v a 语言中定义、实现 和访问c o r b a 对象。 j n d i ( j a v an a m ea n dd i r e c t o r yi n t e r f a c e ) 教用于执行名字和目录服务。它提 供了一些模型来存取和操作企业级的资源, j m s ( 1 a v am e s s a g es e r v i c e ) 是用于和面向消息的中间件相互通信的应用程序 接口。 ll 苎兰差坠壅旦丝苎墨堕塑坌堑童翌壁垒重量 苎至丝些塑曼羔笪墨曼堕堕重笪兰呈蔓墨 j 2 e e 体系结构提供中间层集成框架,用来满足无需太多费用而又需要高可 用性、高可靠性,以及可扩展性的应用的需要。通过提供统一的开发平台,j 2 e e 降低了开发多层应用的费用和复杂性,同时提供对现有应用系统集成强有力的 支持,完全支持e j b ,有良好的向导支持打包和部署应用,添加目录支持,增加了 安全机制。提高了性能。 2 4 两种开发平台的比较 表2 1 n 盯和j 2 e e 对应技术的比较 m i e r o o c n n e t】2 皿主要差异 和j a v a 都源白c c + + ,两者有相当多的共同特 色( 如岛曲内存f 理) 。c 枞j a v a b e a n 中学来了一些组件 观念( p t o p 鲥拍血i b i 他、删枷) ,还增加了一些特色( 如 - 咖山h ) ,钼鼍蔓用不啊蝻攮。 脚程序语言j a v a 程序语言j a y 可在任何有j a v a 虐报机的平台上执行。c # 目前 只能在期n b m 平台上执行。 c 坤e 用m 的执行时期蓉筑,透过j 一i n t i m e ( j r r ) 的冀译方式来执行。j a m 器序通过j a v a 直拟机来执 行。 辩硼汀将可以使用v 抽正b 峨、c 橱日其他语青来 j s p羹写程序片新,然后被簟译 n 的格式。j s p 使用j a v a 皿n e t ( j a v a 姗p i 一) 的程序代码,鳙译戚j a v a 的b k d e ( 需要时臻译,也可先 组译好) 。 n e r 允许不同的程序语言使用瓤- d a 嘲上的同一套 j a v a 盛拟机、 组件。 i l 执行时期系统 c o r b i d l j a v a 允许j a v ab ) 日0 d ! 在兼窖的虚拟机上都可以执 行。c o f m a 允许不同语言和不同平台的对象互相沟通 c o r b o r b ( 必须有适台的o r b ) 。j 2 e e 中可以使用c o r b a ,但两者 舶整合度不是很紧密。 m sv i e u a ls t d i oi d e 提供w i nf o r m 和w e bf o r m 的 h a d 工具,目前尚未有其他厂商宣称要支持w i af o r m 和 i nf o r mw e bf o r m a j a v as w i n g 和w 曲f o r m 类似的w e b 组件在标准的j a v a 平台中付之阙如,有 些厂商在j a v al e e 中提供一些组件。许多j a v ai d e 工具 都支持s w i 唱。 j o b c 、e j b 、 m s a d o n e t 允许通过h t r p 进行与x m l 的资料交换 a d on e t 和 也就是s o a p 。n e t 的w e b 服务使用s o a p 的讯息模型。 s o a p 的w e b 服务 和j a v ax m l 链结库 ( x m u j 、j a x p ) e j b 、j d b c 等是把资料交换的通信拂议由程序员自行 决定,用i r 兀甲或r m p j r m p 都可以。 1 2 董至丝望鲍里壹笪皇旦堕鳇堡盐董壅壅苎兰皇坠堡旦箜签墨笪塑坌堑童翌墨鱼垄查 由比较可知,两种开发平台各有特点,提供了很多相似的特色,但实现方式 还是有所不同。n e t 的优点在于它使用x m l 语言和w e b 的性能。但它的成熟性 以及与其他解决方案的集成能力还是一个问题。反观之,j 2 e e 提供了多平台支 持技术,支持多种企业组件,但实现技术较复杂,使用起来不如n e t 方便。 它们在移植性上的差异是明显的: n e t 只能在w i n d o w s 平台上运作,尽管理论上可以支持多种语言。虽然 n e t 中有些技术是公开的,但核心的技术还是由微软所垄断,微软将是n e t 完 整开发工具和平台的唯一提供厂商。j 2 e e 则可以在任何有j v m 的平台上执行。 只要有兼容的服务即可,j 2 e e 的一切标准都是公开的,许多厂商都提供兼容的产 品和开发工具。 综合以上的分析和比较,鉴于j 2 e e 构架的开放性、安全性、稳定性和跨平台 等特点,本系统的设计采用了s u n 的j 2 e e 为系统架构进行开发。 3 3 1 系统背景 第3 章系统分析与概要设计 本系统是一个基于b s 模式的出版社图书信息系统。借助i n t e r n e t ,为广大 读者提供一个在线检索、浏览、评论、订购出版社本版图书的平台,从而更好地加 强与广大读者的交流,树立出版社的良好形象,逐步实现图书销售由传统的商店 模式向在线模式转化的过程。 3 2 功能分析与设计 系统基于组件设计,模块功能专一、结构简单,便于维护、扩展和升级,通过 i n t e m e t 实现跨地域操作。用户界面( 客户端) 通过w w w 浏览器实现。服务器 端采用了j 2 e e 框架,按业务功能进行了分层设计:w e b 层完成动态页面显示和 数据交互,业务层完成主要商业逻辑,数据层主要用于数据存储。各层均设计了 多个功能组件。 根据系统设计的要求,图书系统需要实现以下基本功能: ( 1 ) 图书信息的显示与检索。 一个良好的网上商店系统,必须拥有良好的页面,只有这样才能吸引顾客的 眼睛。同时,为了方便顾客的购物,必须提供优秀的产品搜索引擎。 ( 2 ) 用户的注册、登录、修改个人信息的功能。 进入商店的顾客分为已注册和未注册两大类型。未注册用户可以注册新的 用户,注册用户可以登录。注册的用户登录后,可以修改自己的个人信息。 ( 3 ) 用户确认订单的功能。 在用户确认购买商品后,填写订单,确认后提交,系统可根据订单情况,分析 相关图书的信息。本系统有关支付结算的功能未加设计。 ( 4 ) 图书、订单等信息的统计分析功能。 ( 5 ) 读者发表评论,提出建议等交互功能。 系统详细的功能没置为:图书信息管理、用户信息管理、订单信息管理、书评 1 4 基于】2 e e 的图书信息罔站的设计与实现第3 章系统分析与概要设计 管理等。图3 1 是系统的功能模块图。 图3 1 系统功能模块图 图书管理:包括了图书信息的录入、修改、删除、查询、列表显示、详细显示、 新书陈列以及图书检索等功能。 用户管理:包括了用户注册、登录、验证,用户信息添加、修改、查询等功能。 订单管理:包括了订单录入、修改、查询、统计以及购物车维护等功能。 书评管理:包括书评发表、书评显示以及维护等功能。 根据设计要求和模块划分,数据库结构设计如图3 2 所示。 图3 - 2l l o o k s t o m 数据库结构 数据库b o o k s t o r e 包含了5 张数据表。 用户表( u s e r ) :注册用户信息。主关键字u s e r l d 。 图书信息表( b o o k i n f o ) :图书信息。主关键字b o o k i d 。 i t 单表( b o o k o r d e r ) :订单信息。主关键宁( ) h i e r i d 。 1 5 第3 章暴缱分析与概要设计基于j 2 e e 的圈书信息同站的设计是塞爨 图书分类表( b o o k c a t e g o r y ) :图书分类信息。主关键字c a t e g o r y i d 。 书评表( b o o k c o m m e n t ) :评论信息。主关键字c o m m e n t l d 。 系统首页面( f r a m e t j s p ) 设计了三个f r a m e 框架,上部的f r a m e 显示系统图 标及名称信息;左边f l a n l e 是一个树形目录,提供系统的功能目录;右边的f r a m e 则是主内容区。 图3 3 是系统的首页面及页面程序结构图。 用3 - 3 系藐韵首页面及页面程序结构图 系统的运行环境是1 操作系统w i n d o w s2 0 0 0s e r v e r ;服务器w e b l o g i c ;数据 库m y s q l 4 0 。 3 3 系统总体设计 图书系统的后台设计建立在j 2 e e 平台之上,采用了模块化、松耦合的三层 架构。在w e b 层采用了s t r u t s 框架,业务层包含了三层组件,数据层采用m y s q l 4 0 数据库系统。 图3 4 是系统总体设计框架图。 1 6 薹量丝望塑里:苎垡皇曼熊垫墼盐皇塞萎 蔓! 蔓薹塾坌堑曼堡墨丝盐 圈3 4 系筑总体进计框架图 图中左边方框为w e b 层,基于s t r u t s 框架设计,s t r u t ss e r v l e t 负责处理所有 的h a p 请求,通过配量文件s t m t a - c o n f i g 。x m l ,按请求路径将相应i 搀请求派发到 对应的a c t i o n 中,a c t i o n 、j s p 和f o r m 之间按照s t r u t s 中m v c 的定义进行数据 交互。 中问的c o n t r o l l e r 、e v e n t h m d l e r 和d a o 组件属于业务层,c o n h o l l e r 责分发 剌:( e v e n t ) ,e v e n t l 4 a n d l e r 负责处理相应事件的业务逻辑,d a o 是对数据库访问 的封装。e v e n t 和v o 都是值对象,负责数据的封装和传递。 最下面的d a t a b a s e 是数据层。 3 4 系统相关技术分析 系统开发时所采用的设计模式以及1 2 e e 的相关技术有:m v c 模式、b r i d g e 模式、s e s s i o nf a c a d e 模式;s e r v l e t 、j s p 、s t r u t s 、t a g l i b 、j a v ab e a n 和j d b c 等。下面 作一些简要分析。 3 4 1 设计模式 设计模式描述了一些在我们周围不断重复发生的问题,是一个被证实的可 行的方案。这些方案非常普通,是具有完整定义的最常用的模式,可以被重用, 并具有良好的伸缩性。 1 7 蔓! 烹墨缝筻堑皇堑曼亟丛 苎至里坚塑塑生焦皇旦丝堕堡盐量塞堡 m v c 模式 整个系统采用了m v c 模式进行设计。m v c 模式是一种流行的软件设计模 式,它把系统分为3 个模块:模型( m o d e l ) 、视图( v i e w ) 和

温馨提示

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

评论

0/150

提交评论