AJAX技术和Web考试系统

上传人:206****923 文档编号:40490068 上传时间:2018-05-26 格式:DOC 页数:3 大小:34KB
返回 下载 相关 举报
AJAX技术和Web考试系统_第1页
第1页 / 共3页
AJAX技术和Web考试系统_第2页
第2页 / 共3页
AJAX技术和Web考试系统_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《AJAX技术和Web考试系统》由会员分享,可在线阅读,更多相关《AJAX技术和Web考试系统(3页珍藏版)》请在金锄头文库上搜索。

1、技术和考试系统摘要:网络考试系统是我国教育远程化的重要组成部分,然而现有的网上考试 系统模式众多,各有千秋。文章重点研究利用 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 进行动态显示和

2、交互;使用 XML Http Request 与服务器进行异 步通信;使用 JavaScript 进行绑定。 传统的 Web 应用程序强制用户进入提交、等待、重新显示的模式,即用户 的界面操作触发 HTTP 请求,服务器在接收到请求之后进行业务逻辑处理,比如 保存数据,然 后向客户端返回一个 HTML 页面。但服务器处理数据的时候,用 户处于等待的状态,每一步操作都需要等待,使得 Web 用户界面在响应灵敏性 方面大打折扣。而 Ajax 带给用户完全不同的浏览感受。传统的动态网页技术 被隐藏到 Ajax 的后台。用户所看到的只是一个静态页面,不需要在提交页面后 等待或者主动刷新网 页。动态程序

3、反馈的结果被直接无刷新地显示在这个页面 上。因此利用 Ajax 开发的 Web 应用程序能够提供响应极其灵敏的 Web 用户界面, 使得应用过程很自然,操作很流畅,并消除了页面刷新所带来的闪烁。 二、系统的设计与实现 (一)系统设计 在用户登录进考试系统时,将登录时间按用户 ID 存入 session 变量中,以 便对每个用户实现计时。 用户登录后,利用 Ajax 技术在后台实现计时功能,由 JavaScript 定时向 服务器查询考试时间并实时显示在用户的 WEB 页面上。考试时间可在 JSP 的配 置文件中给出,计时器到规定时间后如用户还未提交试卷,则由系统自动提交。用户考试过程中,利用

4、Ajax 技术由 JavaScr-ipt 代码在后台为用户定时存 盘,一旦系统出现故障,再次进入考试系统时,可根据保存的信息在故障点处 继续进行考试,原来考试的信息可以从服务器端一次性加载。 试卷的形式可以采用一页一题的方式,也可采用一页多题的方式。用户在 答题时,系统在后台为用户预先从服务器端读取下一段的试题,当用户需要下 一段试题时,可以很快从客户端直接加载,而不需要用户等待服务器端的数据, 实现无闪烁、无延迟的效果。 Ajax 采用的是一种沙箱安全模型,Ajax 代码(具体而言即 XML Http Request 对象)只能对所在的同一个域发送请求,在本地机器上运行的代码只能对本地机器上

5、的服务器端脚本发送请求。虽然上述功能的实现都是基于客户 端 脚本,对于用户来说是可见的,但是 Ajax 的沙箱安全模型保证了只有来自 考试服务器端的客户端脚本才可以与服务器通信,同时服务器端也只接受有访 问信息的 客户端的请求(通过 session 等技术)。所以该改进方案保证了考试 系统的准确性。 (二)系统的实现 1、XML Http Request 对象。目前主流浏览器均支持 XML Http Request 对 象,但不同的浏览器对该对象的声明各不相同,为了使得系统具有通用性,要 对不同情况加以区分。本文将该功能直接写在 xml http.js 文件中,具体实现 请参考文献。XML H

6、ttp Request 对象的各种方法和属性请参考 MSXML5.0SDK 或 其他相关文档。 2、时间控制系统的实现。首先在服务器数据库的考生表中设置“答卷时 间”字段,用于记录考生剩余考试时间。该字段值在考试过程中会以每分钟减 一的频率被 改写,并在半分钟之内回显给考生,当该字段值减为零或以下时系 统自动交卷,结束考试。在计时器的设计上,以.NET 系统自带的 Timers.Timer 组 件为基础进行了自定义设计。在 Global.asax 文件中生成并启动自定义计时 器,由调用者订阅其发出的一分钟一次的事件,并将自身注册为监听 Global.timed 的监听者。这样,Global.t

7、imed 每次触发事件时,注册者相应函 数内的时间更新功能就会被执行,从而达到考生表中“答卷 时间”字段值每分 钟自动减一的功能。由于 NET 中的 Timers.Timer 组件是基于服务器的,并为在 多线程环境中用于辅助线程而设计的,服务器计时器 可以在线程间移动来处理 引发的 Elapsed 事件,这样就可以比 Windows 计时器更精确地按时引发事件。 在客户端向服务器端请求时间时,要根据 XMLHttpRequest 对象的 HTTP 状态码 来操作;在服务器端,必须将“Cache-Control”头设为“no-Cache”来保证每 次取得 的数据都不是从缓存中得到的。下面是计时器

8、的一段示例代码。 客户端: 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.statu

9、s=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

10、=beginTestTime.getTimeIn Millis(); long nowTime=Calendar.getInstance(). getTimeInMillis(); /获取当前时间 response.setHeader (“Cache -Control“,“no-cache“);/数据不缓存 long hasTime=nowTime-beginTime; /如用倒计时,此处要用总时长来减去此值; response.getWriter().write (new Long (hasTime/60000).toString+“:“+(new Long(hasTime%60000)/1

11、000).toString) ;/以文本方式返回时间 response.getWriter().flush(); 3、试卷的定时存盘和预读试卷数据的实现。这两种功能的实现也采用 Ajax 技术,只 是由于请求的数据量比计时器的数据量大,所以请求时采用“POST”方法。同时要求数据以 xml 格式返回,在客户端利用 DOM 的强大功能来实现对 数据的操作。用“POST”,方法请 求数据时客户端要添加 Request 头,xmlhttp.setRequestHeader (“Content- type“,“applicatior/ x-www-form-urlencoded“) ;服务器端以 xm

12、l 格式返回数据时要设置 Response 响应头 response. setContentType(“text/xml“;这样返回客户端的数据才能以 xml 格式返回。 (三)系统测试 该系统测试的客户端为 Internet Explore6.0 和 FireFox1.0,服务器端为 Windows2003 和 RedHat AS4+JDK1.5+Tomcat5.5.9,网络环境为服务器在教育网内,客户机在局域网内和远 程电信网。系统在局域网内部和广域网上的测试均达到了预期效果。 三、结束语 本文利用 Ajax 技术改进现有的网上考试系 统,实现了在线考试的 B/S 系统,使其达 到了 C/

13、S 系统所具有的功能,同时兼备了 B/S 系统固有的优势,即能实现用户的网上在线 考试的功能,又不需要用户 安装额外的客户端软件。新的考试系统具有准确计时、快捷、 安全、方便等优点,从根本上改变了原有网上考试系统的多种弊端。 参考文献: 1、Jesse James Garrett.Ajax: A New Approach to Web ApplicationsEB/OL.http: / adaptivepath. com/ publications/ essaysJarchives/000385.php,2006-02-28. 2、David Flanagan.JavaScript: The Detnitive Guide 4th EditionM.0Neilly Media,Inc,2001. 3、黄国平,陈斌.JSP 与 JavaScript 整合使用J.南通职业大学学报,2004(4).

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号