支持移动终端在线考试系统若干关键问题的技术解决方案

2014-12-13 02:40王兆恺
科技创新与应用 2014年35期
关键词:在线考试移动终端南方电网

摘 要:中国南方电网教育培训评价中心在线考试系统提供了对手机和平板电脑等移动终端设备的全面支持,取得了良好的应用效果。文章针对系统建设中一些关键问题的技术解决方案进行了论述。

关键词:在线考试;移动终端;南方电网;URL重写

引言

随着互联网技术的发展和个人移动终端设备的大规模普及,支持移动终端的全新考试模式变成可能。目前,中国南方电网教育培训评价中心已经探索了网络教学。在线考试系统,尤其是支持移动终端的在线考试系统建设和应用的需求变得非常迫切。针对此现状,作者设计并实现了一种基于Web的在线考试系统,提供对手机和平板电脑等移动终端设备的全面支持。在本系统的建设过程中,作者针对一些关键技术问题的实现方案进行了有益的探索。

1 优化试卷发布的方式

针对一份试卷,管理员对试卷类别、试卷参数、题库等设计完毕后,需要将试卷发布。试卷发布后,有全局唯一的地址。可以使用URL重写、二维码等技术使得移动终端可以较为快捷的访问考试系统。

1.1 使用URL重写技术生成考试地址

为方便应试者从终端登录,每一场考试都有一个唯一地址。通过URL重写,可以对URL地址进行美化。比如,访问某场考试在数据库表中的主键ID是213,试卷发布的URL是“/exam/mobile.jsp?ID=213”,就可以被重写成 “/exam/mobile/213.html”。

URL重写可以提高安全性,可以有效的避免通过GET方式在URL中传递的参数完全暴露在用户面前。如果终端浏览器中输入的URL不符合规则,可以转向错误提醒界面,必要时可以限制该终端的再次访问。

URL重写的实现依赖于Java EE平台的Servlet过滤器。Java Servlet 2.3规范引入的Servlet过滤器,可以对Servlet容器的请求和响应对象进行检查和修改。可以指定Servlet过滤器与特定的URL关联,比如与考试地址关联,只有客户打开此URL时,才触发过滤器工作。

上述考试的例子,在web项目的web.xml中需要对的子元素进行配置为“/exam/*”,然后在过滤器中对终端浏览器请求的URL进行解析,通过forward方法转向真正展示的URL地址。

1.2 使用二维码发布考试地址

如今智能手机扫一扫功能的应用使得二维码非常普遍。Zxing是Google提供的条码解析工具,提供了二维码的生成与解析的方法。本系统引入Zxing技术实现考试地址的二维码发布。可以将每一场考试的URL生成一个二维码,发布在网站上,方便移动终端的访问。

1.3 发送可以自动登录的考试地址

使用URL重写,可以针对每个应试者发送一个全局唯一的URL。URL中包含了考试地址和应试者身份登录认证等信息。应试者只需在移动浏览器中打开该URL,无需输入学号、密码等信息,可以直接登入考试系统开始答题。

试卷发布后,可将URL使用Java Mail API通过SMTP协议发送邮件到应试者的邮箱,或使用Java SMSLib调用短信猫发送短信告知应试者。

2 针对移动终端的交互设计

大多数移动设备的屏幕都较窄。在狭窄界面上进行考试界面较为合理和美观的排版,是本系统建设的一个很大挑战。

本系统使用jQuery Mobile支持学员在移动设备上参加考试。jQuery Mobile 框架提供一个为移动网站创建可用UI组件的快速解决方案。

2.1 界面设计

移动终端上打开浏览器输入考试地址,或通过扫描二维码,打开登录界面,录入考号和密码,登录系统。登录成功后,可以由应试者根据自己的网络情况,选择在一个页面显示所有题目,或一个页面只显示一个题目。

2.2 交互的优化

在答题页面,可以点击“上一题”、“下一题”来切换题目,也可以点击“跳转”打开题目导航界面,来查看题目答题情况或快速定位题目。

有必要考虑这样的优化:完成一道单选题后的自动跳转。如果一个页面显示所有题目,当完成一道单选题的作答后,自动滚屏到下一题;如果一页仅显示一个题目,自动加载下一题。

2.3 支持断点续答

由于网络信号或移动终端本身的原因,在答题过程中,可能会发生异常情况中断了考试,比如应试者误操作关闭了浏览器退出了考试系统。针对此情况,系统应当允许应试者重新登录,继续考试,之前的作答结果也不丢失。

使用AJAX技术,网页应用程序可以不经重新下载整个网页就发送并重新获得数据,可以与考试系统的服务器进行异步交互。在JSP中使用JavaScript编写一个定时器,每隔一定时间(比如30秒)使用XMLHttpRequest对象发送应试者的作答结果到服务器。为减轻服务器的压力,可以在客户端的JavaScript对象中缓存应试者的作答结果,只有作答结果发生变化后,才向服务器发出保存请求。

由于作答结果的自动保存无需页面刷新,不会对应试者的作答产生任何影响,一直在悄无声息的进行,这样就使得断点续答变成可能。

3 实现安全通信

在网络上,信息在传递过程中不可避免的会经过其他的计算机。考试作为一种严格的知识水平鉴定方法,当然会对传输信息的安全性提出要求。

SSL是一种保证在网络上的两个节点之间进行安全通信的机制。本系统采用基于SSL机制的HTTP,即HTTPS协议。HTTPS使用加密技术实现会话双方信息的安全传递,可以实现信息传递的保密性和完整性,并且会话双方都能鉴别对方身份。

在考试系统的Java Web服务器上进行相关的SSL配置,包括准备相应的安全证书,配置SSL Connector。设置完成后,应试者在移动终端浏览器中以HTTPS方式打开考试系统。当服务器收到HTTPS请求后,会向浏览器发送服务器的安全证书。应试者收到证书并安装后,浏览器将建立与服务器的SSL握手,接着Web服务器向客户端发送请求访问的界面。

4 结束语

本系统2014年3月在中国南方电网教育培训评价中心实施以来,已经在多个干部培训班成功举办了在线考试。与纸笔作答及电脑PC端作答两种传统的方式相比,支持移动终端的在线考试系统能够最大限度的降低成本与风险,并全面实现效率的提升。文章针对系统建设中的一些关键技术问题进行了解决,满足了系统建设的需求,取得了良好的应用效果。

参考文献

[1]Dave,C.Eric P,Darren,J.Ajax in Action[Z].Manning Publications Co,2005.

[2]W3School.jQueryMobile教程.http://www.w3school.com.cn/jquerymobile/[DB].2014.

[3]Oracle Corporation.Java Platform,Enterprise Edition 6 API Specification. http://docs.oracle.com/javaee/6/api/[DB].2011.

作者简介:王兆恺(1984,3-),湖北武汉人,中共党员,硕士研究生,MBA,高级人力资源管理师,工程师,政工师,任中国南方电网有限责任公司教育培训评价中心主管。

猜你喜欢
在线考试移动终端南方电网
南方电网电动汽车服务有限公司
广 告
广告
广告
基于Java的考场管理系统的研究与实现
大学物理在线考试与分析系统
基于移动终端的高校移动学习体系构建研究
移动终端云计算应用分析
效率观下高校课程考试形式的改革探索
手机APP在学生信息化管理中的应用探索