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] 管理员列属性表格

序号字段名称数据类型长度主键描述
1glyidINTEGER11管理员编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名

[表xuesheng] 学生列属性表格

序号字段名称数据类型长度主键描述
1xsidINTEGER11学生编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名
5lxdhVARCHAR40联系电话
6lxdzVARCHAR40联系地址

[表jiaoshi] 教师列属性表格

序号字段名称数据类型长度主键描述
1jsidINTEGER11教师编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名
5lxdhVARCHAR40联系电话
6lxdzVARCHAR40联系地址

[表gonggao] 公告列属性表格

序号字段名称数据类型长度主键描述
1ggidINTEGER11公告编号
2btVARCHAR40标题
3nrVARCHAR40内容
4fbsjVARCHAR40发布时间

[表nandu] 难度列属性表格

序号字段名称数据类型长度主键描述
1ndidINTEGER11难度编号
2ndVARCHAR40难度

[表zsd] 知识点列属性表格

序号字段名称数据类型长度主键描述
1zsdidINTEGER11知识点编号
2zsdmcVARCHAR40知识点名称

[表zhangjie] 章节列属性表格

序号字段名称数据类型长度主键描述
1zjidINTEGER11章节编号
2zjmcVARCHAR40章节名称

代码设计

  @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

源码获取 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/277546.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ESP32接入国产大模型之MiniMax】

1. MiniMax 讲解视频&#xff1a; ESP32接入语言大模型之MiniMax MM智能助理是一款由MiniMax自研的&#xff0c;没有调用其他产品的接口的大型语言模型。MiniMax是一家中国科技公司&#xff0c;一直致力于进行大模型相关的研究。 随着人工智能技术的不断发展&#xff0c;自然语…

AI - 支持向量机算法

&#x1f9e8;概念 支持向量机&#xff08;Support Vector Machine, SVM&#xff09;是一种强大的机器学习算法&#xff0c;主要用于解决二分类问题。 SVM的核心思想是找到一个超平面&#xff0c;这个超平面能够最好地将数据分为两类&#xff0c;即在保证分类准确的情况下&am…

C/C++火柴棍等式

有n根(n<24)火柴棍&#xff0c;你可以拼出多少个形如“ABC"的等式?等式中的A、B、C是用火柴棍拼出的整数(若该数非零&#xff0c;则最高位不能是0)。用火柴棍拼数字0-9的拼法如图所示: 依次需要用到的火柴棍数目为6 2 5 5 4 5 6 3 7 6 。 如果是初学者可能会这么写。 …

音频的录制及播放

在终端安装好pip install pyaudio&#xff0c;在pycharm中敲入录音的代码&#xff0c;然后点击运行可以在10s内进行录音&#xff0c;录音后的音频会保存在与录音代码同一路径项目中&#xff0c;然后再新建项目敲入播放的代码&#xff0c;点击运行&#xff0c;会把录入的录音进行…

PHP+golang开源办公系统CRM管理系统

基于ThinkPHP6 Layui MySQL的企业办公系统。集成系统设置、人事管理、消息管理、审批管理、日常办公、客户管理、合同管理、项目管理、财务管理、电销接口集成、在线签章等模块。系统简约&#xff0c;易于功能扩展&#xff0c;方便二次开发。 服务器运行环境要求 PHP > 7.…

32程序结构学习

初始化代码 void LED_GPIO_Config(void) { /*定义一个GPIO_InitTypeDef类型的结构体*/GPIO_InitTypeDef GPIO_InitStructure;/*开启GPIOC的外设时钟*/RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA, ENABLE); /*选择要控制的GPIOC引脚*/ GPIO_InitStructur…

【管理咨询宝藏40】内部报告:电力市场建设现状、挑战及思考

本报告首发于公号“管理咨询宝藏”&#xff0c;如需阅读完整版报告内容&#xff0c;请查阅公号“管理咨询宝藏”。 【管理咨询宝藏40】内部报告&#xff1a;电力市场建设现状、挑战及思考 【格式】PDF版本 【关键词】战略规划、行业分析、管理咨询 【文件核心观点】 - 各类主…

App的测试,和传统软件测试有哪些区别?增加哪些方面的测试用例

从上图可知&#xff0c;测试人员所测项目占比中&#xff0c;App测试占比是最高的。 这就意味着学习期间&#xff0c;我们要花最多的精力去学App的各类测试。也意味着我们找工作前&#xff0c;就得知道&#xff0c;App的测试点是什么&#xff0c;App功能我们得会测试&#xff0…

人工智能迷惑行为大赏——需求与科技的较量

目录 前言 一、 机器行为学 二、人工智能迷惑行为的现象 三、产生迷惑行为的技术原因 四、社会影响分析 五、解决措施 总结 前言 随着ChatGPT热度的攀升&#xff0c;越来越多的公司也相继推出了自己的AI大模型&#xff0c;如文心一言、通义千问等。各大应用也开始内置…

数据预处理|数据清洗|使用Pandas进行异常值清洗

数据预处理|数据清洗|使用Pandas进行异常值清洗 使用Pandas进行异常值清洗1. 异常值检测1.1 简单统计分析1.2 散点图方法1.3 3σ原则1.4 箱线图 2. 异常值处理2.1 直接删除2.2 视为缺失值2.3 平均值修正2.4 盖帽法2.5 分箱平滑法2.6 回归插补2.7 多重插补2.8 不处理 使用Pandas…

论文浅尝 | GPT-RE:基于大语言模型针对关系抽取的上下文学习

笔记整理&#xff1a;张廉臣&#xff0c;东南大学硕士&#xff0c;研究方向为自然语言处理、信息抽取 链接&#xff1a;https://arxiv.org/pdf/2305.02105.pdf 1、动机 在很多自然语言处理任务中&#xff0c;上下文学习的性能已经媲美甚至超过了全资源微调的方法。但是&#xf…

【解读】保障软件供应链安全:SBOM推荐实践指南(含指南获取链接)

2023年11底&#xff0c;美国NSA&#xff08;National Security Agency&#xff09;、CISA&#xff08;Cybersecurity and Infrastructure Security Agency&#xff09;等多个政府机构部门组成的ESF&#xff08;Enduring Security Framework&#xff0c;持久安全框架&#xff09…

scenic-view,一款冷门的JavaFX开发神器

用Java做图形界面本就很冷门&#xff0c;那么通过JavaFX开发GUI可能就更加冷门&#xff0c;毕竟前面还有Swing这位前辈。不过为了那些同为JavaFX的开发者&#xff0c;今天给大家带来一款JavaFX开发神器。 scenic-view Scenic View是一个JavaFX应用程序&#xff0c;旨在简化理…

【数据结构】深入探讨二叉树的遍历和分治思想(一)

&#x1f6a9;纸上得来终觉浅&#xff0c; 绝知此事要躬行。 &#x1f31f;主页&#xff1a;June-Frost &#x1f680;专栏&#xff1a;数据结构 &#x1f525;该文章主要讲述二叉树的递归结构及分治算法的思想。 目录&#xff1a; &#x1f30d;前言&#xff1a;&#x1f30d;…

Redis和Mysql的数据一致性问题

在高并发的场景下&#xff0c;大量的请求直接访问Mysql很容易造成性能问题。所以我们都会用Redis来做数据的缓存&#xff0c;削减对数据库的请求的频率。 但是&#xff0c;Mysql和Redis是两种不同的数据库&#xff0c;如何保证不同数据库之间数据的一致性就非常关键了。 1、导…

​​SQLiteC/C++接口详细介绍之sqlite3类(十一)

返回目录&#xff1a;SQLite—免费开源数据库系列文章目录 上一篇&#xff1a;​​SQLiteC/C接口详细介绍之sqlite3类&#xff08;十&#xff09; 下一篇&#xff1a;​​SQLiteC/C接口详细介绍之sqlite3类&#xff08;十二&#xff09;&#xff08;未发表&#xff09; 33.sq…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Web)下篇

onRequestSelected onRequestSelected(callback: () > void) 当Web组件获得焦点时触发该回调。 示例&#xff1a; // xxx.ets import web_webview from ohos.web.webviewEntry Component struct WebComponent {controller: web_webview.WebviewController new web_webv…

鸿蒙开发实现弹幕功能

鸿蒙开发实现弹幕功能如下&#xff1a; 弹幕轮播组件&#xff1a;BannerScroll import type { IDanMuInfoList, IDanMuInfoItem } from ../model/DanMuData //定义组件 Component export default struct BannerScroll {//Watch 用来监视状态数据的变化&#xff0c;包括&#…

如何通过小程序上的产品力和品牌力提升用户的复购能力?

随着网络购物小程序的发展以及内容电商、社交电商、垂直电商、品牌自营等多个细分类型的出现&#xff0c;小程序成为用户日常购物、大促囤货以及首发抢购的重要场景&#xff0c;市场竞争也逐渐激烈。如何在用户侧获得更多转化、留存与复购&#xff0c;成为企业品牌日益关注的话…

在Linux/Ubuntu/Debian中使用windows应用程序/软件

Wine 是一个兼容层&#xff0c;允许你在类 Unix 操作系统&#xff08;包括 Ubuntu&#xff09;上运行 Windows 应用程序。 以下是在 Ubuntu 上安装和使用 Wine 的基本步骤&#xff1a; 在 Ubuntu 上安装 Wine&#xff1a; 更新软件包列表&#xff1a; 打开终端并运行以下命令以…