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