idea Springboot 在线考试管理系统开发mysql数据库web结构java编程计算机网页
一、源码特点
springboot 在线考试管理系统是一套完善的完整信息系统,结合mvc框架和bootstrap完成本系统springboot spring mybatis ,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发),系统具有完整的源代码和数据库,系统主要采用B/S模式开发。
前段主要技术 css jquery
后端主要技术 Springboot spring mybatis
数据库 mysql
开发工具 IDEA JDK1.8
springboot 在线考试系统1
二、功能介绍
(1)管理员管理:对管理员信息进行添加、删除、修改和查看
(2)学生管理:对学生信息进行添加、删除、修改和查看
(3)教师管理:对教师信息进行添加、删除、修改和查看
(4)公告管理:对公告信息进行添加、删除、修改和查看
(5)难度管理:对难度信息进行添加、删除、修改和查看
(6)知识点管理:对知识点信息进行添加、删除、修改和查看
(7)章节管理:对章节信息进行添加、删除、修改和查看
(8)试题管理:对试题信息进行添加、删除、修改和查看
(9)试卷管理:对试卷信息进行添加、删除、修改和查看
(10)组卷管理:对组卷信息进行添加、删除、修改和查看
(11)成绩管理:对成绩信息进行删除、修改和查看,系统采取主观判卷的方式进行判定。
(12)答题管理:对答题信息进行删除、修改和查看
数据库设计
[表gly] 管理员列属性表格 | |||||
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | glyid | INTEGER | 11 | 是 | 管理员编号 |
| 2 | yhm | VARCHAR | 40 | 否 | 用户名 |
| 3 | mm | VARCHAR | 40 | 否 | 密码 |
| 4 | xm | VARCHAR | 40 | 否 | 姓名 |
[表xuesheng] 学生列属性表格 | |||||
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | xsid | INTEGER | 11 | 是 | 学生编号 |
| 2 | yhm | VARCHAR | 40 | 否 | 用户名 |
| 3 | mm | VARCHAR | 40 | 否 | 密码 |
| 4 | xm | VARCHAR | 40 | 否 | 姓名 |
| 5 | lxdh | VARCHAR | 40 | 否 | 联系电话 |
| 6 | lxdz | VARCHAR | 40 | 否 | 联系地址 |
[表jiaoshi] 教师列属性表格 | |||||
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | jsid | INTEGER | 11 | 是 | 教师编号 |
| 2 | yhm | VARCHAR | 40 | 否 | 用户名 |
| 3 | mm | VARCHAR | 40 | 否 | 密码 |
| 4 | xm | VARCHAR | 40 | 否 | 姓名 |
| 5 | lxdh | VARCHAR | 40 | 否 | 联系电话 |
| 6 | lxdz | VARCHAR | 40 | 否 | 联系地址 |
[表gonggao] 公告列属性表格 | |||||
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | ggid | INTEGER | 11 | 是 | 公告编号 |
| 2 | bt | VARCHAR | 40 | 否 | 标题 |
| 3 | nr | VARCHAR | 40 | 否 | 内容 |
| 4 | fbsj | VARCHAR | 40 | 否 | 发布时间 |
[表nandu] 难度列属性表格 | |||||
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | ndid | INTEGER | 11 | 是 | 难度编号 |
| 2 | nd | VARCHAR | 40 | 否 | 难度 |
[表zsd] 知识点列属性表格 | |||||
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | zsdid | INTEGER | 11 | 是 | 知识点编号 |
| 2 | zsdmc | VARCHAR | 40 | 否 | 知识点名称 |
[表zhangjie] 章节列属性表格 | |||||
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | zjid | INTEGER | 11 | 是 | 章节编号 |
| 2 | zjmc | VARCHAR | 40 | 否 | 章节名称 |
代码设计
@RequestMapping(value = "list")public ModelAndView list(HttpServletRequest request, HttpServletResponse response) {try {request.setCharacterEncoding("gb2312");//强制字符集}catch(Exception e){e.printStackTrace();}Map<String,Object> map= new HashMap<String,Object>();ModelAndView mav = new ModelAndView();//初始化mav.setViewName("shijuan/list");//跳转jsp 页面String sjid=(String)request.getParameter("sjid");if(sjid!=null&&!sjid.equals("")){// System.out.println(sjid);map.put("sjid",sjid);//拼接sql语句试卷编号}String sjmc=(String)request.getParameter("sjmc");if(sjmc!=null&&!sjmc.equals("")){// System.out.println(sjmc);map.put("sjmc",sjmc);//拼接sql语句试卷名称}String fbsj=(String)request.getParameter("fbsj");if(fbsj!=null&&!fbsj.equals("")){// System.out.println(fbsj);map.put("fbsj",fbsj);//拼接sql语句发布时间}String kssj=(String)request.getParameter("kssj");if(kssj!=null&&!kssj.equals("")){// System.out.println(kssj);map.put("kssj",kssj);//拼接sql语句考试时间}String sm=(String)request.getParameter("sm");if(sm!=null&&!sm.equals("")){// System.out.println(sm);map.put("sm",sm);//拼接sql语句说明}List<shijuan> list=shijuandao.getAll(map);//查询shijuan 表数据返回 list对象mav.addObject("list",list);//赋值变量return mav;}/**试卷添加方法 对表 shijuan 进行添加* */@RequestMapping(value = "add")public ModelAndView add(HttpServletRequest request, HttpServletResponse response){try {request.setCharacterEncoding("gb2312");//强制字符集}catch(Exception e){e.printStackTrace();}ModelAndView mav = new ModelAndView();//初始化mav.setViewName("shijuan/shijuanadd");shijuan bean=new shijuan();String sjid=(String)request.getParameter("sjid");//{col.columnname} 变量bean.setSjid(sjid);//赋值封装String sjmc=(String)request.getParameter("sjmc");//{col.columnname} 变量bean.setSjmc(sjmc);//赋值封装String fbsj=(String)request.getParameter("fbsj");//{col.columnname} 变量bean.setFbsj(fbsj);//赋值封装String kssj=(String)request.getParameter("kssj");//{col.columnname} 变量bean.setKssj(kssj);//赋值封装String sm=(String)request.getParameter("sm");//{col.columnname} 变量bean.setSm(sm);//赋值封装shijuandao.add(bean);//执行 添加 shijuan 添加操作request.setAttribute("msg", "<script>alert('添加成功');</script>");//操作提示return addpage(request,response);}/**试卷添加方法 对表 shijuan 进行添加**/@RequestMapping(value = "kaoshido")public ModelAndView kaoshido(HttpServletRequest request, HttpServletResponse response){try {request.setCharacterEncoding("gb2312");//强制字符集}catch(Exception e){e.printStackTrace();}// String fbsj= StaticMethod.getStringDate();ModelAndView mav = new ModelAndView();//初始化// mav.setViewName("shijuan/shijuanadd");java.util.Date now=new java.util.Date();java.text.SimpleDateFormat formatter=new java.text.SimpleDateFormat("yyyyMMddHHmmssssss");// System.out.print(formatter.format(now));String ddid=""+formatter.format(now);String[] hd=request.getParameterValues("hd");String[] st=request.getParameterValues("st");String sj=(String)request.getParameter("sj");//String djsj=StaticMethod.getStringDate();//{col.columnname} 变量String xs=(String)request.getSession().getAttribute("yhm");//{col.columnname} 变量try{Connection con=jdbcTemplate.getDataSource().getConnection();DBO db=new DBO();db.open(con);ResultSet rs=null;List list=null;String sql="";for(int i=0;i<st.length;i++){dati dtbean=new dati();dtbean.setDf("0");dtbean.setDjsj(djsj);dtbean.setHd(hd[i]);dtbean.setLs(ddid);dtbean.setSj(sj);dtbean.setXs(xs);dtbean.setSt(st[i]);datidao.add(dtbean);}chengji bean=new chengji();String cjid=(String)request.getParameter("cjid");//{col.columnname} 变量bean.setCjid(cjid);//赋值封装bean.setXs(xs);//赋值封装String cj="0";//{col.columnname} 变量bean.setCj(cj);//赋值封装bean.setDjsj(djsj);//赋值封装bean.setSj(sj);//赋值封装String ls=ddid;//{col.columnname} 变量bean.setLs(ls);//赋值封装chengjidao.add(bean);//执行 添加 chengji 添加操作}catch(Exception e){e.printStackTrace();;}request.setAttribute("msg", "<script>alert('答题成功');</script>");//操作提示return list(request,response);}
三、注意事项
1、管理员账号:admin密码:admin 数据库配置文件DBO.java
2、开发环境为IDEA开发,数据库为mysql,使用java语言开发。
3、数据库文件名是jspsmkaoshi.sql 系统名称smkaoshi
4、地址:login.jsp
四 系统实现




下载地址
https://download.csdn.net/download/qq_41221322/88942810
源码获取 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
相关文章:
idea Springboot 在线考试管理系统开发mysql数据库web结构java编程计算机网页
一、源码特点 springboot 在线考试管理系统是一套完善的完整信息系统,结合mvc框架和bootstrap完成本系统springboot spring mybatis ,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发),系统具有…...
Spring Cloud Alibab 入门搭建,包含Nacos中心,注册服务发现服务,Feign请求,GateWay网关,sentinel限流
源码在最后 一、安装Nacos注册中心 1.1查看Nacos官网,安装Nacos服务,下载源码或者安装包 1.2启动服务,默认端口为8848, 二、创建服务注册&发现 2.1使用脚手架,创建注册服务和发现服务项目,我用的版…...
ShardingSphere-SQL 解析 Issue 处理流程
ShardingSphere-SQL 解析 Issue 处理流程 这是之前给社区写的 SQL 解析 Issue 的处理流程,可以帮助社区用户快速参与到 ShardingSphere-SQL 解析任务当中。 ShardingSphere SQL 解析 issue 列表 Issue 背景说明 当前 Issue 使用自定义的爬虫脚本从对应的数据库官…...
【矩阵】48. 旋转图像【中等】
旋转图像 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,…...
高质量 Git 仓库汇总(持续更新,方便查看)
Leetcode https://github.com/kamyu104/LeetCode-Solutions Cmake https://github.com/viva64/pvs-studio-cmake-examples 3D目标检测 Awesome-3D-Object-Detection Awesome-3D-Object-Detection-for-Autonomous-Driving Cuda Code dbscan https://github.com/l3lackc…...
学习笔记-华为IPD转型2020:1,IPD的重要意义
华为产品开发转型:IPD计划 大多数公司发现,当公司大幅增长时,在较小规模上有效的管理实践不再有效。产品开发过程也是如此。随着华为的发展,该公司遇到了产品故障率更高、开发周期更长和研发成本增加等问题。然后,它转…...
【阿里云系列】-基于云效构建部署NodeJS项目到ACK
准备工作 01、编写Dockerfile文件可以根据不同的环境,新建不同的Dockerfile文件,比如Dockerfile-PROD # Deliver the dist folder with NginxFROM nginx:stable-alpine ENV LANGC.UTF-8 ENV TZAsia/ShanghaiCOPY dist/ /usr/share/nginx/html COPY ngi…...
Jmeter入参问题小记
表单入参的时候,这个地方需要勾选,如果不☑️选的话,会提示errorMsg":"Required String parameter code is not present",...
【四 (2)数据可视化之 Matplotlib 常用图表及代码实现 】
目录 文章导航一、介绍二、安装Matplotlib三、导入Matplotlib四、设置可以中文显示四、常用图形1、散点图(Scatter Plot)2.1、线性图(Line Plot)2.2、堆叠折线图2.3、多图例折线图3.1、柱状图/条形图(Bar Chart&#x…...
官网建设的江湖四大流派,一派苦撑、一派完犊子、另外两派搅局。
有人的地方就有江湖,有江湖的地方就有纷争,有纷争地方就有此起彼伏。 说好的,当赚够了钱就退出建站江湖,人就是江湖,怎么退? 官网建设风起云涌20年,一方倒地,一方揭竿而起ÿ…...
Ubuntu 安装 KVM 虚拟化
1. Ubuntu 安装 KVM 虚拟化 KVM 是 Linux 内核中一个基于 hypervisor 的虚拟化模块,它允许用户在 Linux 操作系统上创建和管理虚拟机。 如果机器的CPU不支持硬件虚拟化扩展,是无法使用KVM(基于内核的虚拟机)直接创建和运行虚拟机的。此时最多只能使用…...
SA3D:基于 NeRF 的三维场景分割方法
Paper: Cen J, Zhou Z, Fang J, et al. Segment anything in 3d with nerfs[J]. Advances in Neural Information Processing Systems, 2024, 36. Introduction: https://jumpat.github.io/SA3D/ Code: https://github.com/Jumpat/SegmentAnythingin3D SA3D 是一种用于 NeRF 表…...
mysql实战开发之 mysql 删除一张表某个字段的sql语句
有一张表, 我需要删除这张表其中的某一个或者某几个字段, 相信大家在日常开发中应该会遇到这种情况, 然后刚好自己接触的项目安装的mysql关闭了允许远程连接的设置, 也就是说不允许使用类似于navicat 等可视化工具连接, 那么就没办法通过可视化工具直接去通过鼠标操作就可以 完…...
Selenium控制已运行的Edge和Chrome浏览器——在线控制 | 人机交互(详细启动步骤和bug记录)
文章目录 前期准备1. 浏览器开启远程控制指令(1)Edge(2)Chrome 2. 执行python代码(1)先启动浏览器后执行代码(2)通过代码启动浏览器(3)Bug问题记录1ÿ…...
【Miniconda】Linux系统中 .condarc 配置文件的位置一般在哪里
【Miniconda】Linux系统中 .condarc 配置文件的位置一般在哪里 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到…...
数据结构——动态顺序表
数据结构的动态顺序表有以下几个操作:创建,销毁,初始化,增删查改和打印以及内存空间不够时的扩容 本文的宏定义: #define SeqTypeData int 1.动态顺序表的创建 typedef struct SeqListInit{//动态顺序表的创建SeqT…...
Android Studio实现内容丰富的安卓宠物医院管理系统
获取源码请点击文章末尾QQ名片联系,源码不免费,尊重创作,尊重劳动 项目编号128 1.开发环境android stuido jdk1.8 eclipse mysql tomcat 2.功能介绍 安卓端: 1.注册登录 2.系统公告 3.宠物社区(可发布宠物帖子…...
华为OD机试真题-启动多任务排序-2024年OD统一考试(C卷)
题目描述: 一个应用启动时,会有多个初始化任务需要执行,并且任务之间有依赖关系,例如A任务依赖B任务,那么必须在B任务执行完成之后,才能开始执行A任务。 现在给出多条任务依赖关系的规则,请输入任务的顺序执行序列,规则采用贪婪策略,即一个任务如果没有依赖的任务,则…...
在没有推出硬盘的情况下,重启mac电脑,外接移动硬盘无法加载显示?
一、mac磁盘工具显示未装载 1.打开终端,输入 diskutil list查看当前硬盘列表,大多数时候,可以解决。 二、使用命令行装载硬盘 执行上面命令后,仍不起作用,则手动挂载,在命令行输入如下内容: …...
C++笔记:从零开始一步步手撕高阶数据结构AVL树
文章目录 高度平衡二叉搜索树实现一颗AVL树结点与树的描述——定义类AVL树的插入操作步骤1:按照二叉搜索树的方法插入结点步骤2:自底向上调整平衡因子步骤3:触发旋转操作(AVL树平衡的精髓)右单旋左单旋左右双旋右左双旋…...
多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
