第37卷  第4期 福  建  电  脑 Vol.37  No.4
2021年4月
Journal of Fujian Computer
Apr. 2021
———————————————
余庆茂,男,1991年生,主要研究领域为计算机网络技术、JA V A 开发。E-mail:*********************。吴美姗,女,1994年生,主要研究领域为资源环境与城乡规划管理、大地测量学与测量工程。E-mail:************** 。
采用JavaWeb 技术的基础平台考试系统
余庆茂 吴美姗
(中山大学新华学院设备与实验室管理处 广东 东莞 523133)
摘  要 随着web 技术的成熟,以往纸质考试的方式逐渐减少,更多的是以无纸化的考试形式出现。目前,
市面上的主流考试软件都是以B/S 模式来开发,因此本文基于JavaWeb 技术,开发一套基础平台的在线考试系统,以此来解决阅卷、出卷、统计花费时间过多的问题。同时也是为学校经管类公共基础平台的信息化做出的努力。 关键词  JavaWeb ;考试系统;B/S
中图法分类号  TP311.5  DOI:10.16707/jki.fjpc.2021.04.033
The Examination System Based on Java Web Technology
YU Qingmao , WU Meishan
(Department of Laboratory Management Office, Xinhua College, Sun Yat-sen University, Dongguan, China, 523133)
1  引言
随着web 技术的成熟,很多高校的考试形式也发生了变化,比如每年2次的全国计算机等级考试和会计职称考试都采取了线上考试的方式。在线考试在表现形式上,主要有以浏览器访问方式为主的模式和以桌面窗体结构的访问模式两类[1-2]。传统的C/S 架构的在线考试系统需要安装桌面客户端及服务端,如果版本更替则存在系统维护相对困难、配置繁琐等问题。它一般适应于小型局域网环境的考试。而B/S 架构模式的在线考试系统则能够应用于局域网及广域网环境。但这类系统需同时解决并发
、安全性和准确性等问题[3]。本文开发的系统,网页前端部分是html 加JSP 等技术,开发的重点在于后端部分,后端部分是以java web 技术加上MYSQL 数据库来实现系统的设计。
2  相关技术
2.1  Java Web
Java Web 是目前java 开发非常热门的一个方
向。Web 应用一般有两个开发方向,即服务器端和表现层端。服务器端也称为后端开发,主要由Java 技术集来处理,如主流的Spring 框架、springboot 框架、spring cloud 框架、Mybatis 框架、Hibernate 框架、Servlet 技术等。表现层则是运用HTML 、JavaScript (包含常见的JS 应用集jquery 、Node.js 等)、CSS 、JSP 、FreeMarker 等[4]。其中JSP 和FreeMarker 实现前端动态 Web 页面功能,JavaBean 主要实现后台服务功能。所有 Web 服务一般通过 JSP 技术或者其他动态页面技术来进行动态展示,并转发到相应的Web 服务器中,由对应的JavaBean 组件来实现具体的逻辑处理并反馈。以Java web 技术栈开发的软件,无需下载客户端APP ,操作相对安全且方便[5]。 2.2  MySQL
在Java Web 开发技术栈中,Oracle 和MySQL 数据库是应用最广泛的数据库。MySQL 数据库的最大优势在于操作简单、开源免费(部分企业版本仍需付费使用)。目前大部分的个人信息库、小型网站
、企业都是使用MySQL 作为数据库[6]。在数据库设计时,常常要将大量的数据进行一种非常规范化的处理,规范化会让关系表能够满足相应福建考试网登录系统
2021年福建电脑121
的函数依赖关系,这样就消除了大量的数据冗余[7]。
2.3  JSP
JSP(Java Script Pages)实际是网页技术的一个分支,只不过HTML技术是它的基础,并且加入了java的一些技术。该技术的本质是在网页前端HTMl技术之上加入特定的Java程序或者JSP标记,从而实现以下效果:使用者根据实际的的业务需要在JSP页面传送各种业务请求和参数到服务器后端,之后服务器会回应处理之后的数据,这样就实现JSP的数据交互性和页面动态性[8]。
3  需求分析
该基础平台考试系统目前应用于一些公选课考试。设计的功能有:能对现有的试题进行随机组卷,生成试卷后分发到对应的班级,答完题能对客观题答案进行校对评分,最终应有对应的成绩和班级的数据统计。
为保证考试的可操作和公平性,设计的在线考试系统应该有以下方面的特点:一方面是要在网页前端能为学生提供登录服务,同时还要为学生提供在线答题以及考试结果查询等服务。另外一方面系统本身要有一定的便捷程度,尤其要重视对操作及运行流程的优化,使用户能够以较少的工作量在系统上完成相应的工作任务。简言之就是优化学生的答题、提交操作,同时也优化教师的批改操作[9]。
本系统分为学生入口、管理员入口、教师端入口。
学生入口有登录注册模块和考试测试模块,分别实现登录功能和考试功能。考试功能可以进行考试,完成考试后可看到对应的客观题分数。
管理员入口有多个功能,比如实现基本的角权限的分配、账户管理,还有比较重要的试题维护管理功能和试卷维护管理等操作。
教师端只有两个重要的核心模块。一个是试卷维护管理模块,实现对试卷常规数据的CRUD操作;另一个是试题管理模块,实现对试题内容的CRUD操作。
4  系统主要功能
本系统所开发的网络考试系统主要分为三个模块功能:系统功能、考试功能和学生功能。每个功能都包含了几个子功能。子功能主要包括:系统功能管理、角管理、用户管理、试题管理、试卷管理、
学生答题、错题库与得分。软件的概要功能如图1所示。
图1 软件概要功能图
根据软件的使用者不同,设计有学生入口、管理员入口和教师入口。学生入口拥有常规的登录考试功能,管理员入口功能最多,有试卷维护管理、题目管理、用户管理、登录功能、角管理和基本的系统功能。教师入口则只有试卷管理和题目管理功能。图2为学生用户答题界面。
图2 用户答题界面
部分试卷管理代码如下。
public
class
PapersServlet
extends
HttpServlet{
IPaperService
service
122 余庆茂等:采用JavaWeb技术的基础平台考试系统第4期
= new
PaperService();
protected
void
service(HttpServletRequest requests, HttpServletResponse responses)
throws
Exception
{
String
Cmd= Parameter("cmd"); if(cmd.equals("add")){
addsubject(request,response);
}else
if(cmd.equals("list")){
list(request,response);
}else
if(cmd.equals("slist")){
slist(request,response);
}
}
/**
*
生成试题功能
*
@param
request
*
@param
response
*/
private
void
addsubject(HttpServletRequest requests, HttpServletResponse responses)
{
Paper
Paper= new
Paper();
try{
BeanUtils.populate
(ParameterMap());
Integer
Rtn=
service.addpaper(paper);
if(rtn>0){
responses.sendRedirect(Tools.Basepath
(requests, responses)+"sys/paper?
cmd=list");
}
else{
requests.setAttribute("msg",
"增加试题功能失败!");
("/systems/paper/add.jsp").forward
(requests,responses);
}
}
catch
(questionsException e) {
e.printStackTrace();
}
}
参考文献
[1] 张勇.基于B/S结构的考试系统的设计与实现[硕士学位论文].厦门大
学,厦门,2008
[2] 张晓峰.基于B/S模式的考试系统的设计与实现[硕士学位论文].西安
电子科技大学,西安,2011
[3] 朱贵良,宋庆涛,许强,等.基于Web 模式的网络考试系统安全性研
究.计算机工程与应用,2002(03):173-175
[4] 李健,田立锋,郭瑞. Java ssh框架在JA V A WEB中的应用.电脑与电信,
2016(03):69-72
[5] 焦丽华,胡元闯.基于JA V A WEB的共享体育器材网站的设计与实现.
今日财富(中国知识产权), 2020(12):63-64
[6]张飞.利用MySql构建分布式应用.计算机工程与应用,2001,
22(18):102-104
[7]萨师煊.数据库系统概论.北京:高等教育出版社,1995
[8] 飞思科技产品研发中心.JSP教程.北京:电子工业出版社, 2001
[9] 金圣道.在线考试及试卷分析系统的设计与实现.电子技术与软件工
程,2018(07):170-171