一、源码特点
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
源码获取 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓