Java毕设课设-在线考试管理系统

本文档详细介绍了基于SSM框架的在线考试管理系统的开发,包括管理员、教师和学生的功能模块,如用户管理、试题、考试安排和作业管理。系统采用Java作为开发语言,结合Eclipse、MyEclipse等工具,数据库为MySQL,使用了BootStrap进行前端设计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算机课程设计|毕业设计之在线考试管理系统代码-基于SSM的在线考试管理系统

> > 所有工具下载链接:

JDK版本下载
Eclipse下载链接
Mysql下载链接
tomcat下载链接
向日葵远程工具

1.开发环境

  • 开发语言:Java
  • 技术:SSM、BootStrap
  • 数据库:MySQL
  • 架构:B/S
  • 源码类型: Web
  • 编译工具:Idea、Eclipse、MyEclipse (选其一)
  • 其他:jdk1.8、Tomcat8.5 、Navicat

2.系统的设计与实现

2.1 用户类型

用户角色分为 管理员、教师、学生 这两类用户。

2.2 各角色功能模块

2.2.1 管理员

  • 登录
  • 基本信息管理
  • 班级管理
  • 教师管理
  • 学生管理
  • 试卷管理
  • 试题管理
  • 考试安排管理
  • 以往考试信息
  • 作业管理

2.2.2 教师【教师跟管理员功能一样,有些功能没有修改删除权限】

  • 登录
  • 基本信息管理
  • 班级管理
  • 教师管理
  • 学生管理
  • 试卷管理
  • 试题管理
  • 考试安排管理
  • 以往考试信息
  • 作业管理

2.2.3 学生

  • 登录注册
  • 考试中心【需要教师安排考试才能参加】
  • 考试历史
  • 作业下载【需要管理员布置作业后,学生才有作业】

2.3 部分功能模块展示

学生登录模态框
在这里插入图片描述
学生考试中心
在这里插入图片描述
学生考试历史
在这里插入图片描述
学生作业在这里插入图片描述
管理员之试卷管理
在这里插入图片描述
管理员之试题管理

在这里插入图片描述
管理员之考试安排
在这里插入图片描述
管理员之作业管理
在这里插入图片描述

2.4部分代码

 /**
     * 提交作业
     *
     * @param request
     * @param homeWork
     * @param file
     * @return
     * @author 疯狂行者
     * 
     */
    @RequestMapping(value = "/publishwork")
    public ModelAndView publishwork(HttpServletRequest request, HomeWork homeWork, @RequestParam("inputfile") MultipartFile file) {
        String f = UUID.randomUUID().toString();
        String filePath = "D:/ityueqiangu/ssmfile";
        String extension = FilenameUtils.getExtension(file.getOriginalFilename());
        String fileName = f + "." + extension;
        logger.info("保存上传文件 " + fileName + " 到 " + filePath);

        /** 保存上传  文件 */
        this.saveUploadFile(file, filePath + File.separator + fileName);
        StringBuffer url = request.getRequestURL();
        //获取 头部文件
        String headerUrl = url.delete(url.length() - request.getRequestURI().length(), url.length()).toString();
        TeacherInfo loginTeacher = (TeacherInfo) request.getSession().getAttribute("loginTeacher");
        //保存到 作业表中
        homeWork.setFileId(f);
        homeWork.setPublishPath(headerUrl + "/file/" + fileName);
        homeWork.setPublishTime(new Date());
        homeWork.setCreatTime(new Date());
        homeWork.setCreatBy(loginTeacher.getTeacherId());
        ModelAndView modelAndView = new ModelAndView();
        Integer result = homeWorkService.insert(homeWork);
        if (result < 0) {
            modelAndView.addObject("error", "布置作业失败");
            modelAndView.setViewName("error");
        } else {
            modelAndView.setViewName("redirect:homework");
            modelAndView.addObject("success", "布置作业成功");
        }
        return modelAndView;
    }
/**
     * 获取学生端列表
     * @author FlowerStone
     * @date 2021年11月21日 0021 19:10:53
     * @param studentId
     * @return
     */
    @RequestMapping(value = "/finishhomeworklist/{studentId}")
    public ModelAndView finishhomeworklist(@PathVariable("studentId") Integer studentId){
        ModelAndView modelAndView = new ModelAndView();
        if (studentId == null) {
            logger.error("学生编号 为空");
            modelAndView.setViewName("error");
            return modelAndView;
        }
        //根据 学生id 查询学生的信息
        StudentInfo studentInfo = studentInfoService.getStudentById(studentId);
        //查询批阅信息
        Homeworkcommit hc = new Homeworkcommit();
        hc.setCreatBy(studentId);
        List<Homeworkcommit> homeworkcommits = homeworkcommitService.list(hc);
        Map<Integer,List<Homeworkcommit>> homeworkcommitMap = homeworkcommits.stream().collect(Collectors.toMap(Homeworkcommit::getHomeworkId, homeworkcommit -> homeworkcommits));
        //根据班级查询作业情况
        HomeWork homeWork = new HomeWork();
        homeWork.setClassId(studentInfo.getClassInfo().getClassId());
        Homeworkcommit homeworkcommit = new Homeworkcommit();
        homeworkcommit.setCreatBy(studentId);
        homeWork.setHomeworkcommit(homeworkcommit);
        //所有的作业
        List<HomeWork> homeWorkList = homeWorkService.list(homeWork);
        //设置老师建议
        homeWorkList.stream().forEach(element->{
            if (homeworkcommitMap.get(element.getId())!=null) {
                //个人的
                HomeWork paramHomework = new HomeWork();
                paramHomework.setId(element.getId());
                Homeworkcommit paramHomeworkcommit = new Homeworkcommit();
                paramHomeworkcommit.setCreatBy(studentId);
                paramHomework.setHomeworkcommit(paramHomeworkcommit);
                List<HomeWork> personHomeWorks = homeWorkService.listHomeworkcommit(paramHomework);
//                List<Homeworkcommit> homeworkcommitList = homeworkcommitMap.get(element.getId());
//                homeworkcommitList.forEach(item->{
//                    element.setTeacherSuggest(personHomeWorks.get(0).getTeacherSuggest());
//                });
                if (!CollectionUtils.isEmpty(personHomeWorks)) {
                    element.setTeacherSuggest(personHomeWorks.get(0).getTeacherSuggest());
                }
            }

        });
        modelAndView.setViewName("/reception/finishhomeworklist");
        modelAndView.addObject("homeWorks",homeWorkList);
        return modelAndView;
    }

2.5作业上传注意

注意作业默认提交到D:/ityueqiangu/ssmfile下,本人是使用IDEA运行项目,所以需要配置路径映射,如下:

在这里插入图片描述

大家点赞、收藏、关注、评论啦 、需要源码可以评论区咨询

摘 要 当前,信息化时代已经悄悄走进人们的生活,自动控制、无纸化自动办公、企业信息化、网上书店、网上娱乐等等都是信息时代的产物,可以说,二十一世纪是一个信息化的世界,人们将跟这二个字眼密不可分,随着信息化的潮流,我们的教育也开始了信息化,几年来关于教育信息化的教研论文不计其数,这说明教育走向信息化是一个必然的过程,那么基于B/S模式下的考试系统正是这种思想的一个重要的体现,教育的信息化必然会出现无纸化的、远程的考试系统,他的出现可以大大促进远程教育的长足发展,较大程度上减少了教育经费,真正体现出信息化时代的特色和优点。 建立一个安全稳定可靠的基于B/S模式下的考试系统,是当前信息化教育的必须,对信息化教育有着较大的促进作用,因为有远程的教育也就必须有远程的考试,没有考试的教育算不上完整的教育,本系统就是在这么一个大的前提下提出的。 系统包括了从组卷->考试->阅卷->试卷分析等一系列的过程,完成了一个正规考试的整个周期,是一个完整的可靠的网上考试系统。 第一章 开发简介(Development Introduction) 1.1本系统研究的目标和内容以及主要参考文献 研究目标:利用ASP网络编程技术和SQL SERVER 2000数据库技术实现B/S模式下的网上考试,主要完成题库维护、试卷生成、考试库维护、试卷分析等功能,以便形成一个完整的有机统一的考试系统。 研究内容: 1.题库维护:要求可以增加、修改、删除题库,并对科目、知识点做出相应的管理。 2.试卷生成:要求系统可以按照知识点、难度、科目、题型、题目数量、总分生成考试试卷,并定考试时间、人员(按班级定)。 3.考试控制:主要实现对考生考试时间、考生登录、考试答题数据提交的控制、以及考生个人信息的维护。 4.考生库维护:主要实现对考试年级、班级以及班级人员的管理与维护。 5.阅卷功能:主要实现对考生的客观题进行自动阅卷,并为教师提供一个很好的主观题阅卷界面。 6.试卷分析:利用asp结合VML技术实现对每次考试的试卷按班分析打印功能。 7.高级用户管理:主要实现对教师的管理。 7.系统管理:主要实现对系统日志的管理。 主要参考文献: 1.《ASP网络编程技术》 清华大学出版社 2.《SQL Server 2000编程员指南》 北京希望电子出版社 1.2 开发工具 ASP代码编:UltraEdit 10.00C 图形图像处理:Photoshop 7.0.1 简体中文版 页面计:Macromedia Dreamweaver MX、Microsoft FrontPage XP 数 据 库:SQL SERVER 2000 1.3程序的运行环境 硬件环境:服务器: PIII800以上+256M内存+10G以上硬盘+10/100M网卡以上。 软件环境: Windows 2003 Server+IIS5.5+IE5.0以上+SQL SERVER 2000。 第二章 系统程序计(System Program Design) 2.1 Active Server Pages简介(ASP Brief Introduction) Active Server Pages (ASP) 是服务器端脚本环境,可用来创建交互式网页并建立强大的 Web 应用程序。当服务器接收到对 ASP 文件的请求时,它将处理包含在特定文件中的服务器端脚本,此文件用于构建发送给浏览器的网页。除服务器端脚本外,ASP 文件也可以包含 HTML和执行各种任务的 COM 组件调用。 2.2系统描述(System Description) 本系统采用ASP3.0编,服务器端采用VBScript5.5脚本,客户端采用JavaScript编,数据库使用微软公司的大型关系数据库SQL Server 2000企业版,同时,页面制作采用了FrontPage XP、Dreamweaver MX、Adobe Photoshop 7.0等软件。 系统包括:试卷生成→定时开始→考试控制→主观题阅卷→试卷分析等一系列符合考试环节的过程,形成了一个有机的考试系统,试烦琐的考试安排和试卷分析工作变得简单方便,适合各种考试类型,系统后台采用菜单管理,使用方便,容易上手。 2.3服务器主要运行环境配置(System Setting) 1、IIS 的简介、安装和使用 IIS是Internet 信息服务的简称,它是一种 Windows Web 服务,可以使用它非常轻松地在 Intranet 上发布信息。本网上商店程序使用IIS5.0版本。 安装步骤: (1)单击“开始”,单击“控制面板”,双击“添加或删除程序”启动“添加或删除程序”应用程序。 (2)在“添加或删除程序”对话框左侧的列中,单击“添加/删除 Windows 组件”。 (3)出现“Windows 组件向导”后,单击“下一步”。 (4)在“Windows 组件”列表中选中“Internet 信息服务”。 (5)放入Windows Advanced Server 2000光碟,单击“下一步”,即可完成安装。 打开 Internet 信息服务管理器: (1)从“开始”菜单,选择“置”,然后选择“控制面板”。 (2)打开“管理工具”。 (3)打开“Internet 服务管理器”。 配置本网上商店系统: (1)在硬盘(E:)根目录建立文件夹shop,将本程序所有ASP文件、FIX文件、HTML文件、图片文件以及子文件夹复制到此文件夹下。 (2)在IIS中选择默认网站,并点击右键,选择属性,然后进行如图2-1配置。 其他选项选择默认即可基本达到调试和测试网上商店程序的所需的Web服务器系统要求,调试时在地址栏输入:http://www.bysj999.com/或者http://127.0.0.1/ 即可。 2、SQL Server 2000的简介和安装 SQL Server 2000是Microsoft公司推出的大型关系数据库,本数据库符合各种企业级的开发,同时适合B/S模式下的各种开发要求。数据库为用户提供友好的管理操作界面,使用户可以在本数据库平台上建立各种关系强大的应用数据库。 安装步骤: 1. 退出所有 Microsoft Windows® 应用程序。 2. 将 SQL Server 2000 光盘插入 CD-ROM 驱动器中。这将启动 SQL Server 2000 安装程序。如果安装程序没有自动启动,则运行光盘根目录中的 Autorun.exe 程序。 3. 单击"安装 SQL Server 2000 组件"。 4. 单击"Analysis Services"启动 Analysis Services 安装程序。 5. 在"欢迎"步骤中单击"下一步"按钮。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值