




已阅读5页,还剩53页未读, 继续免费阅读
(计算机应用技术专业论文)基于j2ee架构的网上阅卷系统设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 网上阅卷是近年来随着网络技术、计算机技术、信息数字化技术、图象图象 处理技术的快速发展而出现的基于网络的考试阅卷系统。现在教育考试侧重点, 更加注重于对学生创新意识和实践能力的考查,试卷中主观题数量大大增加,但 由于主观题的评阅容易受到多方面因素的影响,难以保证考试的公平性。网上阅 卷通过将考生的试题数字化,存储在相应的计算机系统中,通过对试卷数字化信 息进行分割、切分处理,分离出单一考题。在教师阅卷时,将考题直接显示在计 算机屏幕上,由教师在屏幕上阅卷和给分。对教师给出的分数根据误差控制原理 进行多评取均值,避免了因某一评卷老师疏忽而给出错误分数,从而保证考试的 公平公正。 本论文首先提出了网上阅卷相对于手工阅卷的优点,分析了国内阅卷系统的 应用现状,针对贵州省网上阅卷系统应用存在的不足,指出了开发一个具有贵州 自主知识产权的网上阅卷系统的必要性。接着阐述相关的技术,并根据需求搭建 系统的整体架构、规划数据库。 本文所做工作主要包括: 一根据系统需求,提出了一套基于分布式多层架构的系统设计方案,对系 统框架、功能模块和数据库结构进行了详细规划。 二结合各种设计模式设计了主观题评阅模块部分的功能,并给出流程和部 分实现方式。在统计分析模块,对传统的算法进行改进优化,降低计算的复杂度。 三为保证数据的可靠性和安全性,应对高并发的情况。对服务器采用 r a i d l 0 技术进行硬盘分段和硬盘镜像技术处理,并对w e b 服务器作集群配置, 实现负载均衡和失败转移。最后为提高数据库服务器的性能,对连接池技术进行 优化,确保服务器性能得到最大发挥。 关键字:网上阅卷,j 2 e e ,m a x ,设计模式,磁盘阵列,连接池 a b s tr a c t w i t ht h ef a s t d e v e l o p m e n t o fn e t w o r kt e c h n o l o g y , c o m p u t e rt e c h n o l o g y , d i g i t i z e d i n f o r m a t i o n t e c h n o l o g y , i m a g ep r o c e s s i n gt e c h n o l o g y , m a r k i n go n l i n e s y s t e mb a s e do nt h en e t w o r ka p p e a r e di nr e c e n ty e a r s n o we d u c a t i o ne x a m i n a t i o n r e q u i r e sm o r eo nc r e a t i v i t ya n dp r a c t i c ec a p a b i l i t yo ft h e c a n d i d a t e s ,a n dp r o v i d e s m o r es u b j e c t i v eq u e s t i o n st h a no b j e c t i v eo n e s h o w e v e r , a st h eg r a d i n gf o rs u b j e c t i v e q u e s t i o n sc a nb ea f f e c t e db ym a n yf a c t o r s ,j u s t i c em a yn o tb ea s s u r e d m a r k i n g o n l i n es y s t e ms t o r ee x a m i n a t i o n p a p e r si nt h ec o m p u t e rt h r o u g hd i g i t i z i n gt h e m ,c u t a p a r tt h e ma n di s o l a t es i n g l eo n e w h e nt h et e a c h e r sg oo v e re x a m i n a t i o np a p e r st h a t a r er e v e a l e do nc o m p u t e rs c r e e n ,m e yc a nr e a d a n ds c o r ed i r e c t l yt h e m a n du n d e r c o n t r o lp r i n c i p l eo fm u l t i - e r r o r ,i tg e tf i n a ls c o r ef r o ma v e r a g ev a l u eo ft e a c h e r s , t h e r e f o r er e a l i z e st h ej u s t n e s sa n df a i r n e s s f i r s t l y , t h i sp a p e rs h o w st h ea d v a n t a g e so fm a r k i n g - o n l i n es y s t e ma n da n a l y s e s t h ed o m e s t i cs t a t u so fu s i n gm a r k i n g - o n l i n es y s t e m i nv i e wo fg u i z h o up r o v i n c e o n l i n em a r k i n gs y s t e ms t a t u sa n di t ss h o r t c o m i n g s ,p o i n t so u tt h a tt h ed e v e l o p m e n to f ag u i z h o ui n d e p e n d e n ti n t e l l e c t u a lp r o p e r t yr i g h t sm a r k i n g - o n l i n es y s t e mi sn e c e s s a r y s e c o n d l y , d e s c r i p e sh o w t ob u i l dw o r k n e ta r c h i t u r ea n dd a t a b a s e t h em a i nw o r kd o n ei nt h i sp a p e ra sf e l l o w s : 1 b a s e do ns y s t e mr e q u i r e m e n t ,o f f e r st h ei n t e g r a t e dd e s i g n ,i n c l u d i n g s y s t e m f l a m ew o r kb a s e do nj 2 e em u l t i l a y e r s y s t e ms t r u c t u r e ,f u n c t i o nm o d u l ea n d d a t a b a s es t r u c t u r e 2 d e s i g n sa n di m p l e m e n t sm a r k i n gf u n c t i o nm o d u l eo fs u b j e c t i v ei t e mw i t h v a r i o u sd e s i g np a t t e r n s i ns t a t i s t i ca n da n a l y s i sm o d u l e ,w ei n p r o v et h ea l g o r i t h m st o g e tb e t t e rp e r f o r m a n c e 3 i no r d e rt om a k es u r et h es a l l ya n dr e l i a b i l i t yo fd a t a ,u s er a i d10t e c h n o l o g y i nd i s k ,a n dc o n f i gw e bs e r v e ra sac l u s t e r f i n a l l y , w eo p t i m i z ed a t a b a s es e r v e ru s i n g c o n n e c t i o np 0 0 1 k e yw o r d s :m a r k i n go n l i n e ,j 2 e e ,a j a x ,d e s i g np a t t e r n ,r a i d ,c o n n e c t i o np o o l 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研 究在做出重要贡献的个人和集体,均已在文中以明确方式标明。本人 完全意识到本声明的法律责任由本人承担。 论文作者签名:奶区五 日 期: 2 q q 望生笸鱼 关于学位论文使用授权的声明 本人完全了解贵州大学有关保留、使用学位论文的规定,同 意学校保留或向国家有关部门或机构送交论文的复印件和电子 版,允许论文被查阅和借阅;本人授权贵州大学可以将本学位论 文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或其他复制手段保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:弦边导师签名 1 1 课题背景及意义 第一章绪论 1 1 1 网上阅卷系统定义 “网上阅卷 是近年来随着网络技术、计算机技术、信息数字化技术的快速 发展而出现的基于网络的考试阅卷系统。所谓的“网上阅卷,就是通过将考生 的试题数字化,存储在相应的计算机系统中,通过对试卷数字化信息进行分割、 切分处理,分离出单一考题。在教师阅卷时,将考题直接显示在计算机屏幕上, 由教师在屏幕上阅卷和给分。 网上阅卷的工作程序是:首先按计算机网上阅卷的要求设计并印制答题卡, 考试结束后,再通过高速扫描仪对考生的答题卡进行扫描,生成图像文件,存储 在计算机里。对生成的图像文件通过软件程序自动进行切割,客观题由计算机自 动阅卷,主观题由计算机将各题组数据随机生成发送给阅卷教师的计算机终端, 由阅卷教师通过计算机终端进行阅卷。客观题和主观题阅卷完毕,由计算机自动 汇总生成考生的考试成绩。 网上阅卷可以提高现在大型考试的阅卷效率,特别是可以有效的提高阅卷的 公开性、公平性与公正性。随着越来越多的省份使用网上阅卷,可以预见在未来 几年中采用网上阅卷将是大型考试的阅卷主流方式。 1 1 2 网上阅卷系统应用现状 2 0 0 2 年,广东省首先在普通高考阅卷的工作中使用“计算机辅助评卷系统, 在互联网上进行语文、英语的阅卷工作,这是全国范围内网上阅卷系统的首次使 用。而到2 0 0 4 年,全国己有辽宁、上海、广东等1 5 个省市在高考部分或全部科 目中实行网上阅卷,这些省市的改革为网上阅卷积累了较为丰富的经验并得到了 教育部的肯定和积极提倡。同年,许多省在成人高考中也进行了网上阅卷的试点。 截止到2 0 0 7 年,全国大部分省市都实施网上阅卷,网上阅卷在组织管理、 关键设备、技术支持等方面的条件己经成熟。 1 1 3 贵州省网上阅卷系统的现状 贵州省网上阅卷始于2 0 0 2 年高考阅卷( 仅应用于单科英语) ,2 0 0 3 在此基 础上增加了数学科目的网上阅卷,2 0 0 4 全部科目均采用网上阅卷。网上阅卷应 用取得良好的经济效益和社会效益,就投入和产生的效益而言已居于全国各省市 前列。但是,总的说来,仍有很多问题。 首先,阅卷系统的核心技术仍被省外公司所掌握,每年贵州省阅卷需要支付 出大量资金。 其次,贵州省每年都有很多统一考试,如:小学毕业统一考试、初中毕业考 试、高中入学统一考试、高中会考、高考、成人高考等等。这类考试都是全民关 注的焦点热点,对考试的公平性、公正性要求很高。在此类考试中推行无纸化批 改阅卷使各级各类考试更加公平、公正,对贵州省的经济效益、社会效益、科研 和教育做出积极的贡献。但是对贵州省这样一个贫困省份来说,要做到推广应用, 没有自己的知识产权,很难做到。 第三,由于阅卷系统的核心技术仍被省外公司所掌握,导致所有的考务程序 必须围绕着别人的阅卷系统的核心,给考务工作造成了一些难以克服的困难。 第四,现在采用的阅卷系统仍有很多不足。比如,o m r 识别子系统识别准 确率、网上分发试卷子系统在大批量访问的情况下快速性、试卷批改时安全保密 性等仍然有很多问题。有待于进一步的提高。 第五,提供给阅卷相关领导和部门的子系统,功能不完善。 第六,统计分析软件功能单一,和考试要求的功能有一定距离。 第七,为了高考阅卷顺利完成,每年要将贵州省的大批教师集中起来,在计 算机上进行主观题的评阅,这会大大地增加成本费用,对于高考这种特殊安全要 求是必要的,但对于其它的考试阅卷就没有太大的必要,因此加强在互联网上对 ,互联网的无纸化考试阅卷系统的研究,特别是基于i p v 6 环境下的的研究具有普 遍的现实意义。 贵州科技厅意识到迫切需要发展一个具有贵州自主知识产权的网上阅卷系 统的重要性,依托贵州省信息与计算科学重点试验室建立了该项目。 1 1 4 网上阅卷系统优点 网上阅卷系统是图像识别处理技术、计算机网络技术等在教育管理中的综合 运用,相对于传统的手工阅卷方式,有以下几个明显的优点: 1 ) 由于将考生的试卷电子化存储和流通,减轻了保存机密档案的压力。在 以往的阅卷工作中,纸质试卷的保管是个大问题,在安全保卫工作需要投入大量 的人力物力,而在网上阅卷中,原本汗牛充栋的纸质试卷变成了无形的电子数据, 只需l 块小小的硬盘便可保存,且评阅过程中无需人工搬移,大大减轻了工作强 度。 2 ) 拓展了阅卷工作的参与面。采用网上阅卷的形式,可以利用网络在时间、 空间上拓展阅卷工作,邀请一些远在外地的高级教师、专家参加阅卷,提升阅卷 的水平。 3 ) 网上阅卷提高了保密性。答卷在电子化时,仅保留了考生的答案,并将 考号映射成另一组无意义的号码,这样就杜绝了教师从纸质试卷上的考场代码、 监考人员姓名等推算出考生信息的可能性,教师在评卷时不可能有意识地进行偏 袒。 4 ) 网上阅卷中,考生的试卷1 0 0 经过多人评阅,并进行误差纠正,这样就 避免了考生被一阅定终身的情况发生,同时由于各位教师无法察看别人的评分记 录,只能进行“盲评”,不会受前一位教师的影响。 5 ) 网上阅卷系统由计算机实时监控教师的阅卷质量,可以及时发现阅卷过 程中存在的疏漏,并对教师在阅卷过程中的表现进行考核。在积累一定的数据后, 可以建立阅卷教师的信息库,为日后阅卷工作的人员选拔提供参考。 6 ) 从阅卷过程的环节来看,传统阅卷要经过试卷保管、调度、领卷、评分、 2 登分、累分、签名、核分、退卷、抽查等环节,网上阅卷对其进行了精简,并由 计算机完成其中极易产生差错的登分、累分、核分等工序,提高了工作效率和准 确度。 网上阅卷实现了阅卷工作的现代化,既保证了招生考试的公正性,又提高了 工作效率,减少了差错。不难看出,在我国这样一个教育大国、考试大国,利用 网上阅卷系统来辅助大型考试招生工作的开展是非常有必要的。 1 2 网上阅卷系统技术路线 1 2 1 系统要求 网上阅卷系统的应用范围非常广泛,在中考、成人高考、自学考试等方面都 可以采纳。而且涉及的人员也非常复杂。这使得所开发出来的网上阅卷系统必须 满足克服以下难点: l 、应用层次差异较大 根据目前高考阅卷队伍的基本情况来看,能够熟练利用计算机设备、熟悉掌 握汉字录入方法的老师所占比例不高。特别是某些年纪较大的教师具有丰富的阅 卷经验,但是在计算机方面较不熟悉,所以从总体来看,应用层次差异较大。在 系统设计时,应对这种情况进行综合考虑,无论从功能设置,还是从操作来看, 都必须针对各种情况进行优化。 2 、维护能力较差 其次,在网上阅卷系统中,无论是招办方、还是阅卷组的组织方,对整个计 算机系统、网络系统、数据库系统的维护能力均较弱,这也就要求系统在设计时, 要充分考虑系统的鲁棒性,确保系统稳定可靠运行。 3 、高负载性 网上阅卷时,一般都是几百个老师同时阅卷,这样高的负载对系统的应用服 务器是个严峻的考验,所以需要使用高性能的应用服务器,以保证系统稳定运行。 4 、可靠性 网上阅卷作为一件新生事物,由于关系到每一个考生的具体利益,因此,这 样的系统可靠性是第一位的。要充分的注意系统的稳定性、可靠性,必须通过多 种手段确保系统的稳定运行。 5 、安全性 由于网上阅卷十分敏感,在系统运行时,必须通过多级权限控制确保系统的 安全性,安全性需要针对阅卷老师、组长、大组长、各招办同志及系统的管理员 等。 1 2 2 系统技术选择 ( 1 ) w e b 程序开发 本系统采用了b s 与c s 结构结合的模式开发。扫描图象切割端和客观题评 阅端采用c s 模式。在主观题评阅端,考虑到用户量,用户应用层次差异较,以 及软件后期维护等采用了b s 结构来开发。b s 中浏览器软件有着统一的用户界 3 面、统一的语言格式、统一的传输协议,用户界面简单易学,终端用户几乎无需 任何培训,系统管理简单,有很高的可用性。同时易于维护,用户端无需专用的 软件。在b s 结构中,n e t 与j 2 e e 是两种主流的开发平台。二者有很多的相似 之处,但又各有千秋。两者在以下方面又有所不同。表1 1 说明了两者之间的差 异。 表1 ij 2 e e 与n e t 比较表 因素 j 2 e en e t 工业标准系列产品 单一语言多种语言 一般众多供应商 单一供应商 支持多种操作系统单一操作系统 j a v a c 群,v b ,c + + ,j 撑,j a v a 语言 及其它 组件模型 e n t e r p r i s ej a v a b e a n sn e t ( w e b ) s e r v i c e ;c o m + j r e ( j a v ar u n t i m ec l r ( c o m m o n l a n g u a g e 直译器 e n v i r o n m e n t )r u n t i m e ) 由上表可看出,在可移植性方面,n e t 只能在w i n d o w s 上运行,微软是唯 一的平台供应商。j 2 e e 则可以在任何有j v m 的平台上执行,只要有兼容的服务 ( 比方说:e j b 容器,j m s 等) 即可。j 2 e e 的一切标准都是公开的,许多厂商( 如 i b m 、b e a 等) 都提供兼容的产品和开发工具。因此,j 2 e e 是较优的选择。 通过综合上述多方面因素,选定在j 2 e e 平台上进行网上阅卷系统的开发。 ( 2 ) 数据库系统 网上阅卷系统的具有并发访问量大,数据量大等特点。以2 0 0 7 年贵州高考 来说,考生人数约为2 2 万,参加阅卷的老师有1 5 0 0 多人。如果全部科目都使用 阅卷系统进行网上阅卷,需要处理的试卷总数可以达到4 2 2 万,再按题组切割, 存储于数据库中的记录数则更多,部分数据表的行数将达到千万级,故必须使用 稳定、可靠的大型商业化数据库。 当前流行的中大型网络数据库系统主要o r a c l e 、d b 2 、s y a s e 以及m ss q l s e r v e r 四种,每种数据库特点和适用面不同,可谓各有千秋。四种数据库的对 比分析如表1 2 : 表1 - 2 大型数据库比较分析 o r a c l e s q ls e r v e rs y b a s ea s e d b 2 能在所有主流平台 只能在 能在所有主流能在所有主流 开放性上运行( 包括 w i n d o w s 上运 平台上运行平台上运行 行,没有丝毫 ( 包括( 包括 w i n d o w s 、l i n u x )w i n d o w s 、w i n d o w s 、 的开放性 l i n u x )l i n u x ) 并行服务器通过使并行实施和共虽然有d b具有很好的并 可伸缩性 一组结点共享同一存模型并不成s w i t c h 来支行性。d b 2 把 和 簇中的工作来扩展熟,很难处理持其并行服务数据库管理扩 w i n d o w n t 的能力,日益增多的用器,但d b充到了并行 并行性 提供高可用性和高户数和数据s w i t c h 在技的、多节点的 伸缩性的簇的解决卷,伸缩性有术层面还未成环境。数据库 4 方案。如果限。熟,且只支持分区是数据库 w i n d o w s n t 不能满版本1 2 5 以上的一部分,包 足需要,用户可以的a s e含自己的数 把数据库移到se r v e r 。d b据、索引、配 u n 中。o r a c l e 的s w i t c h 技术置文件、和事 并行服务器对各种需要一台服务务日志。数据 u n i x 平台的集群器充当 库分区有时被 机制都有着相当高s w i t c h ,从称为节点安全 的集成度。而在硬件上带性。 来一些麻烦。 最高认证级别的没有获得任何 最高认证级别最高认证级别 安全认证的i s o 标准认的i s o 标准认 i s o 标准认证。安全证书。 证。证。 多层次网络计算, c s 结构,只 c s 结构,可 客户端支支持多种工业标 支持w i n d o w s跨平台,多层 持及应用准,可以用o d b c 、 客户,可以用 以用o d b c 、 结构,支持 模式j d b c 、o c i 等网络 a d o 、d a o 、 j e o r m e e t 、 o d b c 、j d b c o l e d b 、 c t - l i b r a r y 等网 等客户。 客户连接。络客户连接。 o d b c 连接。 完全重写的代 长时间的开发经 码,经历了长在巨型企业得 验,完全向下兼容。 期的测试,不 向下兼容,但 到广泛的应 风险性断延迟,许多 是e t 1 i b r a r y 用,向下兼容 得到广泛的应用。 功能需要时间 程序不益移 性好。风险小。 完全没有风险 植。 来证明。并不 十分兼容。 性能最高,保持开 接近s q l 性能较高适用 放平台下的t p c d多用户时性能 s e r v e r ,但在 于数据仓库和 性能u n i x 下的并 和t p c c 的世界记不佳在线事物处 录。 发性要优与 理。 s q l s e r v e r 经过比较分析,结合系统的安全性、稳定性、可扩展性等需求,以及技术的 成熟程度,最终选择o r a c l e 9 i 数据库系统。 1 3 系统开发环境 系统主要开发工具和部署环境如表l 一3 : 工具类型 工具名称 开发语言 j a v a 语言工具 e c l i p s e 3 2 + m y e c l i p s e 6 0 建模工具r a t i o n a lr o s e 2 0 0 3 、v i s i 0 2 0 0 2 版本控制c v s n t 帮助文档h t m l 5 标准文档p d f 格式 w e b 服务器 a p a c h e + t o m c a t 操作系统w i n d o w sa d v a n c es e r v e r 2 0 0 0 数据库服务器o r a c l e 9 i 浏览器 i n t e m e te x p l o r e r 6 0 以上 表1 - 3 开发工具和部署环境 1 4 论文组织结构 本论文首先提出了网上阅卷相对于手工阅卷的优点,分析了国内阅卷系统的 应用现状,针对贵州省网上阅卷系统应用存在的不足,指出了开发一个具有贵州 自主知识产权的网上阅卷系统的必要性。接着阐述相关的技术,并根据需求搭建 系统的整体架构、规划数据库。 具体的内容章节安排如下: 第一章给出了网上阅卷系统的定义,并确定开发该系统的技术路线和开发环 境。 第二章重点在于分析j 2 e e 架构及其核心技术,讨论各种设计模式及其在 j 2 e e 平台中的应用,为开发基于j 2 e e 架构的网上阅卷系统做了技术上的准备。 第三章分析系统的具体需求,设计系统的软硬件架构,规划数据库,并划分 功能模块。 第四章详细阐述主观题评阅模块的设计与实现,并改进传统算法。 第五章研究分析保障系统安全性和数据稳定性等措施,提高系统性能。 第六章总结论文研究成果,指出其中不足,确定下步研究努力的方向。 1 5 小结 本章首先引入了网上阅卷系统的定义,并说明相对手工阅卷的各种优点。接 着探讨网上阅卷系统的应用现状,主要着眼于贵卅i 网上阅卷系统的现状,指出其 中的不足,说明开发这样一个具有贵州自主知识产权的系统的必要性。最后根据 网上阅卷系统的特殊要求,比较时下流行的可靠的不同技术的优缺点,最终确定 了开发技术路线与开发环境。 6 第二章系统关键技术分析 2 1j 2 e e 技术系统技术平台 从整体上讲,j 2 e e 是使用j a v a 技术开发企业级应用的一种事实上的工业标 准( 江左文等著,2 0 0 1 ) ( s u n 公司出于其自身利益的考虑,至今没有将j a v a 及 其相关技术纳入标准化组织的体系) ,它是j a v a 技术不断适应和促进企业级应用 过程中的产物。s u n 推出j 2 e e 的目的是为了克服传统c s 模式的弊病,迎合b s 架构的潮流,为应用j a v a 技术开发服务器端应用提供一个平台独立的、可移植 的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管 理和部署。各个平台开发商按照j 2 e e 规范分别开发了不同的j 2 e e 应用服务器, j 2 e e 。应用服务器是j z e e 企业级应用的部署平台。由于它们都遵循了j 2 e e 规范, 因此,使用j 2 e e 技术开发的企业级应用可以部署在各种j 2 e e 应用服务器上。 总而言之,j 2 e e 是服务,组件,容器,a p i 的集合。j 2 e e 平台应用各种不同的 应用组件( 如s e r v l e t , j s p , e j b ) ,它们构成了应用的主体。j 2 e e 平台提供的应 用服务( 如j d b c ,j t s ,j n d i ) ,这些服务保证并促进组件的良好运行。j 2 e e 的 应用通信技术( 如r m i ,j m s j a v a m a i l ) 在平台底层实现机器和程序之间的信息传 递。 : 2 1 1j 2 e e 层次 j 2 e e 平台应用多层分布式结构来构造企业应用。企业应用的逻辑根据其功 能而分布到不同的j 2 e e 组件中,组成j 2 e e 应用程序的各种j 2 e e 组件根据它所 在的层被发布到不同的机器上。在j 2 e e 的应用平台中一般分为以下四层: 客户层:客户层组件运行在客户机上: w 曲层:we b 层组件运行在j 2 e e 服务器上; 业务逻辑层:作为解决或满足某个特定业务领域的需要的逻辑的业务代码由 运行在业务层的e j b 来执行; 企业信息系统层( e i s ) :运行在e i s 服务器上。e i s 服务器运行企业信息系 统软件,如企业资源计划( ( e r p ) 、大型事务处理、数据库系统及其他遗留信息系 统。j 2 e e 组件可以通过访问e i s 来取得数据库连接,这也是e i s 层应用最多的 一种形式。j 2 e e 平台的层次结构如图2 1 所示: 7 客户层 【 w e b 屋 :业务逻辑层:企业信息系统层 图2 1j 2 e e 层次 w e b 层和业务逻辑层属于应用服务器领域。所谓应用服务器,是j 2 e e 平台 的具体实现。这四层中的每一层都可以从物理上分布到多台机器,即使同属于应 用服务器领域的w e b 层和业务逻辑层,也可以驻留在不同的应用服务器土。例 如,在一个应用中,h t i p 和表现逻辑的容器可以使用s t m 公司的j 2 e e 应用服 务器i p l a n e t ,部署业务逻辑层组件可以用b e a 公司的j 2 e e 应用服务器 w e b l o g i c 。按照习惯,w e b 层总是与w e b 容器相关,业务逻辑层总是与e j b 容 器相关。 2 1 2j 2 e e 的核心技术 j 2 e e 是基于j a v a 技术的一整套企业应用开发标准和规范以及同硬件无关的 运行时环境,能够为开发的产品带来显著的可移植性、伸缩性、稳定性和安全性。 它作为一种功能完各、稳定可靠、安全快速的企业级计算平台,由多种基于j a v a 的核心技术组成:s e r v l e t ,j s p ( j a v as e r v e rp a g e ) ,e j b ( e n t e r p r i s ej a v a b e a n1 ,j n d i ( j a v an t u n i n ga n dd i r e c t o r yi n t e r f a c 曲,j d b cf j a v ad a t a b a s ec o n n e c t i v i t y ) ,j t a ( t h e j a v at r a n s a c t i o na p i ) 和c o r b a 等。而在构建本系统应用中主要用到的j 2 e e 技 术是s e r v | e t ,j s p , e j b ,j n d i 等。 1 s e r v l e t s e r v l e t 译为服务器小程序,与运行于客户端的a p p l e t ( 小程序) 对应,它们都 是使用j a v a 语言写的小型程序。s e r v l e t 没有m a i n 方法,只有一些特定的方法用 于启动、执行和退出。它可以与运行于客户端的a p p l e t 进行交互,也可以直接与 客户端的h t m l 页交互( 宋辉,江峰著,1 9 9 9 ) 。 s e r v l e t 程序的运行机制如下( r i c hb r o n e n 著。2 0 0 1 ) : ( 1 ) i m t 方法:当用户访问s e r v l e t 程序时,服务器首先调用i n i t 方法进行初 始化工作,该方法只会被调用一次。 ( 2 ) s e r v i c e 方法:在i n i t 方法之后。服务器调用s e r v i c e 方法准备处理用户的 访问。来自客户端的访问有g e t ,p u p o s t 等类型,这些都可以在s e r v i c e 方法 中处理。h t t p s e r v l e t 类中也提供了支持这些类型的d o x x x 方法,例如d o g e t 片 法,当访问请求是g e t 时会自动执行。s e 而方法包括两个参数,即用户的访 问请求( r e q u e s t ) 和服务器的响应( r e s p o n s e ) 。服务器的响应是通过某种流,如 p r i n t e r w r i t e r ,建立一个h t m l 页面,并把它发送到用户的浏览器上。只要用户 访问到服务器小程序的u r l ,那么用户浏览器上就会显示该页面。 ( 3 ) d e s t r o y 方法:该方法在服务器结束s e r v l e t 运行时调用,即不是s e r v l e t 程序自己调用的。例如,当服务器程序关闭时会调用它。s e r v l e t a p i 是用来编写 s e r v l e t 的一套编程接口,编写s e r v l e t 并不需要像c g i 脚本那样关心一个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 可以相当有效地替代 c g i 脚本,方便地产生容易编写而且运行快速的动态w e b 页面,可以很方便地 调试程序等。 s e r v l e t 的优势是显而易见的( 周世雄著,1 9 9 8 ) ,主要体现在于如下几个方面: ( 1 ) s e r v i a 是使用j a v a 语言编写的,比用c ,p e r l 语言开发c g i 更加容易编 写,能够很快地运行产生动态w e b 页面,且具有良好的跨平台性,有效地取代 了c g i 脚本。 ( 2 ) 一个s e r v l e t 可以同时处理多个请求,每个请求将生成一个新的线程,而 不是一个完整的进程,使多个客户能够在伺一个进程中同时得到服务。 ( 3 ) s e r v l e t 是模块化的,每个都执行一个特定的任务,也可以协同一起进行 工作,构成s e r v l e t 链,功能强大。 ( 4 ) s e r v l e t 可以嵌入在不同的j a v a 服务器之中,因为用来编写s e r v l e t 的 s e r v l e t a p i 对于服务器环境和协议没有任何特殊的要求,具有很强的可移植性。 s e r v l e t 会长期驻留在服务器端的内存中,非常适于服务端的处理和编程,但 是s e r v l e t 提供的功能大多与j s p 类似,只是实现的方式不同。j s p 通常是大多数 h t m l 代码中嵌入少量的j a v a 代码( 林邦杰著,2 0 0 1 ) ,在实际的项目开发过程中, 页面设计者可以方便地使用普通h t m l 或者x m l 工具来开发j s p 页面,而 s e r v l e t ,全部用j a v a 语言编写,开发时需要j a v a 的集成开发环境,一个需要更 多编程经验的开发领域,s e r v l e t 更适合于后端编程开发人员使用。 2 j s p j s p 是编写动态页面的语言,它在j 2 e e 标准中,运行在服务器端,支持表 现层的实现。简单的说,j s p 就是在h t m l 代码中混合j a v a 程序代码,并由j a v a 语言引擎解释执行程序代码的动态页面编写语言。 ( 1 ) j s p 的运行机制。在j s p 环境下,h t m l 代码主要负责描述信息的显示样 式,而j a v a 程序代码则用来描述处理逻辑。普通的h t m l 页面只依赖于w e b 服 务器,而j s p 页面则需要附加的语言引擎分析和执行程序代码。程序代码的执行 结果被重新嵌入到h t m l 代码中,然后一起发送给客户端浏览器。j s p 是面向 w e b 服务器的技术,客户端浏览器不需要任何附加的软件支持。和传统的c g i 相比,j s p 有相当的优势。首先,在速度上,传统的c g i 程序需要使用系统的标 准输入输出设备来实现动态网页的生成,而j s p 是直接和服务器相关联的。而且 对于c g i 来说,每一个访问就需要新增加一个进程来处理,进程不断的建立和 销毁对于作为w e b 服务器的计算机将是一个不小的负担。其次,j s p 是专门为 w e b 开发而设计的,其目的是为了建立基于w e b 的应用程序,j s p 包含了一整 套的规范和技术可以很方便地将一大堆j s p 页面组合成为一个w e b 应用程序。 其目的是使得构造基于w e b 的应用程序更加容易和快捷,而这些应用程序能够 与各种w e b 服务器,应用服务器,浏览器和开发工具共同工作( p a u lj p e r r o n e e t 9 著,2 0 0 1 ) 。j s p 以s e r v l e t 技术为基础,又在很多方面做了改进。它与s e r v l e t 配 合使用,共同完成服务器端的功能实现。 ( 2 ) j s p 的客户端交互。j s p 的大部分工作就是与客户端进行交互。客户端一 般指的是浏览器,它们与置于服务器端的j s p 页面进行交互。j s p 脚本中所有的 j a v a 语句都是在服务器端执行,服务器接收客户端提交的请求,通过一定的处理 之后,将结果返回给客户端,客户端得到的仅仅是h t m l 代码( 耿祥义著,2 0 0 3 ) 。 交互过程的流程为,在一般的客户端和服务器端的交互中,使用h 1 1 协议, 客户端通过下面四个步骤与服务器端进行交互: 1 ) 客户端和服务器端建立连接 2 1 发送客户端请求 3 ) 服务器返回应答给客户端 4 ) 客户端关闭连接 所有的请求都是由客户端主动发出,而服务器端一直处于被动的监听状态。 整个交互过程也是由客户端主动发起,服务器在整个交互过程中处于被动状态。 也就是说服务器端仅在客户端请求的时候才发送信息,而在客户端不请求的时 候,服务器端不可能主动向客户端发送任何信息。 用户在浏览器键入要访问的地址,按回车键确认后,浏览器就开始与指定的 服务器建立连接,从这时开始,就开始了一次交互过程。浏览器通过一段时间的 等待后,从服务器得到响应,并把相应的信息以h t m l 方式呈现给用户。用户 在浏览网站的过程中,实际包含了很多这样的交互应答过程。 3 j d b c 与连接池 j a v a 数据库连接( j d b c ) ,是一个a p i ,允许访问任何表格数据源,包括关 系数据库、电子表格和文本文件。a p l 允许你通过驱动程序连接到数据库,然后 对该数据库执行结构化查询语言( s t r u c t u r e dq u e r yl a n g u a g e s q l ) 。 要创建j d b c 资源,还需指定与其关联的连接池。多个j d b c 资源可以指定 一个连接池。j d b c 连接池是用于特定数据库的一组可重复使用的连接。由于每 创建一个新的物理连接都会耗费时间,因此服务器维护了可用连接以提高性能。 应用程序请求连接时可以从池中获取一个连接。应用程序关闭连接时,连接将返 回到池中。 一个w e b 应用申请连接,实际上是从连接池中取得一个连接,使用完后该连 接又返回到该连接池容器中。连接池示意图如2 - 2 所示 圉2 - 2 连接池示意图 4 j n d l 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 2 e e 规范提供给应用程序 使用的一个标准接口,应用程序通过使用这些统一定义的接口来定位用户、对象、 数据等一系列分布在网络中的资源。它使得我们的应用程序不必了解具体的命名 和目录服务器的细节,就可以直接来操作我们的资源。 j n d i 是命名和目录系统相互作用的一个基于j a v a 的客户系统。它是命名和 目录服务器上的一座桥梁,命名和目录服务器给不同的用户提供了一个共同的接 口;所有的对命名和目录的操作都通过j n d i 接口完成,它提供了公共框架,简 化了用户的操作( 劭军,2 0 0 4 ) 。 j n d i 有两个基本概念in a m i n g 和d i r e c t o r y n a m i n g 是在计算机系统中最基 本的服务之一( s u nm i c r o s y s t e m s ,2 0 0 7 ) ,它把名称( n a m e ) 与对象( o b j e c t ) 绑定起 来( b i n d i n g ) ,而用户则通过一个上下文( c o n t e x t ) 环境对象来存取所需的对象。例 如:d n s ( d o m a i nn a m es y s t 郇) 将主机名称对应到1 1 a d d r e s s ,以方便使用者记 忆。 d i r e c t o r y 是对n a m i n g 概念的扩充,让对象拥有属性( a t t r i b u t e ) 来记录额外的 信息。这样,用户可以使用名称来查找对象,还可以获得该对象的属性信息,此 外使用属性作为搜寻的过滤条件,还可以搜索符合条件的对象。比如电话本就是 一个d i r e c t o r y 的实例,它存储着很多个对象的电话号码( 属性) 。d i r e c t o r y 目前在 计算机系统中比较著名的应用系统与架构有公司的n d s ( n o v e l ld i r e c t o r y s e r v i c e s ) s u n 公司的n i s ( n e t w o r ki n f o r m a t i o ns e r v i c e ) ,以及即将成为网络上一 个新标准的l d a p ( l i g h t w e i g h td i r e c t o r ya c c e s sp r o t o c 0 1 ) 。 2 2 设计模式及其在j 2 e i :平台中的应用 即使利用先进的j 2 e e 平台,开发企业级应用程序仍然有很多的困难。j 2 e e 通过a p i 提供技术与服务的高层抽象,使企业开发得到简化。但是仅仅知道j 2 e e a p i 是不够的,要设计良好的体系结构,得到高质量的应用程序,就必须知道何 时如何正确地使用j 2 e ea p i 。而要做到正确并且恰当地使用j 2 e ea p i 就要把 j 2 e e 和设计模式相结合。 2 2 1 设计模式概述 早在设计模式这个概念提出之前,c h r i s t o p h e ra l e x a n d e r 和他的同事已经将 模式语言( ( p a t t e r nl a n g u a g e ) 应用于城市建筑领域,后来他们的思想被应用于面向 对象软件界,也就逐渐形成了设计模式( d e s i g np a t t e r n ) 这个概念。所谓设计模式 指的是:对被用来在特定场景下解决一般设计问题的类和相互通信的对象的描 述。简单地说设计模式就是在具体场合下解决问题的一些方法和经验,它为开发 人员提供了一种使用专家设计经验的有效途径( 阎宏著,2 0 0 7 :g a m m ae r i c h 等, 1 9 9 5 ) 。 一般而言,一个模式有四个基本要素: 1 ) 模式名称( p a t t e r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 我和爸爸作文800字(11篇)
- 内蒙古农村信用社发展战略:基于区域特色与金融创新的深度剖析
- 家庭财产分割争议解决协议书
- 企业风险防范与危机处理
- 从司法实践视角剖析保证担保的从属性与独立性
- 高中英语课文全解与练习题
- Linux系统环境部署手册
- 三维颅面模型:几何计算、变形方法及应用的深度剖析
- TTCAN协议调度算法:原理、优化与仿真验证
- 特价闪购好物速入手
- 北美128个护理诊断
- 2025高考英语全国II卷试题分析及备考策略指导课件
- 人口老龄化带来的公共卫生挑战-深度研究
- 2025年度宠物赛事组织与赞助合同4篇
- 内容理解与概括【知识精研】 中考语文一轮复习精讲专练
- 2025年发展对象考试题库附含答案
- 物流公司驾驶员管理的规章制度
- 35KV集电线路安全施工措施
- 机场监控施工方案
- 北京餐厨垃圾收运合同范本
- 压力容器使用单位安全员题库
评论
0/150
提交评论