基于AJAX技术提升Web考试系统性能的研究

来源 :中国集体经济·上 | 被引量 : 0次 | 上传用户:haru
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:网络考试系统是我国教育远程化的重要组成部分,然而现有的网上考试系统模式众多,各有千秋。文章重点研究利用Ajax技术提升Web考试系统性能。改进后,Web考试系统具有C/S结构的优点,并克服了C/S和B/S结构的缺点,提高了系统的实用性。
  关键词:AJAX;在线考试系统;B/S系统;C/S系统
  
  一、引言
  
  Ajax是Asynchronous JavaScript and XML(以及DHTML等)的缩写。它由几种技术组合而成,包括:基于XHTML和CSS标准的表示;使用Document Object Model进行动态显示和交互;使用XML Http Request与服务器进行异步通信;使用JavaScript进行绑定。
  传统的Web应用程序强制用户进入提交、等待、重新显示的模式,即用户的界面操作触发HTTP请求,服务器在接收到请求之后进行业务逻辑处理,比如保存数据,然后向客户端返回一个HTML页面。但服务器处理数据的时候,用户处于等待的状态,每一步操作都需要等待,使得Web用户界面在响应灵敏性方面大打折扣。而Ajax带给用户完全不同的浏览感受。传统的动态网页技术被隐藏到Ajax的后台。用户所看到的只是一个静态页面,不需要在提交页面后等待或者主动刷新网页。动态程序反馈的结果被直接无刷新地显示在这个页面上。因此利用Ajax开发的Web应用程序能够提供响应极其灵敏的Web用户界面,使得应用过程很自然,操作很流畅,并消除了页面刷新所带来的闪烁。
  
  二、系统的设计与实现
  
  (一)系统设计
  在用户登录进考试系统时,将登录时间按用户ID存入session变量中,以便对每个用户实现计时。
  用户登录后,利用Ajax技术在后台实现计时功能,由JavaScript定时向服务器查询考试时间并实时显示在用户的WEB页面上。考试时间可在JSP的配置文件中给出,计时器到规定时间后如用户还未提交试卷,则由系统自动提交。
  用户考试过程中,利用Ajax技术由JavaScr-ipt代码在后台为用户定时存盘,一旦系统出现故障,再次进入考试系统时,可根据保存的信息在故障点处继续进行考试,原来考试的信息可以从服务器端一次性加载。
  试卷的形式可以采用一页一题的方式,也可采用一页多题的方式。用户在答题时,系统在后台为用户预先从服务器端读取下一段的试题,当用户需要下一段试题时,可以很快从客户端直接加载,而不需要用户等待服务器端的数据,实现无闪烁、无延迟的效果。
  Ajax采用的是一种沙箱安全模型,Ajax代码(具体而言即XML Http Request对象)只能对所在的同一个域发送请求,在本地机器上运行的代码只能对本地机器上的服务器端脚本发送请求。虽然上述功能的实现都是基于客户端脚本,对于用户来说是可见的,但是Ajax的沙箱安全模型保证了只有来自考试服务器端的客户端脚本才可以与服务器通信,同时服务器端也只接受有访问信息的客户端的请求(通过session等技术)。所以该改进方案保证了考试系统的准确性。
  (二)系统的实现
  1、XML Http Request对象。目前主流浏览器均支持XML Http Request对象,但不同的浏览器对该对象的声明各不相同,为了使得系统具有通用性,要对不同情况加以区分。本文将该功能直接写在xml http.js文件中,具体实现请参考文献。XML Http Request对象的各种方法和属性请参考MSXML5.0SDK或其他相关文档。
  2、时间控制系统的实现。首先在服务器数据库的考生表中设置“答卷时间”字段,用于记录考生剩余考试时间。该字段值在考试过程中会以每分钟减一的频率被改写,并在半分钟之内回显给考生,当该字段值减为零或以下时系统自动交卷,结束考试。在计时器的设计上,以.NET系统自带的Timers.Timer组件为基础进行了自定义设计。在Global.asax文件中生成并启动自定义计时器,由调用者订阅其发出的一分钟一次的事件,并将自身注册为监听Global.timed的监听者。这样,Global.timed每次触发事件时,注册者相应函数内的时间更新功能就会被执行,从而达到考生表中“答卷时间”字段值每分钟自动减一的功能。由于NET中的Timers.Timer组件是基于服务器的,并为在多线程环境中用于辅助线程而设计的,服务器计时器可以在线程间移动来处理引发的Elapsed事件,这样就可以比Windows计时器更精确地按时引发事件。在客户端向服务器端请求时间时,要根据XMLHttpRequest对象的HTTP状态码来操作;在服务器端,必须将“Cache-Control”头设为“no-Cache”来保证每次取得的数据都不是从缓存中得到的。下面是计时器的一段示例代码。
  客户端:
  <script language="javascript" src="xmlhttp.js"></script>
  <script language="javascript">
  function clockFun(){
  var url="TestTime.jsp";
  xmlhttp.open
  ("get",url,true); //lxmlhttp对象在xmlhttp.js中声明;
  
  xmlhttp.onreadystatechange=function(){ //指定服务器返回信息时客户端的处理程序
   if(xmlhttp.readyState==4){
  
  if(xmlhttp.status==200){// http的状态码
   document.getElementById("clock").innerHTML=xmlhttp.responseText;}}}
  xmlhttp.send(null) ;}//发送请求到http服务器
  function timer(){//计时器
  
  window.setInterval('clockFun()',1000) ;}
  </script>
  服务器端(TestTime.jsp)
  Calendar
  beginTestTime=Calendarget Instance ();
  beginTest Time.set(……);//省略号处为登录时间;
  long
  beginTime=beginTestTime.getTimeIn Millis();
   long
  nowTime=Calendar.getInstance().
  get'TimeInMillis(); //获取当前时间
  response.setHeader ("Cache -Control","no-cache");//数据不缓存
  long hasTime=nowTime-beginTime;
  //如用倒计时,此处要用总时长来减去此值;
  response.getWriter().write ((new Long (hasTime/60000)).toString}+":"+(new Long((hasTime%60000)/1000)).toString}) ;//以文本方式返回时间
  response.getWriter().flush();
  3、试卷的定时存盘和预读试卷数据的实现。这两种功能的实现也采用Ajax技术,只是由于请求的数据量比计时器的数据量大,所以请求时采用“POST”方法。同时要求数据以xml格式返回,在客户端利用DOM的强大功能来实现对数据的操作。用“POST”,方法请求数据时客户端要添加Request头,xmlhttp.setRequestHeader ("Content-type","applicatior/ x-www-form-urlencoded");服务器端以xml格式返回数据时要设置Response响应头response..setContentType("text/xml"};这样返回客户端的数据才能以xml格式返回。
  (三)系统测试
  该系统测试的客户端为Internet Explore6.0和FireFox1.0,服务器端为Windows2003和RedHat AS4+JDK1.5+Tomcat5.5.9,网络环境为服务器在教育网内,客户机在局域网内和远程电信网。系统在局域网内部和广域网上的测试均达到了预期效果。
  
  三、结束语
  
  本文利用Ajax技术改进现有的网上考试系统,实现了在线考试的B/S系统,使其达到了C/S系统所具有的功能,同时兼备了B/S系统固有的优势,即能实现用户的网上在线考试的功能,又不需要用户安装额外的客户端软件。新的考试系统具有准确计时、快捷、安全、方便等优点,从根本上改变了原有网上考试系统的多种弊端。
  
  参考文献:
  1、Jesse James Garrett.Ajax: A New Approach to Web Applications[EB/OL].http: // adaptivepath. com/ publications/ essaysJarchives/000385.php,2006-02-28.
  2、David Flanagan.JavaScript: The Detnitive Guide 4th Edition[M].0'Neilly Media,Inc,2001.
  3、黄国平,陈斌.JSP与JavaScript整合使用[J].南通职业大学学报,2004(4).
  (作者单位:广东培正学院计算机信息管理系)
其他文献
摘要:自1978年改革开放至2008年,整整三十年,“三农问题”不断以这样或那样的角色出现在我国的经济和政治舞台上,始终扮演着重要的、永不落幕的主角。文章针对农村城镇化问题从国家宏观政策和制度体制方面,对这三十年来的政策进行回顾与展望。  关键词:城镇化;城市化;“三农”问题  自1978年改革开放至今,整整三十年,“三农问题”不断以这样或那样的角色出现在我国的经济和政治舞台上,始终扮演着重要的、
期刊
摘要:近来,CPI即消费者物价指数是人们关注和讨论的焦点。2007年上半年,CPI平均上涨了3.2%,在今年的两会上,商务部表示中国物价呈“高开低走”的趋势,CPI增幅控制在4.8%以内,但全国物价的上涨给整个宏观经济形势和人们的生活仍将并继续带来很大的影响,而对于电信行业这样的基础行业来说其影响就更大了。文章将对CPI上涨对电信业的影响及其应对等方面进行分析。  关键词:电信;CPI;应对措施 
期刊
摘要:民间金融是中小企业融资的重要渠道,文章简要介绍了民间金融相比其他融资方式所具有的优势,并指出应从规范民间金融主体,改善民间金融发展的外部环境,加强正规金融与民间金融合作入手,促进民间金融发展,更好地解决中小企业融资难题。  关键词:中小企业;融资;民间金融;规范措施    目前中小企业的融资结构已具有一定的多元化特征,各种融资方式共同支持了中小企业的发展,但中小企业  的融资难问题并未从根本
期刊
摘要:目前,在我国公共政策执行过程中,选择性执行的行为普遍存在。导致公共政策不能达到预期效果。文章首先描述了公共政策选择性执行的含义、表现及其危害,然后结合案例分析它产生的原因,最后从根源出发,对解决这一问题提出了几点意见。  关键词:公共政策;选择性执行;煤矿    近年来,重大煤矿事故在我国频频发生,一直是困扰党和政府的一道难题,它更是一个涉及到复杂利益关系的公共政策选择性执行的问题。中央为解
期刊
摘要:随着中国房地产业的升温,各行各业越来越重视房地产价格的评估值。现在的房地产评估方法中,市场比较法用得比较广泛,但在确定可比实例权重时,评估师往往存在忽略之处。文章正是对可比实例的权重进行深入探讨,从而形成较有实用意义的评估方法。  关键词:AHP法;房地产;资产评估    随着房地产业的发展,房地产估价也逐渐升温,对价格的有效确定关系到房地产的长期可持续发展。  一般而言,房地产估价师在评估
期刊
摘要:文章利用情境学习的理论框架,分析了晋升者角色转换中的社会定位过程,并指出晋升者的角色创新来自于知识创新,而创新的绩效可以同时体现于个体和组织两个层面;通过培育组织中的实践共同体,提高个体的情境实践能力,有效避免彼得原理现象的发生。  关键词:彼得原理;情境学习;实践共同体;图式    一、彼得原理的内容    彼得原理(The Peter Principle)是管理学家Laurence.J.
期刊
摘要:震动现象是由于矿山开采使岩层产生应力应变过程的动力现象,采矿微震主要是记录矿山震动,并分析和利用这些信息,对矿山动力危险进行预测和预报。  关键词:冲击矿压;微震监测;冲击危险性预测;矿山动力危险    “SOS”是Seismological Observation System的简称,该系统是从波兰引进的,主要用于矿山震动监测。冲击矿压现象是严重威胁煤矿安全生产的灾害之一,它是聚积在矿井巷
期刊
摘要:近年来,国有控股商业银行引进外资战略投资者的进程不断加快,投资总额已达126亿美元,其中建行和中行的引资额占了相当大的比重。文章试从建行、中行引进外资战略投资者的方式和过程,探讨其具体环节的合理性,并给出适当的政策建议。  关键词:外资战略投资者;国有商业银行贱卖论;股权定价    二十多年以来,我国银行业不断加快开放的进程,其中国有商业银行引进外资战略投资者是一项重要的举措。外资战略投资者
期刊
摘要:朱践耳为独幕芭蕾舞剧《思凡》而创作的钢琴叙事诗《思凡》是他音乐创作的重要组成部分。该作品结构宏达、气势非凡,以奏鸣曲式来呈现、发展戏剧情节、刻画人物的内心世界,表达了对人性的肯定,具有哲理思辨性。在新中国大型钢琴奏鸣曲的创作历史上具有重要的地位。从教学和演奏的角度来看,本曲也是一首不可多得的优秀钢琴文献。文章通过对《思凡》细致深入地分析,根据笔者演奏实践所得出的经验,从钢琴教学和演奏的角度切
期刊
摘要:渠道在不断地发展与改进过程中,其冲突也日益普遍和多样化。协调快速消费品的渠道冲突,是快速消费品行业健康发展的重要保证。文章分析快速消费品行业的渠道冲突普遍性、复杂性、多样性的特点,阐述其现象以及其发生三大原因——目标冲突、领域分歧、感知差异;最后,从理念层建立机制与操作层两个层面入手,提出快速消费品渠道冲突的协调机制和冲突协调策略。  关键词:快速消费品;渠道冲突;协调    随着快速消费品
期刊