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

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

相关推荐
无心水33 分钟前
【分布式利器:腾讯TSF】10、TSF故障排查与架构评审实战:Java架构师从救火到防火的生产哲学
java·人工智能·分布式·架构·限流·分布式利器·腾讯tsf
brave_zhao39 分钟前
达梦8最终锁阻塞巡检 SQL
数据库
一 乐8 小时前
婚纱摄影网站|基于ssm + vue婚纱摄影网站系统(源码+数据库+文档)
前端·javascript·数据库·vue.js·spring boot·后端
Boilermaker19928 小时前
[Java 并发编程] Synchronized 锁升级
java·开发语言
Cherry的跨界思维8 小时前
28、AI测试环境搭建与全栈工具实战:从本地到云平台的完整指南
java·人工智能·vue3·ai测试·ai全栈·测试全栈·ai测试全栈
alonewolf_999 小时前
JDK17新特性全面解析:从语法革新到模块化革命
java·开发语言·jvm·jdk
一嘴一个橘子9 小时前
spring-aop 的 基础使用(啥是增强类、切点、切面)- 2
java
sheji34169 小时前
【开题答辩全过程】以 中医药文化科普系统为例,包含答辩的问题和答案
java
1.14(java)9 小时前
SQL数据库操作:从CRUD到高级查询
数据库
恋爱绝缘体19 小时前
2020重学C++重构你的C++知识体系
java·开发语言·c++·算法·junit