在线考试系统
创始人
2024-02-03 02:57:52
0

项目描述

临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问题,今天给在家介绍一篇在线考试系统的设计与实现 。

功能需求

在线考试系统现在应用非常广泛,能适用于大、中、小学的学生考试以及试卷的批改和成绩的统计分析中,相对于计算机和外语学科非常实用。但是现在普遍学校还是以笔试为考量学生学习情况的方式,不能借助在线考试系统便利教学,以此提高教育质量。

我们坚信在以后这一系列的学校考试将会走向网络化考试的。这样才是符合信息技术发展的方向。我们要给不同的考试同一个好的解决方案。这个方案在技术上来讲我们是采用B/S模式。 在windows/Linux平台上,使用IE浏览器,完成抽题、考试、交卷等考试任务。方便,简单的完成各科不同形式的考试,这也是我们的目的所在。

考点模块通过网络获取题库,按照题库中的抽题策略,自动给每个考生生成一份试卷,考生在线作答,考试结果数据通过网络回收,系统自动进行判分,生成考试成绩和统计数据。“在线考试系统”是集合现代考试理论、方法和现代信息技术手段的智能化网上考试系统,为学生个性化学习提供“灵活、方便、科学、公平”的“个别化考试服务”,是终结性评价系统。学生可以随时、随地进行课程结业考试。

具备以下功能:

本文内文研究的是通过构建在线考试系统利用学校的教师笔试进行管理化,通过调查和分析现在系统考试相关信息,综合评价了我国考试现状和以及今后的发展趋势,进而提出了比较好的在线考试系统策略和方案。
学生模块:
(1)登录注册:实现学生可以在本系统进行实名注册并且能直接登录。
(2)答题考试:历史考试查看、在线考试、考试科目查看选择。
(3)个人信息:重置密码、个人基本信息修改。
管理员模块:
(1)登录注册:实现管理老师可以在本系统进行实名注册并且能直接登录。
(2)系统设置:角色管理、系统日志、系统信息查看。
(3)考试管理:管理员可以增加考试增加、删除、编辑、查看等
(4)学科管理:对学科信息增加、删除、修改等。
(5)学生管理:对学生账号管理、考生可以随时查看成绩、信息查看等。
(6)成绩管理:学生成绩查看、试卷的批阅、成绩统计分析。

系统功能模块框架图

在这里插入图片描述

部分效果图

登录注册界面:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数据库设计

系统中用到了5张表,针对每个表都进行了设计,下面对部分核心表进行汇总罗列展示。
(1)用户信息表

在这里插入图片描述

(2)学科信息表
在这里插入图片描述

(3)购物信息表
在这里插入图片描述
(4)试卷信息表
在这里插入图片描述
(5)成绩数据表
在这里插入图片描述

部分代码
//登录后台系统就行操作
@RequestMapping("/admin/exam")
@Controller
public class ExamController {@RequestMapping(value="/list",method=RequestMethod.POST)@ResponseBodypublic Map list(@RequestParam(name="name",defaultValue="") String name,@RequestParam(name="subjectId",required=false) Long subjectId,@RequestParam(name="startTime",required=false) String startTime,@RequestParam(name="endTime",required=false) String endTime,Page page){Map ret = new HashMap();Map queryMap = new HashMap();queryMap.put("name", name);if(subjectId != null){queryMap.put("subjectId", subjectId);}if(!StringUtils.isEmpty(startTime)){queryMap.put("startTime", startTime);}if(!StringUtils.isEmpty(endTime)){queryMap.put("endTime", endTime);}queryMap.put("offset", page.getOffset());queryMap.put("pageSize", page.getRows());ret.put("rows", examService.findList(queryMap));ret.put("total", examService.getTotal(queryMap));return ret;}){Map ret = new HashMap();Map queryMap = new HashMap();queryMap.put("name", name);if(subjectId != null){queryMap.put("subjectId", subjectId);}if(!StringUtils.isEmpty(startTime)){queryMap.put("startTime", startTime);}if(!StringUtils.isEmpty(endTime)){queryMap.put("endTime", endTime);}
package com.ischoolbar.programmer.service.admin.impl;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import com.ischoolbar.programmer.dao.admin.AuthorityDao;
import com.ischoolbar.programmer.entity.admin.Authority;
import com.ischoolbar.programmer.service.admin.AuthorityService;
@Service
public class AuthorityServiceImpl implements AuthorityService {@Autowiredprivate AuthorityDao authorityDao;@Overridepublic int add(Authority authority) {// TODO Auto-generated method stubreturn authorityDao.add(authority);}@Overridepublic int deleteByRoleId(Long roleId) {// TODO Auto-generated method stubreturn authorityDao.deleteByRoleId(roleId);}@Overridepublic List findListByRoleId(Long roleId) {// TODO Auto-generated method stubreturn authorityDao.findListByRoleId(roleId);}public String imgAdvAdd(){Imgadv imgadv=new Imgadv();String hz = upFileFileName.substring(upFileFileName.lastIndexOf(".")+1);String imgurl = Info.getAutoId()+"."+hz;String filePath=ServletActionContext.getServletContext().getRealPath("upfile")+"/"+imgurl;File targetFile=new File(filePath);upLoadFile(upFile,targetFile);System.out.println("type=="+type);if(type.equals("HEAD")){ArrayList ilist = (ArrayList)commonDAO.findByHql(" from Imgadv where type='HEAD' ");if(ilist.size()==0){imgadv.setImgurl(imgurl);imgadv.setType(type);commonDAO.save(imgadv);suc="";return "success";}else{no="";return "erro";}}else{imgadv.setImgurl(imgurl);imgadv.setType(type);commonDAO.save(imgadv);suc="";return "success";}}Imgadv imgadv=new Imgadv();String hz = upFileFileName.substring(upFileFileName.lastIndexOf(".")+1);String imgurl = Info.getAutoId()+"."+hz;String filePath=ServletActionContext.getServletContext().getRealPath("upfile")+"/"+imgurl;File targetFile=new File(filePath);upLoadFile(upFile,targetFile);System.out.println("type=="+type);if(type.equals("HEAD")){ArrayList ilist = (ArrayList)commonDAO.findByHql(" from Imgadv where type='HEAD' ");if(ilist.size()==0){imgadv.setImgurl(imgurl);imgadv.setType(type);commonDAO.save(imgadv);suc="";return "success";}else{no="";return "erro";}}else{imgadv.setImgurl(imgurl);imgadv.setType(type);commonDAO.save(imgadv);//public String imgAdvEdit(){Imgadv imgadv = (Imgadv)commonDAO.findById(id, "Imgadv");if(!upFileFileName.equals("")){String hz = upFileFileName.substring(upFileFileName.lastIndexOf(".")+1);String imgurl = Info.getAutoId()+"."+hz;String filePath=ServletActionContext.getServletContext().getRealPath("upfile")+"/"+imgurl;File targetFile=new File(filePath);upLoadFile(upFile,targetFile);imgadv.setImgurl(imgurl);}commonDAO.update(imgadv);suc="";return "success";}//删除图片public String imgAdvDel(){commonDAO.delete(id, "Imgadv");suc="";return "success";}
安装部署需求

eclipse、idea运行启动

系统部署

系统开发后,在生产环境配置项目运行环境,具体步骤如下:
安装linux或者windows10操作系统;
安装JDK1.8并配置环境变量;
安装MySQL5.7版本以上版本数据库,创建数据库并执行脚本创建表;
在IDEA中编辑进行打包;
下载并配置Tomcat8.0服务器,配置系统服务,上传项目打包文件

本项目用到的技术和框架

1.开发语言:Java
2.开发模式:B/S
3.数据库:MySQL
4.框架:jsp+SSM

本项目中的关键点

此系统的开发采用java语言开发,基于B/S结构,这些开发环境使系统更加完善。使用到的工具和技术都是开源免费的。

环境工具

开发工具 Eclipse/IDEA
语言 JDK1.8 、jsp、CSS、SSM
硬件:笔记本电脑;
软件:Tomcat8.0 Web服务器、Navicat数据库客户端、MySQL;
操作系统:Windows 10;
其它软件:截图工具、常用浏览器;
需要源码点击这里

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...