(计算机应用技术专业论文)基于struts的教育在线平台子系统开发与数据存储方案研究.pdf_第1页
(计算机应用技术专业论文)基于struts的教育在线平台子系统开发与数据存储方案研究.pdf_第2页
(计算机应用技术专业论文)基于struts的教育在线平台子系统开发与数据存储方案研究.pdf_第3页
(计算机应用技术专业论文)基于struts的教育在线平台子系统开发与数据存储方案研究.pdf_第4页
(计算机应用技术专业论文)基于struts的教育在线平台子系统开发与数据存储方案研究.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 随着计算机网络技术的迅猛发展,网络教育已经成为传统教育的一种有益且 有效的补充方式,北京工业大学教育在线平台作为自主开发的网络教育平台,从 本校自身用户角度出发,是一个有自己特色而又简单易用的平台。该平台运行一 年来效果良好,但是在使用中,用户也提出了新的需求。通过对用户需求的收集, 管理员用户对目前用户访问以及使用教育在线核心模块即课程教学相关模块的 情况无法得到直观的数字统计,因此加入一个信息系统统计反馈模块十分必要。 另外在对教育在线系统服务器架构的了解中,发现教育在线平台在建立初始没有 一个清晰的数据存储以及备份的方案。虽然目前流行的企业级备份方案非常成 熟,但是往往需要付出高额的代价请专业公司来设计并采购其代理的设备,目前 教育在线平台所在机房拥有了一些设备,利用好现有的设备,并适当采购新的设 备,在项目经费承受范围内,寻找数据存储备份的改进建议也是本次课题的工作 之一。 本课题研究重点是学习j 2 e e 开发的结构、s t r u t s 框架下m v c 模式的开发, 以及引入a j a x 技术增强用户交互体验,并在一系列技术的学习与研究基础上完 成信息系统统计反馈这一子系统模块的开发。由于教育在线平台使用的开发环境 遵循j 2 e e 平台结构以及s t r u t s 框架下的m v c 模式,所以新模块很好的保持了 与原有系统的兼容性。经过一段时间的测试,该子系统能够满足管理员的统计需 要,在自身运行良好的同时没有对原平台稳定性造成影响。信息统计反馈系统的 实现完善了教育在线平台的功能,贯彻了教育在线平台开发立足于本校用户的思 想,增强了平台的实用性。课题的第二个任务是提出数据存储方案的改进建议, 文章第六章重点解决了这个问题,不仅对现有存储方案做出了介绍还着重针对自 身情况分析了自身方案存在的不足并提出了解决建议,在今后数据存储改进过程 中可以做到有的放矢。 : 本文首先对研究内容的背景、:意义做出分析,在第二和第三章对开发系统涉 及的技术做出了分析与理论学习。文章在第四章与第五章着重介绍了信息统计反 馈系统的设计与实现,其中对数据库连接池配置的问题也做出了解答。 由于精力和时间有限,课题还有很多可以改进的地方。本文最后简单总结了 两点开发过程中遇到的困难,并且提出了一些仍然需要改进和加强的建议,对未 来课题延伸做出了展望。 关键词m v c ;s t r u t s a j a x , 数据存储方案;信息统计反馈系统 a b s t r a c t a b s tr a c t a st h ef a s td e v e l o p i n go fc o m p u t e rn e t w o r k , t h eo n l i n ee d u c a t i o nh a sb e e nag o o da n d e f f e c t i v ew a yt oc o m p l e m e n tt h et r a d i t i o n a le d u c a t i o n t h cb j u te o l ( b e i j i n g u n i v e r s i t yo ft e c h n o l o g ye d u c a t i o no n l i n e ) s y s t e md e v e l o p e db y o u r s e l v e si saw e b p l a t f o w i nw h i c hi sd e s i g n e db a s e do no u ru n i v e r s i t y su s e r sa n d t h eo p e r a t i o n sa r en o t c o m p l e xf o rt h e m 1 1 l es y s t e mh a sw o r k e dw e l lf o rm o r et h a no n ey e a r h o w e v e r , t h r o u g ht h ec o l l e c t i o no fu s e r s r e q u i r e m e n t s ,w ef o u n d t h a tt h ea d m i n i s t r a t o rc o u l d n t g e tm es t a t i s t i c so ft h en s e r $ v i s i t i n ga n du s i n go nt h et e a c h i n gm o d e l ,w h i c hi s t h e c o r em o d e lo ft h ep l a t f o r m ,s ot h a ti t sn e c e s s a r yt oa d das t a t i s t i cm o d e l b e s i d e s , d u r i n gt h er e a l i z i n go fe o ls e r v e r s ,w ef o u n d t h e r ew a sn o tac l e a r l yd a t as t o r a g ea n d b a c k u ps t r a t e g y a l t h o u g ht h e r ea r em a n ym a t u r ee n t e r p r i s ed a t as t o r a g ea n db a c k u p s t r a t e g y , i ta l w a y sn e e d s t op a yh i g hc o s tf o rm ed e s i g na n de q u i p m e n t sf r o m p r o f e s s i o n a le n t e r p r i s e s oo nt h es c o p eo f t h ep r o j e c tf u n d i n g , h o wt oe f f e c t i v e l yu s e t h ee x i s t e n te q u i p m e n t s ,p u r c h a s el e s sn e we q u i p m e n t sa n df i n d s o m es u i t a b l e s u g g e s t i o n sf o ri m p r o v e m e n to f t h ed a t as t o r a g ea n db a c k u pi so n eo fm y w o r k t h ee m p h a s i so fm yt a s ki st or e s e a r c ht h ej 2 e es t r u c t u r ea n dt h em v c m o d e u n d e rt h es t r u t sf r a m e ,e n h a n c et h eu s e ri n t e r a c t i o ne x p e r i e n c eb yi m p o r t i n ga j a xa n d f i n i s ht h ed e v e l o p i n go fs t a t i s t i cs y s t e mu n d e rt h er e s e a r c h i n g b e c a u s et h ee o l w e b p l a t f o r mw a sd e v e l o p e df o l l o w i n g t h et e c h n o l o g i e sa b o v e ,t h es t a t i s t i cs y s t e mk e e p sa g o o dc o m p a t i b i l i t yw i t ht h ee o lp l a t f o r m a f t e rt e s t i n g ,t h es y s t e mc a ns a t i s f yt h e a d m i n i s t r a t o r sn e e d s ,b u tb r i n gn oi m p a c to ne o lp l a t f o r m t h ea d d i n go ft h e s t a t i s t i cs y s t e me n h a n c e st h ee o lf u n c t i o n sb a s e do nt h eu s e r so fo u ro w nc o l l e g e , a n dm a k e st h ee o lp l a t f o r mm o r ep r a c t i c a l t h es e c o n dm i s s i o no ft h et a s ki st o b r i n gs o m ei m p r o v a b l es u g g e s t i o n sa b o u tt h ed a t as t o r a g e i nc h a p t e r6 ,n o to n l y t h e p r e s e n ts t r a t e g yi si n t r o d u c e d ,b u ta l s ot h ed e f i c i e n c i e so ft h es t r a t e g ya r ea n a l y z e d s o m e s u g g e s t i o n sa r eg i v e n s ot h a tw ec a nh a v ead e f i n i t ei m p r o v i n go b j e c ti nf u t u r e i nt h i sa r t i c l e if i r s ta n a l y z e dt h eb a c k g r o u n d sa n ds i g n i f i c a n c e so ft h et a s k t h e n i nc h a p t e r2a n d3 ii n t r o d u c e da n dr e s e a r c h e dt h et e c h n o l o g i e su s e di nm y t a s k i n c h a p t e r4 a n d5 ,ip a i dm yi n t e n t i o nt ot h ed e s i g na n di m p l e m e n t a t i o no ft h es t a t i s t i c s y s t e m ,a n da l s og i v eas o l u t i o no f t h ed a t a b a s ec o n n e c t i o np o o lc o n f i g u r a t i o n d u et ot h el i m i t e de n e r g ya n dt i m e ,t h e r ea r em a n yt h i n g sn e e dt om a k e b e t t e r a t t h ee n do ft h ea r t i c l e ,is i m p l ys h o w e dt w od i m c u l t i e s ,g a v es o m ee n h a n c i n g s u g g e s t i o n sa n dl o o k e di n t of u t u r ea b o u tt h ee x t e n s i o no f t h et a s k k e y w o r d sm v c ;s t r u t s ;a j a x ;d a t as t o r a g es t r a t e g y ;s t a t i s t i cs y s t e m i i i 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 签名:丛鸯日期坦乏垒盘 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名:墼! 导师签名: 肆选吼珥血 第1 章绪论 1 1 研究背景与意义 第1 章绪论 1 1 1 国内外网络教育发展概况 网络教育作为传统教育的补充方式正逐渐成为一种必不可少的教育手段。网 络教育依附于网络教学平台,通过平台,教师与学生之间的空间距离被缩短,交 互的时间限制被打破,好的教学资源在平台上得到存储与共享,教师对学生作业 的收集批改程序被简化,从而使教学信息得到更好的反馈。 国外的网络教学发展早,许多的西方国家都对网络教育研发投入大量的精 力,不少国家更是通过政策资助来推动网络教学的发展。目前国外有特色的网络 教学平台有哥伦比亚计算机系开发的w e b c t ( 已被b l a c k b o a r d 收购) 、i b m 开 发的l e a r n i n gs p a c e 、美国b l a c k b o a r d 公司推出的b l a c k b o a r d 、加拿大s i m o n f r a s e r 大学的v i r t u a l u 等【l 】。其中又以b l a c k b o a r d 网络教学平台应用最为广泛, 已经占领了全球大约5 0 的市场份额,业务更是覆盖了高等教育、基础教育、企 业与政府培训等各个领域。国内网络教育相对起步较晚,但是近年来发展迅速, 国家从政策上也给予了大量的支持。自9 8 年试点网络远程教育以来,我国的网 络教育已经取得了长足的发展。目前国内取得较高规模,认知度比较高的自主开 发平台是清华大学的网络教学平台“清华教育在线”,在国内占据了不小的市场 份额【2 1 。 1 1 2 应用背景与意义 北京工业大学教育在线平台是是自主开发的在线教育平台,立足于本校师生 需求开发,加强了功能的针对性、易用性与实用性,突出了“以人为本”的设计 理念,具有鲜明的特色。虽然市场上成熟的网络教育系统很多,然而流行的教育 在线系统往往具有庞大的功能和统一的操作模式,不仅仅需要支付高昂的费用, 大而全的功能在使用上也存在着很大程度上的浪费,同时该类软件无法针对某校 的实际情况开发适应该校需求的某些功能模块或操作方式,存在一些使用上的弊 端。针对某一个学校,能个性化的适应其需求,尤其是有自身特点的需求的平台, 在使用上会更加的方便。北京工业大学教育在线平台应运而生,自2 0 0 7 年1 0 月正式运行以来,运行良好。 任何一个软件在其生存周期内都需要进行一系列的更新维护等工作,一个成 北京t 业大学t 学硕卜学位论文 熟的w e b 平台更是需要经过持续的完善和改进,在使用中寻找问题和不足并加 以修改。教育在线平台目前j 下处于运行维护期,软件维护是软件生命周期中持续 时间最长的阶段。在软件开发完成并投入使用后,由于某些原因,软件不能继续 适应用户的要求或用户在使用过程中有了新的需求,要延续软件的使用寿命,就 必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面,在平 台运行一段时间来,已经发现并解决了多处的错误,通过对用户使用的反馈,功 能的改进和和新需求的实现是这段时间的重要工作。北京工业大学教育在线平台 作为一个独立开发的在线教育平台,其后续的完善改进工作肩负着很重要的意 义。首先,该平台开发初衷为立足本校师生,开发简单有针对性并且实用的教育 在线平台,面对市场上各类庞大的同类产品,始终坚持以本校师生需求为重,及 时完善平台功能与操作模式是保持平台竞争力和生命活力的重要方式;其次,作 为自主开发的平台,开发力量无法与商业公司相比,但是可以充分利用对平台的 维护和用户需求收集便利的条件,适宜及时的做出反应。 通过对用户需求的调查以及现有教育在线平台软硬件架构的分析,需要对以 下两点重点做出改进:第一,现有平台未能提供给管理员对平台运行中师生使用 情况的数据分析,带来了不便,伴随网络教学在教改中的深入应用,即使是市场 占有率较高的商用教学平台也不同程度地有所不足;第二,平台搭建过程中未能 完备的考虑服务器搭建与数据备份等问题,需要在现有的基础上提出新的安全的 解决建议。 1 1 3 课题技术背景 北京工业大学教育在线平台按照j 2 e e 企业级应用开发技术架构,同时遵循 基于m v c 模式的s t r u t s 框架结构开发而成,对该平台的改进仍然需要按照以上 规范进行,新增模块与原有系统在架构上完美融合,同时需要在原系统上修改的 地方要做到符合原有设计思路和结构。 j 2 e e 平台是开发企业级应用的平台之一,它提供了一个多层结构的分布式 应用程序模型,具有广泛的应用领域,是一种成熟的体系结构。基于j 2 e e 开发 应用具有平台独立性,不局限于某一种操作系统,便于移植,同时j 2 e e 的分层 架构使得应用更适合团队开发,提高开发效率。j 2 e e 体系结构设计中也存在着 程序可重用程度低、维护困难等不足之处。对于多层w e b 应用软件而言,往往 需要面对多样化的用户需求和不同的开发角色,保持各层之间的相对独立性减少 其耦合度,同时方便软件后期开发与升级是非常重要的【3 巧】。 m v c 模式是一种经典又流行的设计模式,它的视图层、模型层、控制器层 三层模式增加了模块的独立性以及应用程序的灵活性,并且使得代码的重用性提 第1 章绪论 高,因此m v c 模式被广泛应用于企业级w e b 应用开发当中,并成为了j 2 e e 开 发体系中常用的一种设计模式。 由于j 2 e e 体系存在的不足,如何弥补或完善j 2 e e 开发的缺点就是人们不断 研究的课题。框架技术的出现很好的提高了j 2 e e 结构开发中程序可重用性较低, 维护困难等不足。框架是系统的可重用设计,一个框架是一个可复用的设计构件, 表现为一组抽象类以及其实例之间协作的方法,为构件复用提供上下文关系。 s t r u t s 框架是基于j 2 e e 平台,实现m v c 模式的一种w e b 开发框架,可以为系 统提供软件构架,降低应用开发时的复杂性,提高灵活度,从而降低开发以及维 护多层w e b 平台时的困难。自2 0 0 1 年7 月发布以来,已逐渐成为使用j 2 e e 开 发w e b 应用的事实标准。s t r u t s 框架目前已经发布了2 0 版本,教育在线系统开 发于2 0 0 6 2 0 0 7 年,使用的是成熟的s t r u t s l 1 技术嘲。 教育在线平台需要考虑的第二个问题是服务器搭建与数据备份。数据存储与 备份不仅仅涉及软件层面,而是软硬件结合的问题。目前的数据存储与备份技术 发展比较成熟,企业级常见的有n a s ,s a n 等存储技术,这些存储技术发展比 较完善,各有特点。n a s 设备简单易用,支持异构操作系统平台,是理想的企 业文件共享解决方案,但不擅长数据量较大、数据存取速度要求较高的应用。s a n 一般使用光纤直连组成单独的数据存储网络,s a n 架构具有很高的稳定性和可 用性,使用效率高,但建设费用较高,管理也相对复杂【_ 丌。成熟可靠的技术也意 味着高成本,立足与本项目,需要均衡自身平台使用情况与经费投入,吸取成熟 技术的经验,提出适应自身情况的架构方案。 1 2 研究内容与目标 本文的研究内容主要有: 1 理论分析j 2 e e 企业级开发平台的体系结构,分析m v c 经典模式,并研 究s t r u t s 框架的理论知识与运用在j 2 e e 体系开发中的重要作用; 2 遵循原有平台设计模式,实现管理员用户急需的信息统计功能模块,使 得管理员可以方便的统计师生用户使用教育在线主要功能的情况; 3 在w 曲平台的开发过程中,将a j a x 技术融入s t r u t s 框架,增强用户操作 体验; 4 研究现有网络数据存储技术,结合教育在线平台所处的机房环境,提出 适用的服务器构建及平台数据备份建议。 本课题的实现目标主要有两个,一是在管理员用户下增加信息统计分析功能 模块,该模块提供给管理员读出统计信息的同时,需要通过对原有平台进行修改 实现数据的记录,必须遵循原平台开发模式,按照s t r u t s 框架架构模块;二是平 北京工业大学- 学硕十学位论文 台数据存储方案的问题,原有平台并未在此问题上进行深入探讨,仅仅使用了一 般的方法构建,本课题将分析已有的存储技术结合自身平台情况给出合理的存储 备份建议。 1 3 论文组织结构 本文由摘要、正文、参考文献组成,其中正文又包含绪论、论文主体和结论 三大部分。 第一章为本文绪论,主要通过对网络教育的国内外发展现状,本课题涉及的 工业大学教育在线平台应用的背景与意义进行了分析从而得出需要改进和加强 的两个方面的工作,进而对课题设计的技术背景进行了研究。 第二到七章是论文主体部分,在第二章介绍了j 2 e e 平台结构与核心技术、 m v c 模式、s t r u t s 框架结构的工作流程和优点,第三章介绍了a j a x 技术及引入 a j a x 技术后的工作方式,并在章节最后介绍了a j a x 在课题中的实际应用。第四 与第五章通过对基于j 2 e e 开发平台、s t r u t s 的m v c 模式开发的实例一信息反馈 统计系统的设计与实现,对绪论中分析的出的工作进行了功能补充这一方面的解 答。第六章则是对绪论中数据存储方案这一方面工作的解答,不仅介绍了常见的 数据存储方案,也分析了教育在线平台现在所使用的存储方式以及存在的不足, 最后结果自身特点与实际情况给出了一定的建议。第七章主要介绍开发中遇到的 问题,并且对课题未来的发展方向进行了展望。 论文的结论部分总结了课题的研究情况,重新阐明了课题研究的实际意义, 对研究中值得肯定的地方以及仍有改进的地方都给出了说明,并提出了相关建 议。 第2 章j 2 e e 甲台与s t r u t s 框架 第2 章j 2 e e 平台与s t ru t s 框架 s t r u t s 框架技术是一种基于j 2 e e 平台开发的框架,它在j 2 e e 平台上实现了 m v c 的设计模式,了解s t r u t s 需要先了解j 2 e e 结构以及m v c 模式。 2 1 j 2 e e 平台 2 1 1j 2 e e 的结构框架 j 2 e e 是一种利用j a v a 2 平台来简化企业解决方案的开发、部署和管理相关的 复杂问题的体系结构,是一种基于组件、平台无关的结构。它将业务逻辑封装成 组件,j 2 e e 服务器以容器的形式,为所有组件类型提供后台服务而无须开发者 自己开发实现,使得开发者可以集中精力解决复杂的业务问题【8 】。 j 2 e e 为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制, 通过j 2 e e 平台的使用可以为企业方便的保留现存的i t 资产,提供高效的开发, 支持异构环境,提供平台的可伸缩性以及稳定的可用性等优点。 j 2 e e 的多层企业级应用模型将传统的c s 两层化模型中的不同层面切分 成许多层,一个多层化应用能够为不同的每种服务提供一个独立的层。典 型的j 2 e e 结构分为四层:客户层、w e b 应用层、业务逻辑层、企业信息系 统层。图3 1 就是一个典型的基于w e b 的j 2 e e 应用四层模型示例。 图2 - 1j 2 e e 结构模型【8 】 f i g u r e2 - 1j 2 e es t r u c t u r em o d e l 客户层:客户层组件可以是基于w e b 方式的也可以是基于传统的客户机方式 的。在一个基于w e b 的j 2 e e 应用中,用户的浏览器在客户层中运行,并从一个 北京工业大学t 学硕一l :学位论文 w e b 服务器下载w e b 层中的h t m l 页面,这些页面包括静态h t m l 页面或包含 s e r v l e t 的动态j s p 页面。 w e b 应用层:j 2 e ew e b 层组件可以是j s p 页面或s e r v l e t s 。按照j 2 e e 规范, 静态的h t m l 页面和a p p l e t s 不算是w e b 层组件。w e b 层将用户的输入发送给 运行在业务层上的企业级j a v ab e a n ( e j b ) 来进行处理。图2 2 说明了w e b 层 的组件及其在处理流程中的位置。 图2 - 2 w e b 层组件【8 】 f i g u r e2 - 2s u b a s s e m b l i e so fw e bl a y e r 业务逻辑层:业务逻辑层用来处理逻辑事务以满足某个领域内的需求,这些 代码由运行在业务逻辑层内的e j b ,即企业级j a v a b e a n 来处理。一个e j b 从客 户程序处接收数据,对数据进行处理,再将数据发送到企业信息系统层存储,同 样也可以从存储中检索数据,并将数据送回客户程序。业务逻辑层和w e b 层一 起构成了j 2 e e 应用的中间层。 企业信息系统层:也称为e i s ( e n t e r p r i s ei n f o r m a t i o ns y s t e m ) 层。e i s 层运 行企业信息系统软件,如企业数据库系统,企业基础建设系统( e r p 等) 、大型 机事务处理系统等等【8 。11 1 。 2 1 2j 2 e e 的主要核心技术 j 2 e e 是一套技术规范的总和,其核心技术主要包括:目录服务、数据访问、 事务处理、消息服务、电子邮件、安全服务、远程方法调用、e j b 、j s p 、s e r v l e t 世 寸o 1 s e r v l e t :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 提供的功能大多与j s p 类似,不过实现的方式不同。s e r v l e t 全部由 第2 章j 2 e e 平台与s t r u t s 框架 j a v a 写成并且生成h t m l 。 j a v as e r v l e t a p i 定义了s e r v l e t 和服务器之间的一个标准接口,这使得s e r v i a 具有跨服务器平台的特性。s e r v l e t 通过创建一个框架扩展服务器的能力,采用请 求一响应模式提供w e b 服务。当客户机发送请求至服务器时,服务器将请求信 息发送给s e r v l e t ,s e r v l e t 生成响应内容并将其传给服务器,然后再由s e r v e r 将响 应返回给客户端【1 2 , 1 3 j 。 2 j s p :即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 是由s e r v l c t 发展而来的,它将j a v a 代码嵌 入到h l m l 或者x m l 文档中。j s p 提供了许多标记符,保持了j s p 的简洁性和 业务逻辑代码的隐蔽性,将页面显示与应用程序逻辑分离【1 2 1 。 3 e j b 技术:e j b 规范提供了一个框架来开发和实施分布式商务逻辑,由此 很显著地简化了具有可伸缩性和高度复杂的企业级应用的开发。e j b 规范定义了 e j b 组件在何时如何与它们的容器进行交互作用。容器负责提供公用的服务,例 如目录服务、事务管理、安全性、资源缓冲池以及容错性【1 4 1 。每个e j b 是按功 能逻辑划分的,开发时不必关注系统底层细节问题,只关注具体的事务分析。 e j b 开发完毕后,按规范部署在e j b 容器,完成相应的事务功能。e j b 支持分布 式计算,真正体现了企业级的应用。但这里值得注意的是,e j b 并不是实现j 2 e e 的唯一途径。正是由于j 2 e e 的开放性,使得有的厂商能够以一种和e j b 平行的 方式来达到同样的目的【”j 。 4 数据库访问:无论是传统的企业信息系统还是将来的企业信息系统,数据 库都占有重要的地位。开发分布式系统更加要求数据库访问具有良好的灵活性和 扩展性。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 ) 是一个独立于特定的数据库管理系统 的开发接口,为访问不同的数据库提供了一种统一的途径,像o d b c 一样,j d b c 对开发者屏蔽了一些细节问题,另外,j d c b 对数据库的访问也具有平台无关性。 它提供了一个通用的访问s q l 数据库和存储结构的机制,支持基本s q l 功能的 一个通用底层的应用程序编程接口。它在不同的数据库界面上提供了一个统一的 用户界面。提供了多种多样的数据库连接方式。j 2 e e 中提供了j d b ca p i 使得 多种数据库操作简单可行【l 6 。 5 邮件服务:j a v am a i l 是用于存取邮件服务器a p i ,它提供了一套邮件服务 器的抽象类。不仅支持s m t p 服务器,也支持i m a p 服务器。 6 分布式通信技术:分布式通信技术是分布式企业系统的核心技术。j 2 e e 框架为w e b 应用和e j b 应用提供多种通信模式。为了使运行于某一机器上的对 象调用另一台机器的对象,j 2 e e 实现了如下通信方式【0 9 】: j a v ar m i ( r e m o t em e t h o di n v o k e ) :远程方法调用。r m i 协议调用远程对 象的方法,实现了j a v a 对象问的远程通信。服务器用注册器把一个名字和远程 北京t 业大学t 学硕一卜学位论文 对象绑在一起,客户机通过名字从服务器注册器上查找远程对象,找到后下载远 程对象的本地代理,调用远程对象的方法。它使用序列化方式在客户端和服务器 端传递数据。 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 a v ai d l 的支持下,开发人员可 以将j a v a 和c o r b a 集成在一起,创建j a v a 对象并使之可在c o r b ao r b 中展 开,或者他们还可以创建j a v a 类并作为和其它o r b 一起展开的c o r b a 对象的 客户。后一种方法提供了另外一种途径,通过它j a v a 可以被用于将你的新的应 用和旧的系统相集成。 j n d i ( j a v an a m i n ga n dd i r e c t o r yi n t e r f a c e ) :j a v a 命名和目录接口。 j n d i 为分布式系统访问远程对象提供了一个标准的命名接口,用于执行名 字和目录服务。e j b 主接口对象、数据源、消息服务器等都可以用j n d i 树的形 式注册到名称服务器中,调用它们的对象通过符合j n d i 的程序接口在j n d l 名 称服务器中查找指定名称的远程对象。j n d i 提供了一致的模型来存取和操作企 业级的资源如d n s 和l d a p ,本地文件系统,或应用服务器中的对象。 j m s ( j a v am e s s a g es e r v i c e ) :j a v a 消息服务。j m s 是用于和面向消息的中 间件相互通信的应用程序接口。它既支持点对点的域,又支持发布订阅类型的 域,并且提供对下列类型的支持:经认可的消息传递,事务型消息的传递,一致 性消息和具有持久性的订阅者支持。j m s 为开发消息中间件应用程序定义了一套 规范。j a v a 客户端和j a v a 中间层访问消息系统只要实现j m s 定义的简单的接口, 就可以实现复杂的应用,而不必去关注低级的技术细节。 2 2m v c 设计模式 2 2 1m v c 概念 设计模式是对重复出现的问题的一种可用重用的解决方法。从编程的角度来 说,一个模式提供了一系列特定的交互,这些交互可以应用于某些通用的目标, 以解决某个众所周知的问题。 l v i v c 是一种流行又是一种经典的设计模式,全称是m o d e l v i e w - c o n t r o l l e r , 即模型视图控制器。m v c 设计模式把应用程序分成3 个层次:视图层、模型 层、控制器层,分别处理自己的任务。 视图是用于与用户交互的界面,主要作用为接受用户输入,向用户显示数据, 与模型层交互,并将交互后的内容更新到用户界面。 模型则是应用程序的主体,用于表示业务数据和业务逻辑。一个模型可以同 第2 章j 2 e e 平台与s t r u t s 框架 时向多个视图提供数据,从而提供代码可重用性。 控制器用于接收用户输入并调用模型和视图来完成用户请求,本身不需要做 任何处理和输出工作2 0 】。 l v i v c 三层的职能及处理流程如下图2 3 所示。 一璋撂j n i j n ( 控帝器) 一n # 【x 1 接受用户请求 ,甲!c 理 调用模型响应用户请求 选择视图显示响应结果 - 1 用户请求 ( 视图) ( 模型) 解释模型 状态查询 - 封装应用程序状态 接受数据更新请求 相应状态查询 发送用户输入给控制器 一 通知数据更新处理业务流程 允许控制器选择视图 通知视图业务状态更新 方法调用叶 一 事件 图2 - 3m v c 三层结构啪1 f i g u r e2 - 3m v ct h r e e l 。l a y e rs t r u c t u r e m v c 的处理过程为:控制器接收用户请求后决定调用哪个模型处理,模型 处理完毕后返回处理后的数据,控制器再调用相应的视图将模型返回的数据显示 给用户。 目前,大部分的w 曲应用框架都使用了m v c 设计模式的各种变更【2 1 1 。m v c 模式被广泛的应用于j 2 e e 结构下的开发中与其优点是密不可分的,由于m v c 模式中多个视图共享一个模型使得同一个模型可以被不同视图公用,提高了代码 的可重用性,弥补了j 2 e e 代码可重用性相对不高的缺点,同时m v c 各个模块 的相对独立便于构建松散耦合的构件【2 2 1 ,与j 2 e e 将不同业务逻辑封装为组件的 思想不谋而合,增强了代码后期维护的便利性。在j 2 e ew 曲开发中,s c r v l c t 可 以作为控制器层,而j s p 作为视图层,通过结合使用这两者,把m v c 模式应用 到j 2 e e 平台的开发当中。 2 2 2m v c 模式在w e b 开发中的应用 在早期的w e b 应用开发中,j s p 文件负责业务逻辑、控制网页流程并创建 h t m l ,是一个独立的自主完成所有任务的模块,h t m l 代码和j a v a 程序代码 混合使得页面设计与逻辑处理无法分离,程序可读性差,不易于调试。后来s u n 北京丁业大学t 学硕卜学位论文 公司先后制定了两种规范j s pm o d e l l 与j s pm o d e l 2 。在j s pm o d e l l 中引入了j a v a b e a n 与j s p 页面协作的机制但是功能并不完善,而基于j 2 e e 的j s pm o d e l 2 则 实现了m v c 模式。如下图2 - 4 所示,j s p 技术负责生成动态网页,实现视图的 功能,s e r v i a 负责流程的控制,实现的是控制器的功能,而j a v ab e a n 则是负责 业务逻辑,实现模型的功能。 w e b l 艮务器 应用服务器和数据库 图2 - 4j s p 模型2 f 2 0 】 f i g u r e2 - 4j s pm o d e l 2 j s pm o d e l 2 规范能够很好的定义开发者和网页设计者的分工,尤其适用于复 杂的项目设计,m v c 模式的应用方便了项目的开发。 2 3 基于m v c 模式的s t r u t s 框架 j s pm o d e l 2 是最经典的m v c 模式的模型,而s t r u t s 实为建立在j s pm o d e l 2 基础上实现的一个m v c 框架。要了解s t r u t s 需要先了解框架技术。 2 3 1 框架的概念 框架( f r a m e w o r k ) 是整个或部分系统的可重用设计,表现为一组抽象构件 及构件实例间交互的方法。一个框架是一个可复用的设计构件,它规定了应用的 体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程, 表现为一组抽象类以及其实例之间协作的方法,它为构件复用提供了上下文 ( c o n t e x t ) 关系。框架一般是成熟的,不断升级的软件,具有良好的稳定性和扩展 性,开发者可以使用既有的框架开发也可以对其做出一定的扩展。使用成熟的框 架,开发者可以将更多的精力集中在系统的业务逻辑设计上。 框架其实就是一种针对某一特定应用领域的面向对象软件重用技术,是一种 门u 口7:;一: 第2 章j 2 e e f 台与s t r u t s 框架 由特定应用领域的软件体系结构所决定的软件构架。或者说,框架就是一组协同 工作的类,它们为特定类型的软件构筑了一个可重用的设计【2 3 1 。框架的最大好 处就是重用。面向对象系统获得的最大的复用方式就是框架,一个大的应用系统 往往可能由多层互相协作的框架组成。 不难发现框架有以下的优点:模块化,高可重用性,良好的扩展性。 2 3 2s t r u t s 框架结构 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 u nj 2 e e 平台的m v c 框架,主要采用j s p 及s e r v l e t 技术来实现。项目的创立者希望通过对该项目的研究,改进和提高j s p 、 s e r v i a 、标签库以及面向对象的技术水准,使得开发者可以更加容易的利用j s p 、 s e r v l e t 等的有点开发多层w 曲应用。 s t r u t s 是基于j s pm o d e l 2 之上的,视图依然是由j s p , h t m l 等文件构成,但 不再含有业务逻辑处理,a c t i o n f o r mb e a n 也常被划分为视图模块中,多用于验 证表单数据及重设默认【2 1 1 。视图只用于收集用户数据将请求转交控制器,并不 实际参与业务处理【2 4 】。在s t r u t s 框架中,a c t i o n f o r m 被用来传递视图到控制器的 表单数据。控制器由原来的s e r v l e t 变为a c t i o n s e r v l e t 和a c t i o n 来实现【2 卯,其中 a c t i o n s e r v l e t 类继承自 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 框架中的核心组 件,主要负责接收h t t p 请求信息,并根据配置文件s t r u t s e o n f i g x m l 中的配置 信息,通过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 m 则根据用户 请求调用相关的业务逻辑组件【2 6 】。模型则由实现业务逻辑的j a v ab e a n 或e j b 组 件构成,一般而言,模型层多使用普通的j a v a b e a n 2 。图2 5 显示的是s t r u t s 实 现的m v c 框架,同时简单标明了客户端的一个请求到应答的简单流程。 图2 - 5 实现m v c 模式的s t r u t s 框架 1 6 , 2 1 f i g u r e2 - 5s t r u t ss t r u c t u r eb a s e do nm v cm o d e 北京i q k 大学1 二学硕十学位论文 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 s e r v l e t 在转发用户 请求给a c t i o n 对象的时候就是需要查找s t r u t s c o n f i g x m l 这个文件。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 的映射都 通过一个 元素来配置。 2 3 3s t r u t s 工作流程 采用s t r u t s 框架的w 曲应用,在w 曲应用启动时就会加载并初始化 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 从s t r u t s c o n f i g x m l 文件中读取配置信息,把他们存 放到各种配置对

温馨提示

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

评论

0/150

提交评论