idea Springboot 组卷管理系统LayUI框架开发mysql数据库web结构java编程计算机网页

一、源码特点

springboot 组卷管理系统是一套完善的完整信息系统,结合mvc框架和LayUI框架完成本系统springboot spring mybatis ,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发),系统具有完整的源代码和数据库,系统主要采用B/S模式开发。

前段主要技术 css jquery LayUI框架

后端主要技术 Springboot spring mybatis

数据库 mysql

开发工具 IDEA JDK1.8

springboot 组卷管理系统

二、功能介绍

(1)教师管理:对教师信息进行添加、删除、修改和查看

(2)管理员管理:对管理员信息进行添加、删除、修改和查看

(3)科目管理:对科目信息进行添加、删除、修改和查看

(4)试题类型管理:对试题类型信息进行添加、删除、修改和查看

(5)试题管理:对试题信息进行添加、删除、修改和查看

(6)试卷管理:对试卷信息进行添加、删除、修改和查看、预览、导出

(7)组卷管理:对组卷信息进行添加、删除、修改和查看、自动组卷

(8)用户登录、个人信息修改

数据库设计

(1)教师信息表如表5.1所示:

表5.1 教师信息表

|----|------|---------|----|----|------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | jsid | INTEGER | 11 | 是 | 教师编号 |
| 2 | yhm | VARCHAR | 40 | 否 | 用户名 |
| 3 | mm | VARCHAR | 40 | 否 | 密码 |
| 4 | xm | VARCHAR | 40 | 否 | 姓名 |
| 5 | lxdh | VARCHAR | 40 | 否 | 联系电话 |

(2)管理员如表5.2所示:

表5.2 管理员表

|----|-------|---------|----|----|-------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | glyid | INTEGER | 11 | 是 | 管理员编号 |
| 2 | yhm | VARCHAR | 40 | 否 | 用户名 |
| 3 | mm | VARCHAR | 40 | 否 | 密码 |
| 4 | xm | VARCHAR | 40 | 否 | 姓名 |

(3)科目表如表5.3所示:

表5.3 科目表

|----|------|---------|----|----|------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | kmid | INTEGER | 11 | 是 | 科目编号 |
| 2 | km | VARCHAR | 40 | 否 | 科目 |
| 3 | fzjs | VARCHAR | 40 | 否 | 负责教师 |

(4)试题类型表如表5.4所示:

表5.4 试题类型信息表

|----|--------|---------|----|----|--------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | stlxid | INTEGER | 11 | 是 | 试题类型编号 |
| 2 | lx | VARCHAR | 40 | 否 | 类型 |

(5)试题表如表5.5所示:

表5.5 试题表

|----|------|---------|----|----|------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | stid | INTEGER | 11 | 是 | 试题编号 |
| 2 | stmc | VARCHAR | 40 | 否 | 试题名称 |
| 3 | lx | VARCHAR | 40 | 否 | 类型 |
| 4 | nd | VARCHAR | 40 | 否 | 难度 |
| 5 | km | VARCHAR | 40 | 否 | 科目 |
| 6 | ms | VARCHAR | 40 | 否 | 描述 |
| 7 | zsd | VARCHAR | 40 | 否 | 知识点 |
| 8 | tp | VARCHAR | 40 | 否 | 图片 |

代码设计

  /**组卷列表 查询zujuan
	 * 
	 */
    @RequestMapping(value = "listpage")
    public ModelAndView  listpage(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("zujuan/zujuanlist");//跳转jsp 页面

        String zjid=(String)request.getParameter("zjid");
        if(zjid!=null&&!zjid.equals("")){//判断组卷编号
           // System.out.println(zjid);
            map.put("zjid",zjid);//拼接sql语句组卷编号
        }
        String st=(String)request.getParameter("st");
        if(st!=null&&!st.equals("")){//判断试题
           // System.out.println(st);
            map.put("st",st);//拼接sql语句试题
        }
        String sj=(String)request.getParameter("sj");
        if(sj!=null&&!sj.equals("")){//判断试卷
           // System.out.println(sj);
            map.put("sj",sj);//拼接sql语句试卷
        }
        String fz=(String)request.getParameter("fz");
        if(fz!=null&&!fz.equals("")){//判断分值
           // System.out.println(fz);
            map.put("fz",fz);//拼接sql语句分值
        }
        if(request.getSession().getAttribute("yhm")!=null){
            map.put("yh",request.getSession().getAttribute("yh"));//拼接sql语句分值
        }

        List<zujuan> list=zujuandao.getAll(map);//查询zujuan 表数据返回 list对象

        mav.addObject("list",list);//赋值变量
       

        return mav;
    }



    /**组卷添加方法 对表 zujuan 进行批量自动添加
     *
     */
    @RequestMapping(value = "zidong")
    public ModelAndView  zidong(HttpServletRequest request, HttpServletResponse response){

        try {
            request.setCharacterEncoding("gb2312");//强制字符集
        }catch(Exception e){//捕获异常
            e.printStackTrace();
        }

        ModelAndView mav = new ModelAndView();//初始化
        mav.setViewName("zujuan/add");//跳转页面
        zujuan bean=new zujuan();

        String km=(String)request.getParameter("km");//组卷编号 变量



        String sj=(String)request.getParameter("sj");//试卷 变量

      //  String fz=(String)request.getParameter("fz");//分值 变量




        String[] lx = request.getParameterValues("lx");//类型数组

        String[] nd = request.getParameterValues("nd");//难度数组

        String[] num = request.getParameterValues("num");//难度数组

        String[] fz = request.getParameterValues("fz");

        DBO db=new DBO();

        String sql="";

        ResultSet rs=null;
      int a=0;
        sql="";
      String nda="";

      int all=0;
        try{

            for(int i=0;i<lx.length;i++){
                //lx[i]  是类型
                    nda="";
                a=Integer.parseInt(num[i]);

                if(nd[i]!=null){

                    nda=nd[i];
                }



                if(a>0){

                    sql="select * from shiti where km='"+km+"' and lx='"+lx[i]+"' ";


                    if(!nda.equals("")){
                        sql+=" and nd='"+nda+"'";

                    }

                    sql+="limit 0,"+a+"";

                    System.out.println(sql);
                    db.open();
                    rs=db.query(sql);
                    while(rs.next()){

                    sql="insert into zujuan (sj,st,fz) values('"+sj+"','"+rs.getString("stid")+"','"+fz[i]+"')";

                    db.open();
                    db.update(sql);


                    all=all+Integer.parseInt(fz[i]);

                    }

                }



            }


        sql="update shijuan set zf=zf+"+all+"  where sjid='"+sj+"'";
            db.open();
            db.update(sql);


        }catch(Exception e){
            e.printStackTrace();
        }finally {
            db.close();
        }
        request.setAttribute("msg", "<script>alert('自动组卷成功');</script>");//操作提示





          return mav;

    }

三、注意事项

1、管理员账号:admin密码:admin 数据库配置文件src\main\resources 下的 application.properties

2、开发环境为IDEA开发,数据库为mysql,使用java语言开发。

3、数据库文件名是jspspexam.sql 系统名称spexam

4、地址:login.jsp

四 系统实现

下载地址:

https://download.csdn.net/download/qq_41221322/88942810

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

相关推荐
m0_571957581 小时前
Java | Leetcode Java题解之第543题二叉树的直径
java·leetcode·题解
并不会1 小时前
常见 CSS 选择器用法
前端·css·学习·html·前端开发·css选择器
衣乌安、1 小时前
【CSS】居中样式
前端·css·css3
兔老大的胡萝卜1 小时前
ppk谈JavaScript,悟透JavaScript,精通CSS高级Web,JavaScript DOM编程艺术,高性能JavaScript pdf
前端·javascript
低代码布道师1 小时前
CSS的三个重点
前端·css
耶啵奶膘2 小时前
uniapp-是否删除
linux·前端·uni-app
魔道不误砍柴功3 小时前
Java 中如何巧妙应用 Function 让方法复用性更强
java·开发语言·python
NiNg_1_2343 小时前
SpringBoot整合SpringSecurity实现密码加密解密、登录认证退出功能
java·spring boot·后端
闲晨3 小时前
C++ 继承:代码传承的魔法棒,开启奇幻编程之旅
java·c语言·开发语言·c++·经验分享
王哈哈^_^4 小时前
【数据集】【YOLO】【目标检测】交通事故识别数据集 8939 张,YOLO道路事故目标检测实战训练教程!
前端·人工智能·深度学习·yolo·目标检测·计算机视觉·pyqt