




已阅读5页,还剩63页未读, 继续免费阅读
(计算机应用技术专业论文)基于jsp技术的网络考试系统研究及实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 网络考试系统是网络时代计算机在c a i 中的一个重要应用,随着计算机技术 的发展及计算机的普及,基于w e b 的网络考试与无纸化办公一样已成为大势所趋。 网络考试系统主要功能是对试题库进行存储管理,并由计算机完成智能组卷、标 准化测试、试卷评阅等工作,取代传统的基于纸和笔的考试方式。网络考试系统 具有出卷方便快捷、阅卷准确快速、成绩分析统计科学直观等优点,并且可以大 大减轻教师阅卷的工作量,同时大幅度提高阅卷的准确性。 本文主要介绍了基于b s 开发模式的网络考试系统设计与实现过程。首先介 绍了网络考试系统的研究背景、现状及意义,接着对j s p 、j a v a b e a n 组件、s e r v l e t 、 j d b c 、事务等几种相关开发技术进行了讨论,并对系统进行需求分析,初步确定 系统需求、基本功能及总开发原则,在系统总体设计阶段主要从教师功能模块, 学生功能模块,管理员功能模块及系统功能模块四大部分进行描述,详细定义了 各部分应该具有的功能及系统结构模型,并在其基础上进行了数据库结构的设计, 针对当前网络考试系统存在的一些问题,本文重点论述了考试系统中数据库连接 的优化设计,网络考试、自动组卷、自动阅卷及成绩分析、身份验证、报表输出 等主要功能的分析与实现,最后,总结阐述了本系统的优点及未来可改进的不足 之处,展望了网络考试系统未来的发展方向。 本系统采用j s p 技术与j a v a b e a n 组件技术相结合,j a v a 引擎采用j 2 s d k l 4 1 , 服务器采用a p a c h et o m c a t 5 0 ,服务器端操作系统可选用w i n d o w s2 0 0 0s e r v e r 或者l i n u x 系统,后台数据库选用m y s q l 4 0 ,客户端使用浏览器( 如i e ) 进行访问。 用户可以随时随地在任何一台接入i n t e r n e t 的主机上访问服务器,教师可以随时 登录系统进行题库管理、安排考试、查阅学生成绩等,学生可以随时登录查看以 往考试成绩以及当前的考试安排信息,并可在规定时段登录系统后进行相应科目 的考试。 关键词:网络考试系统,j s p ,m y s q l ,自动评分 a b s t r a c t a b s t r a c t n e t w o r kt e s ts y s t e mi sa ni m p o r t a n ta p p l i c a t i o ni nc a io fc o m p u t e ri ni n t e r n e t a g e w i t ht h ed e v e l o p m e n to fc o m p u t e rt e c h n o l o g ya n dp o p u l a r i z a t i o no fc o m p u t e r , t h e n e t w o r kt e s ts y s t e ms i m i l a rt op a p e r l e s so f f i c ew o r kb a s e do nw e bi sb e c o m i n gat r e n d t h em a i nf u n c t i o no fn e t w o r kt e s ts y s t e mi st om a n a g et h ee x a m i n a t i o np a p e rs t o r e ,a n d t h ec o m p u t e ra c c o m p l i s h e st h ea p t i t u d es o r t i n gp a p e r , s t a n d a r dt e s ta n dp a p e ra p p r a i s a l i t r e p l a c e s t h ec o n v e n t i o n a lt e s tb a s e do np a p e rt e s t n e t w o r kt e s ts y s t e mh a s a d v a n t a g e s o f q u i c kd i s t r i b u t i n g , q 脚c ka n de x a c ta p p r a i s i n g a n dr a t i o n a l i n t u i t i o n i s t i ca n a l y z i n ga n da c c o u n t i n go fr e s u l t s ,a n di tc a nr e d u c et h et e a c h e r s w o r k l o a da n di m p r o v et h ea c c u r a c yo f p a p e ra p p r a i s i n gg r e a t l y t h et h e s i sf o c u s e s0 1 1t h ed e s i g na n di m p l e m e n t a t i o np r o c e s so fn e t w o r kt e s t s y s t e mb a s e d o nb sd e v e l o p m e n tm o d u l e f i r s t l y ,i ti n t r o d u c e st h eb a c k g r o u n d ,p r e s e n t s t a t u sa n dt h es i g n i f i c a n c eo fn e t w o r kt e s ts y s t e m s e c o n d l y , i td i s c u s s e st h es e v e r a l r e l e v a n td e v e l o p m e n tt e c h n o l o g i e ss u c ha sj s p ,j a v a b e a nc o m p o n e n t , s e r v l o lj d b c a n dt r a n s a c t i o n , a n dm a k e sr e q u i r e m e n ta n a l y s i so ft h es y s t e m , d e t e r m i n e st h e r e q u i r e m e n to fs y s t e m , b a s i cf u n c t i o na n dt h ed e v e l o p i n gp r i n c i p l e si n i t i a l l y i nt h ep e r i o do fo v e r a l ld e s i g no ft h es y s t e m , i td e s c r i b e st h ef o u rp a r t s ,n a m e l y , t e a c h e r sf u n c t i o nm o d u l e , s t u d e n t sf u n c t i o nm o d u l e , o p e r a t o r sm o d u l ea n ds y s t e m a t i c f u n c t i o nm o d u l e ,a n dd e f i n e st h ef u n c t i o na n dc o n f i g u r a t i o nm o d u l eo ft h es y s t e m w h i c he v e r yp a r ts h o u l dh a v e c o n s i d e r i n gt h ee x i s t i n gp r o b l e m si nt h ep r e s e n tn e t w o r k t e s ts y s t e m ,w ea c c o m p l i s hd e s i g n i n gt h ec o n f i g u r a t i o no fd a t a b a s e 1 1 1 et h e s i sa d d r e s s e st h eo p t i m i z a t i o no fd a t a b a s ec o n n e c t i v i t y , n e t w o r kt e s t , a u t o m a t i cg e n e r a t ep a p e r ,a u t o m a t i cs c o r ea n dr e s u l t sa n a l y s i s ,i d e n t i f i c a t i o na n do u t p u t o fr e p o r tf o r m s f i n a l l y , i tc o n c l u d e st h ea d v a n t a g e sa n di m p r o v a b l ed i s a d v a n t a g e si n f u t u r eo ft h es y s t e m ,a n di tg i v e st h ee x p e c t a t i o no ft h ef u t u r ed i r e c t i o no ft h es y s t e m n l es y s t e mc o m b i n e st h ej s pt e c h n o l o g yw i t hj a v a b e a nc o m p o n e n tt e c h n o l o g y t h ej a v ae n g i n ea d o p t st h ej 2 s d k l 4 1 ,a n dt h es o l v e ra d o p t sa p a c h et o m c a t 5 0 m s e r v e ro p e r a t i o ns y s t e mc a na d o p t se i t h e rw i n d o w s2 0 0 0s e r v e ro rl i n u xs y s t e m , a n d b a c k g r o u n dd a t a b a s es e l e c t sm y s q l a 0 ,a n dt h e c l i e n tt e r m i n a lc a nv i s i tb yu s i n g a b s t r a c t b r o w s e r ( e g i e ) t h eu s e rc a nv i s i tt h es e r v e rb ya n yc o m p u t e rc o n n e c t i n gw i t ht h ei n t e m e tf i e e l y t e a c h e r sc 觚l o go nt h es y s t e mt om a n a g et h ee x a m i n a t i o np a p e rs t o r e ,a r r a n g et h et e s t a n dc o n s u l tt h es t u d e n t sr e s u l t se f t a ta n yt i m e t h es t u d e n t sc a nl o go n t ot h es y s t e m t ov i e wt h et e s tr e s u l t sa n d p r e s e n tt e s ta r r a n g e m e n ti n f o r m a t i o n , a n dc a na t t e n dt h e t e s to fc o r r e s p o n d i n gs u b j e c ta f t e rl o g g i n go nt h es y s t e ma tf i x e dt i m e k e y w o r d s :n e t w o r k t e s ts y s t e m , j s p , m y s q l ,a u t o m a t i c a l l ys c o r i n g 1 1 1 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明 确的说明并表示谢意。 签名:差型:丝日期:z 卯g 年中月叶日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:2 墟导师签名:翌睡 日期:一口y 年历月斫日 第一章引言 网络考试即通过网络建立考试平台,学生利用p c 上网,通过网络进行指定科 目考试的考核方式。随着计算机技术的发展及计算机的日益普及,基于w e b 网络 考试与无纸化办公一样己成为大势所趋。 相对于传统的c s 考试系统,b s 系统具有更高的安全性和便捷性,w e b 网络 考试既可以在本地进行,也可以在异地进行。试卷可以根据题库中的内容即时生 成,而且可以采用大量标准化试题,从而使用计算机判卷,提高阅卷效率,还可 以直接把成绩送到数据库中,进行统计、分析等操作。 1 1 课题研究背景 目前国内许多院校正在开展基于i n t e r n e t 的教学试验,开发了网络教学支撑 平台充分利用校园内各种资源,给校园内的教师、学生提供方便、快捷的教学 和学习工具。在网络辅助教学中,要巩固学生学习效果,最直观易行的方法莫过 于考试。一个完整的网络考试系统应该拥有丰富的试题、科学的组卷方法、系统 的考试管理,使网络考试达到真实的考试效果,从而可以替代传统的纸面考试形 式。相比传统的考试方式,基于w e b 的网络考试系统的主要好处是一方面可以动 态地管理各种考试信息,只要准备好足够大的题库,就可以按照要求自动生成试 卷;另一方面,考试时间灵活,可以在规定的时间段内的任意时间参加考试;另 外计算机化考试的最大特点是阅卷快,系统可以在考试结束时当场给出考试成绩, 给了考生最大的公平感,自动的成绩分析也为教学方法的改进提供了有力的决策 支撑,极大地提高了教学的灵活性。 网络考试系统有c s 和b s 两种架构。基于c s 的m i s 型架构,试题内容放 在远程的服务器上,在考试机上安装考试应用程序和数据库客户机配置,因此每 次考试时要对机器进行安装、配置,考务工作比较烦琐,而且考试程序放在客户 机上,安全性也受到一定影响。而采用w e b 技术超越了传统的“客户机服务器 两层结构,采用了三层体系结构:用户界面层事务层数据库层,在用户机上不 需要安装任何应用程序,应用程序可以安装在事务层所在的计算机上,试题存放 在数据库服务器上,因此w e b 结构有着更好的安全性。j s p 是一种服务器端h t m l 电子科技大学硕士学位论文 ( 或) ( m l ) 嵌入j a v a 代码的脚本语言,是开发w e b 动态网站快速而有效的工具。 在保证最大可操作性的前提下,它提供了比一般脚本语言( a s p 、p h p ) 和c g i 更 快的执行速度n 1 。而且a s p 难以实现l i n u x 下的移植,p h p 缺乏组件化的开发与支 持。 1 2 课题研究现状 为实现教育的信息化,1 9 9 4 年,我国相关部门开始建设中国教育科研计算机 网( c e r - n e t ) ,如今,c e r n e t 已连接通达7 0 多个城市,7 7 0 多所院校,网络用户人 数约1 0 0 万。计算机网络在教育领域中的应用越来越广,目前,基于i n t e r n e t 技术 的网上考试已经越来越受人们所重视。它能够充分发挥学校校园网络的优势,并 能够建立大型、高效、共享的题库和实现随时随地的考试,大大地降低了考试的 成本,并对受测者的评测更为正确和客观,提高了考试的效率,节省了大量的人 力、物力和财力,使考试更加科学化和客观化。网络考试系统以其丰富的试题、 科学的组卷方法、保密、高速、随机、不受时间与空间限制以及网络化的特点, 在各类考试中发挥了越来越重要的作用。国内外基于网络的考试系统层出不穷, 有效的减轻了繁重的考试、评卷工作。 网络考试系统应用中最有影响的案例就是e t s ( 美国教育考试中心) 举办的g r e ( 美国研究生入学考试) 的计算机化考试,它使考试由原来的每年只能有两次参 加考试的机会变成了每个工作日都可以参加的考试。 相应的一些网络考试系统也应运而生,如美国的全美软件电脑考试系统。国 内网络考试系统起步较晚,但发展迅速,目前已有很多职业化考试采用网络考试 的方式,如杰弗网络考试系统,s m a r t e x a m 网络考试系统等,大部分为通用考试, 认证考试系统,专用于高校课程考试的需要,能提供完善成绩分析且为单纯b s 结构,易于将来维护和扩展的考试系统,可供选择的就不多了,几乎还没有成型 产品适应各种不同的需求。 1 3 课题研究意义 课题选题来自于本人的工作单位成都理工大学信息工程学院的教学改革计划, 该计划包括对部分计算机类的选修课程采用网络考试进行考核的尝试。目前,这 类选修课程作为考查课程在结课时通常不采用百分制的计分方式,也不组织大规 2 第一章引言 模的卷面考试,而多采用提交论文或课程设计的考查方式,这就存在一定的弊端, 即不能很好的反应学生实际学习情况,同时也不便于教师提高该课程的教学质量。 而w e b 网络考试相比传统考试更具有组织方便及高效便捷的优势,又能为教师提 供成绩分析作为教学参考。因此,采用网络考试与考查相结合的方式,能较好的 弥补上述弊端。 但是目前的b s 网络考试系统还存在些问题。首先,商品化的网络考试系 统基本都是通用系统或认证系统,系统实现的主要目的是为了考核,但是作为高 校所使用的考试系统,除了得到一纸成绩之外,更需要有它能进行完善的成绩分 析用以辅助教师改善教学效果,提升教学质量,而且绝大部分的考试系统在功能 上并没有充分考虑到高校教学管理的实际情况,缺乏对二级单位如学院、系及所 属专业的配置管理,比如同一科目对不同的专业就有不同的教学及考核要求,一 般的考试系统则难以完全适用。除此以外,商品化的考试系统大多价格较为昂贵, 作为学院教学改革的试点,希望采用实用有效且成本较为低廉的系统。 其次,考试系统必须考虑的组题策略,目前大多采用两种方法,一是随机选 取,实现简单,但题目生成质量较差;二是回溯试探法和遗传算法组卷,组卷效 果较好,但是时间复杂度较高,题库较大时感觉尤为明显。本系统拟采用多条件 编码选取并可结合手动选取的方式,以改进随机选取的局限性,同时吸取了随机 选取算法简单的特点,且具有较低的系统开销。 另外,从技术上来说,b s 系统必须考虑到用户访问高峰期对数据库带来的压 力,轻则访问速度变慢,重则导致系统崩溃,目前b s 考试系统在数据库访问上 多采用的方式有:一是直接建立数据库连接的方式,该方法实现最为简单,用的 也较多,通过测试,该方法当用户并发访问量陡增时,系统响应速度明显降低; 二是采用w e b 服务器配置连接池的方式,虽然提高了数据库连接效率,却直接加 重了w e b 服务器负担,并且不是所有的w e b 服务器都支持连接池配置,难以简单 的实现系统移植;还有少部分采用第三方组件的方式,由于是通用组件,在功能 适用性上可能有些缺陷。所以有必要针对自己的系统开发更适合的高性能数据库 连接组件。 综上所述,网络考试系统已经较为繁多,但至今却没有标准化的通用产品, 这和各种行业考试的目的性及考试本身的复杂性有一定关系,因此开发特定领域 中相对通用的考试系统仍具有一定实际意义。 电子科技大学硕士学位论文 1 4 本章小结 网络考试系统具有良好的发展前景,采用j s p 技术实现将使其具有更高的安 全性,更快的响应速度及模块化程度高和可移植性等优点。本课题针对高校采用 j s p 技术开发网络考试系统,主要研究:多用户并发连接数据库时的速度优化设计, 网络考试及自动阅卷、成绩分析的设计与实现。 4 第二章系统需求分析 2 1 系统需求分析概述 第二章系统需求分析 网络考试系统是以网络为载体,为学生提供考试服务,并能自动判卷为教师 提供考试成绩作为教学参考的软件系统。本考试系统设计为在高校中使用,是由 学院教务科提出的大致需求,系统主要针对任课教师及学生,该系统能结合高校 的院、系、专业科目等考试属性进行管理,教师负责管理、维护相应科目的试题 题库并组织考试。学生在规定时间登录系统,选择考试科目进行答题,若超过规 定答题时间,系统将自动提交考生试卷,系统能即时给出考试成绩,并能向教师 提供成绩单及试卷分析。 2 2 系统应具备的基本功能 作为一个实用完善的系统,合理的系统用户分配以保证系统安全是十分必要 的,从便于管理的角度出发,系统的用户可分为系统管理员,普通管理员,教师 和学生四类,分别有各自的功能权限。 从总体考虑,系统应实现下列功能: 对于教师来说,应具有题库管理、试卷管理、成绩管理、组织考试等功能。 ( 1 ) 题库管理:教师按照教学需求,可以对自己教授科目的题库进行增加新考 题,删除原有考题等操作,为便于计算机判卷,试题主要为客观题,教师可以按 照难度,知识点等设置题目相关属性。 ( 2 ) 试卷管理:教师可以选择课程,并按照设定难度,知识点等条件提出试卷 的组卷规则,也可以完全由教师在题库中手动进行组题。同时,教师还能够进行 修改,删除,新增试卷等操作。 ( 3 ) 成绩管理:教师能够查看学生的考试成绩,并能根据课程的不同查看系统 生成的试卷分析图表。 ( 4 ) 组织考试:教师可以设定考试科目以及考试时间,组织学生集中时间段登 录系统进行考试。 对于学生来说,具有进行在线考试,查看成绩等功能。 电子科技大学硕士学位论文 ( 1 ) 在线考试:学生按照规定时间登录系统,可看到能够参加的考试科目,并 能进行在线考试,提交试卷后,学生能够马上看到自己的成绩。 ( 2 ) 成绩查看:只要是参加过的考试,考生均能查询其相关的考试信息。 对于管理员来说,系统管理员能够全面的管理系统,具有设定人员身份,管 理、备份数据库等高级操作,普通管理员只能管理维护自己学院的相关专业,考 试课程,相关题库等信息。 此外,系统本身还需要具备一定的安全性,保证题库,考生成绩等相关信息 的安全。并且作为数据库系统还需要在用户访问量较大时保证系统稳定性及访问 速度。 2 3 系统开发原则 根据应用系统需求,开发过程应遵循如下几个原则: ( 1 ) 先进性与开放性 要求系统设计科学合理,采用w e b 技术,实现数据库、核心业务逻辑与用户 界面分离,系统各功能模块实现功能独立,接口开放以便于扩充。 ( 2 ) 界面友好且操作简单 系统用户界面应做到标准,统一,用户操作简单,系统需提供出错、提示与 反馈信息,具有一定的容错能力。 ( 3 ) 有效性和实用性 系统应当适合实际教学考核情况,能够满足提高考试、阅卷效率,正确反馈 出学生学习情况的要求,能够有效的辅助教师分析情况,提高教学质量。 ( 4 ) 可靠性和稳定性 系统应保证在大规模访问下仍有平滑运行的能力,并能保证在用户数适当增 加时,系统仍有一定性能冗余。 ( 5 ) 安全性和保密性 软件系统应该安全可靠,能有效防止内外部的攻击,关键数据应实现加密存 储。 ( 6 ) 可扩展及可维护性 系统能支持多种操作系统平台,采用模块化开发,提供集成接口,能方便进 行二次开发,可根据需要添加新功能。通过核心功能模块的封装,能方便的对系 统功能进行维护。 6 第二章系统需求分析 2 4 本章小结 需求分析处于软件开发周期中的软件定义阶段,它的基本任务是准确的回答 “系统必须做什么? 这个问题。 本章对在线考试系统作出需求分析,明确了考试系统应该具有的基本功能, 确定了系统的开发原则。 7 电子科技大学硕士学位论文 3 1 系统结构模式 第三章相关技术介绍 网络考试系统采用b s 模式构建。利用w e b 技术,实现w e b 服务器与数据库 系统的连接,完成对数据的处理与查询,用户可以通过操作简单易学的浏览器来 查询处理所需要的各种数据。这种从浏览器到服务器的数据处理结构就是目前在 i n t r a n e t 中十分流行的b s 模式( b r o w s e r s e r v e r ) 乜1 ,b s 结构是真正的三层结 构,其结构组成如图3 - 1 所示: f f 图3 - 1b s 结构示意图 第一层浏览器是表示层,完成用户接口功能,在客户端向指定的服务器发出 请求,w e b 服务器用h t t p 协议把所需的文件资料传给用户,客户端接受并显示在 w w w 服务器上。 第二层w e b 服务器是功能层,完成客户的应用功能,即w e b 服务器接受客户 的请求,以c g i 或j s p 与数据库连接,进行申请处理,而后数据库结果返回服务 器,再传至客户端。 第三层数据库服务器是数据层,数据库服务器应客户请求进行各种数据处理。 与c s 结构相比,该结构将数据处理功能全部转移到服务器端,实现了数据 处理和维护与客户机的无关性,并可随时向客户发送信息及提供系统未建立的数 据,使使用和维护更加方便。 b s 结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出 来,也把技术维护人员从繁重的维护升级工作中解脱出来。由于客户机把事务处 理逻辑部分交给了w e b 服务器,使客户机一下子“苗条 了很多,不再负责处理 复杂计算及数据访问等关键事务,只负责显示部分,所以维护人员不再为程序的 第三章相关技术介绍 维护工作奔波于每个客户机之间,而把主要精力放在w e b 服务器上的程序的更新 工作中。这种三层结构的层与层相互独立,任何一层的改变不影响其它层的功能, 它从根本上改变了传统的两层c s 结构的缺陷,它是应用系统体系结构中的一次 深刻变革。 3 2j a v a 及j s p 技术简介 3 2 1j a v a 技术介绍 j a v a 编程语言是一种高级语言。由s u n 微系统公司( s u nm i c r o s y s t e m ) 发布,并 作为一种开放的标准进行提供。j a v a 将原程序编译成字节码c o y t e c o d e ) ,并通过j a v a 虚拟机( j v m ) 解释字节码的方式来执行。因为这种运行方式,只要针对不同的计算 机平台准备相应的j a v a 虚拟机,就可以很方便的实现j a v a 语言的跨平台性。因此, j a v a 非常适合于企业网络和i n t e m e t 环境,现在己成为i n t e m e t 中最受欢迎、最有 影响的编程语言之一n 1 。 在本系统中,主要利用j a v a 语言开发j a v a b e a n 组件供j s p 调用。 j a v a 具有如下几大特点口1 : ( 1 ) 平台无关性 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 的平台无关性使之较其它语言极大地增强了程序的可移植性。 ( 2 ) 安全性 j a v a 采取了三种措施来确保安全性。 首先,j a v a 本身在设计上就杜绝了一些非法操作。j a v a 取消了黑客擅长使用 的指针,虽然失去了一定的灵活性,但从根本上杜绝了一种最强有力的破坏安全 性的隐患。j a v a 良好的封装性可以在程序中,有意防止某些与系统资源有关的对 象被其它对象修改。 其次,在j a v a 源代码编译成字节码之后,由于字节码可以直接被改写,因此, j a v a 在执行时,先由字节码载入器载入,对字节码做检查,以确定程序的系统堆 栈是否溢出,对象的存取权限是否合法等。 9 电子科技大学硕士学位论文 最后,在j a v a 执行时,即内嵌了j a v a 解释器的浏览器将j a v a 字节码转换机器 码的过程中,浏览器可以阻止小应用程序对资源的非法使用。 ( 3 ) 多线程 要在一个进程内同时完成多个任务时,可以通过设计多个不同的线程来分别 工作。j a v a 出色地完成了几乎所有的线程机制,并且,多线程机制在j a v a 基本类 库中已经实现。更出色的是,它完成了许多其它语言难以实现或实现欠佳的数据 同步化过程。多线程由于共享同一块内存或资源,必然会造成访问冲突,而数据 同步化过程正是解决或避免这种冲突的。 ( 4 ) 内存管理 j a v a 环境中设置了一个垃圾收集器,以便从内存中收集那些不再被使用的内 存,以防无用内存不收集而导致内存危机或系统崩溃。在j a v a 中,内存管理对程 序员是透明的,程序员只负责申请所需的内存,而不必关心内存的回收问题。借 助于垃圾收集器和指针的取消,j a v a 使程序员完全摆脱了繁琐的内存管理问题, 也使程序的可靠性大大增强。 3 2 2d a v a 例外处理 要想开发健壮安全的w e b 程序要求我们必须具有强大的例外处理能力,而 j a v a 语言正好具备这一优势,本系统的j a v a b e a n 组件中就大量运用了j a v a 异常处 理保证程序运行的安全。 j a v a 的例外处理机$ 0 ( e x c e p t i o nh a n d l i n gm e c h a n i s m ) ,是j a v a 语言强制程序员 必须使用例外处理来捕捉非执行时期的例外。为了防止各种可能出现的错误,如 数组下标越界、除o 溢出、文件找不到、打开数据库出错等,j a v a 提供了完善的 例外处理技术h 1 。 当程序在执行期间发生异常,可以采取两种方法对异常进行处理。一是由j a v a 语言的异常处理机制来完成处理工作,但是这种处理方法用户预先无法得知程序 时发生了何种异常,无法对可能发生的异常作出适当处理。二是用户使用j a v a 系 统提供的t r y c a t c h f m a l l y 组合语句处理可能的异常。这样,一方面可以允许用户 修正错误,另一方面可以避免因程序引起的异常而终止程序的执行。 j a v a 的异常处理通常是通过5 个关键字来实现的:t r y ,c a t c h ,t h r o w ,t h r o w s , f i n a l l y 。程序中用t r y - c a t c h f i n a l l y 语句来捕获一个或多个例外,基本格式为: t r y l o 第三章相关技术介绍 ja v as t a t e m e n t s c a t c h ( e x c e p t i o nt y p e le x c e p t i o n o b j e c t ) e x c e p t i o nh a n d l i n g c a t c h ( e x c e p t i o nt y p e 2e x c e p t i o n o b j e c t ) e x c e p t i o nh a n d l i n g f i n a l l y f i n a lh a n d l i n g ) 其中,c a t c h 语句可以有一个或多个,而且至少要有一个c a t c h 语句或f i n a l l y 语句。 ( 1 ) 时语句 仃y 语句用 ) 指定了一段代码,该段代码可能会抛弃一个或多个例外,同时, 该段代码也指定了它后面的c a t c h 语句所捕获的例外的范围。 ( 2 ) c a t c h 语句 c a t c h 语句的参数类似于方法的声明,包括一个例外类型和一个例外对象。例 外类型必须为们比。t h r o w a b l e 类的子类,它指明了c a t c h 语句所处理的例外类型, 例外对象则由运行时系统在甸所指定的代码块中生成并被捕获, ) 中包含对象的 处理,其中可以调用对象的方法。 c a t c h 语句可以有多个,分别处理不同类的例外。j a v a 运行时系统从上到下分 别对每个。c a t c h 语句处理的例外类型进行检测,直到找到类型相匹配的c a t c h 语 句为止,c a t c h 语句的排列顺序应该是从特殊到一般。 也可以用一个c a t c h 语句处理多个例外类型,这时它的例外类型参数应该是这 多个例外类型的父类,程序设计中要根据具体的情况来选择c a t c h 语句的例外处理 类型。 ( 3 ) f i n a l l y 语句 t r y 所限定的代码中,当抛弃一个例外时,其后的代码不会被执行。通过f i n a l l y 语句可以指定一块代码。无论所指定的程序块中抛出或不抛出例外,也无论c a t c h 语句的例外类型是否与所抛弃的例外的类型一致,f i n a l l y 所指定的代码都要被执 行,它提供了统一的出口。 通常在f i n a l l y 语句中可以进行资源的清除工作。如关闭打开的文件,释放数 据库连接等。 在本系统中,例外处理主要被用于与数据库建立连接,数据库连接的及时释 电子科技大学硕士学位论文 放,防止数组下标越界以及一些参数错误引起的例外。 3 2 3d $ p 技术 j s p ( j a v as e r v e rp a g e s ) 是一种基于j a v a 的脚本技术,是在j a v as e r v l e t 的基础上发展起来的。j a v as e r v l e t 的最大缺点就在于没有把业务逻辑和页面的 输出分开,导致整个s e r v l e t 代码混乱不堪。为了解决j a v as e r v l e t 的这个缺点, s u n 推出了j s p 。 j s p 的主要优点是它能将h t m l 编码从w e b 页面的业务逻辑中有效地分离出来。 用j s p 访问可重用的组件,如s e r v l e t 、j a v a b e a n s 和基于j a v a 的w e b 应用程序。 访问j s p 问有两种方式:一是浏览器请求j s p 文件;二是发送请求到s e r v l e t ,由 s e r v l e t 调用或转发到j s p 。 j s p 的工作原理如图3 - 2 所示: ;i | | 览器 ii i lj 。i n 1 且n 上 巾j 出- 扣盘 浏览器i 一广 l“。广 j s p 浏览器 引擎 , w l b s e n d e t 服务器 g 旺m 引擎 l广 客户端 服务器端 图3 - 2j s p 工作原理 一般来说,在实际的j s p 引擎中,j s p 页面在执行时是编译式,而不是解释式。 解释式的动态网页开发工具,如a s p 、p h p 3 等由于速度等原因已经满足不了当前 大型电子商务应用的需要了,传统的开发技术都在向编译执行的方式改变。如图 2 2 所示,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 的c l a s s 文件,将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 就可以了。 在j s p 文件转译为s e r v l e t 以后,每次客户机( 通常是用户的w e b 浏览器) 向服务 器请求这一个j s p 文件的时候,服务器将检查自上次编译后j s p 文件是否有改变, 1 2 第三章相关技术介绍 如果没有改变,就直接执行s e r v l e t ,而不用再重新编译,其效率是相当高的。一 般来说,j s p 文件的编译是在第一次用户访问到这个j s p 页面上发生,而这第一个 用户通常是开发人员自己,这样,正式放在服务器上让用户访问的j s p 文件一般 都已经有了对应的编译好的s e r v l e t 了,许多服务器都有设置,可以使j s p 文件 在第一个用户访问之前就预先编译好,这样的效率就更高了。 j s p 共提供6 个内部对象:o u t 、r e q u e s t 、r e s p o n s e 、s e s s i o n 、a p p l i c a t i o n 和c o o k i e 5 1 。 ( 1 ) o u t 对象 o u t 是类j a v a x s e r v l e t j s p j s p w r i t e r 的一个对象,能够把信息回送给客户 端的浏览器。在o u t 对象中,最常用的方法是p r i n t 0 和p r i n t l n 0 ,它们的区别 是,后者输出完它的内容后能够自动换行,而前者不可以。 ( 2 ) r e q u e s t 对象 r e q u e s t 是类j a v a x s e r v l e t h t t p s e r v l e t r e q u e s t 的一个对象。它封装了浏 览器的请求信息,并且提供了获取c o o k i e ,h e a d e r 和s e s s i o n 等对象、数据的方 法。其作用域是r e q u e s t 的对象在创建它们的页面内,并且在页面处理同一请求 这个时间片内可访问,对它们的引用将在请求被处理后释放。如果请求被转发给 同一运行时间内的资源,那么这些对象仍然是可访问的。 ( 3 ) r e s p o n s e 对象 r e s p o n s e 对象是类j a v a x s e r v l e t h t t p s e r v l e t r e s p o n s e 的一个对象,提供 数个方法设置返回浏览器的响应。它包括以下几种方法: a d d c o o k i e ( c o o k i ec o o k i e ) ,添加一个c o o k i e 对象,用来保存客户端的用户 信息。 s e n d e r r o r ( i n ts c ) ,向客户端发送错误消息。 s e n d r e d i r e c t0 ,将当前客户端的请求转到其它页面。 ( 4 ) s e s s i o n 对象 s e s s i o n 其实指的就是访问者从到达某个特定的主页到离开为止的那段时间, 每个访问者都可以单独获得一个s e s s i o n ,在一个w e b 应用程序中,当一个用户访 问该应用时,s e s s i o n 类型的变量可以提供这个用户在该w e b 应用的所有页面中共 享数据;如果另一个用户也同时访问该w e b 应用,它也拥有自己的s e s s i o n 变量, 但两个用户之间无法通过s e s s i o n 变量来共享信息。在大多数的情况下s e s s i o n 用来作为全局变量。s e s s i o n 可以用来存储访问者的些喜好;也可以用来创建网 上购物的虚拟购物栏;可以用来跟踪访问者的习惯,跟踪访问者从一个页面到另 电子科技大学硕士学位论文 一个页面;还可以记录一个人是否被授权了,如果被授权了,这样下次进入相同 的页面就不用输入密码。总的来说,s e s s i o n 的发明弥补了h t t p 协议的局限,使 得一个用户在多个页面间切换的时候也能保存它的信息。 ( 5 ) a p p li c a t i o n 对象 a p p l i c a t i o n 对象是j a v a x s e r v l e t s e r v l e t c o n t e x t 的一个对象。可用来获 得有关s e r v l e t 引擎和s e r v l e t 环境的信息。其作用域是a p p l i c a t i o n 的对象在 处理具有同一a p p l i c a t i o n 对象的请求的所有页面内。在不使用s e s s i o n 会话管 理的页面内仍可定义对象有a p p l i c a t i o n 作用域,对它们的引用存储在页面激活 的a p p l i c a t i o n 对象内。a p p l i c a t i o n 对象为用户共享信息提供了方便。 ( 6 ) c o o k i e 对象 c o o k i e 对象将少量的信息保存到浏览器中。目前主流的浏览器都支持c o o k i e 。 c o o k i e 信息保存在客户机的硬盘上,一般在d o c u m e n t sa n ds e t t i n g s 目录下。 对于c o o k i e 的读取,要结合r e q u e s t 对象来实现。对于c o o k i e 的写入,要 结合r e s p o n s e 对象来实现。c o o k i e 对象有它的有效期限,可以通过c o o k i e 对象 的s e t m a x a g e0 方法来设置c o o k i e 的有效期。 3 3s e r vie t 控制 s e r v l e t 使用j a v as e r v l e t 应用程序设计接口( a p i ) 及相关类和方法的j a v a 程序随1 。除了j a v as
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 口腔癌护理疑难病例讨论
- 玛纳斯小产区四种干红葡萄酒色泽、香气和矿质元素质量特征研究
- 仪式与诗情-北宋祈雨诗研究
- 2025-2030年中国气体过滤器行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年中国棉绒芽垫和棉袜行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年中国柠檬酸酯增塑剂行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年中国无铝食品袋行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年中国接触式和对流式干燥机行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年中国抽油机行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年中国托盘输送机行业市场现状供需分析及投资评估规划分析研究报告
- 山东电动伸缩雨棚施工方案
- 新媒体营销技术与应用PPT完整全套教学课件
- 第5章红外教学课件
- 卡氏肺孢子虫肺炎
- 大足县某水库除险加固工程施工组织设计
- 基于单片机数字电压表电路设计外文文献原稿和译文
- JJG 1149-2022电动汽车非车载充电机(试行)
- 2023版浙江评审卫生高级专业技术资格医学卫生刊物名录
- GB/T 1689-1998硫化橡胶耐磨性能的测定(用阿克隆磨耗机)
- GB/T 16823.3-2010紧固件扭矩-夹紧力试验
- 江苏省金陵中学2023学年物理高一下期末调研试题(含答案解析)
评论
0/150
提交评论