原ssm框架调整为于springboot框架实验报告管理系统

系统之一(框架更新为springboot实验报告管理系统mysql)

本系统角色把控分别为:管理员、老师、学生
以下将以图片的形式,对系统进行一个大致展示,(注:如有需要,可加Q:873563540,或私信本账号)

项目针对人群,主要是有需要毕业设计的个人为主,

此项目的主要功能模块为(下方会在文字说明之后,进行图文展示):
1、教师信息(学生信息)的基本增删改查、其中支持批量操作(项目内针对有规则的信息都支持批量操作,
有需要根据规则生成的需求可以另行讨论),
2、课程信息动态修改、根据不同的教师所担任的课程对课程的学习到课程的
实验结果(考试)、一站式处理
3、在某学生的是否参与实验、实验结果是否合格、实验期间是否有说明性文
件。进行统一性管理。
4、..........................................

管理员页面

1、登录界面

在这里插入图片描述
2、系统内部
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
数据导出
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择实验课程
在这里插入图片描述
修改实验报告单模板
在这里插入图片描述
学生实验报告成绩展示
在这里插入图片描述

部分代码

/**
     * 绘出验证码
     *
     * @param output
     * @return
     */
    private String drawCodeImg(ByteArrayOutputStream output) {
        String code = "";
        for (int i = 0; i < 4; i++) {
            code += randomChar();
        }

        int width = 70;
        int height = 36;
        BufferedImage bImage = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR);
        Font font = new Font("Times New Roman", Font.PLAIN, 20);
        Graphics2D graphics = bImage.createGraphics();
        graphics.setFont(font);
        graphics.setColor(new Color(66, 2, 82));
        graphics.setBackground(new Color(226, 226, 240));
        graphics.clearRect(0, 0, width, height);
        FontRenderContext context = graphics.getFontRenderContext();
        Rectangle2D bounds = font.getStringBounds(code, context);
        double x = (width - bounds.getWidth()) / 2;
        double y = (height - bounds.getHeight()) / 2;
        double ascent = bounds.getY();
        double baseY = y - ascent;
        graphics.drawString(code, (int) x, (int) baseY);
        graphics.dispose();
        try {
            ImageIO.write(bImage, "jpg", output);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return code;
    }
//密码校验
  public String setting(HttpSession session, String oldPswd, String newPswd) {
    oldPswd = oldPswd.toUpperCase();
    newPswd = newPswd.toUpperCase();
    User user = (User) session.getAttribute(StrUtil.USER);
    int res = 0;
    if (StrUtil.ADMIN.equals(user.getUserType())) {
      Admin admin = (Admin) user;
      if (admin.getPassword().equals(oldPswd)) {
        admin.setPassword(newPswd);
        session.setAttribute(StrUtil.USER, admin);
        res = adminService.update(admin);
				if (res > 0) {
					return StrUtil.RESULT_TRUE;
				}
      } else {
        return "密码错误!";
      }
    } else if (StrUtil.TEACHER.equals(user.getUserType())) {
      Teacher t = (Teacher) user;
      if (t.getPassword().equals(oldPswd)) {
        t.setPassword(newPswd);
        res = teacherService.updateTeacher(t);
				if (res > 0) {
					return StrUtil.RESULT_TRUE;
				}
      } else {
        return "密码错误!";
      }
    } else {
      Student stu = (Student) user;
      if (stu.getPassword().equals(oldPswd)) {
        stu.setPassword(newPswd);
        res = studentService.updateStudent(stu);
				if (res > 0) {
					return StrUtil.RESULT_TRUE;
				}
      } else {
        return "密码错误!";
      }
    }
    return "操作失败!";
  }
  /**
   * 返回选修了我课程的学生列表
   *
   * @return
   */
  
  public String getMyStudentList(int curr, int nums, HttpSession session) {
    Teacher t = (Teacher) session.getAttribute(StrUtil.USER);
    Pagination<Student> page = new Pagination<Student>();

    page.setTotalItemsCount(15);
    page.setPageSize(nums);
    page.setPageNum(curr);

    List<TemplateStudent> list = studentService.getStudentListByTid(page, t.getId(), cId);

    String jsonStr = StrUtil.RETURN_JONS_PRE_STR
        + page.getTotalItemsCount()
        + StrUtil.RETURN_JONS_MID_STR
        + JSON.toJSONString(list)
        + StrUtil.RETURN_JONS_END_STR;
    System.out.println(jsonStr);
    return jsonStr;
  }
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>修改密码</title>
	<link rel="stylesheet" href="/layui/css/layui.css" media="all" />
	<link rel="stylesheet" href="/css/public.css" media="all" />
</head>
<body class="childrenBody">
<form class="layui-form layui-row changePwd">
	<div class="layui-col-xs12 layui-col-sm6 layui-col-md6">
		<div class="layui-form-item">
			<label class="layui-form-label">旧密码</label>
			<div class="layui-input-block">
				<input id="oldPwd" type="password" value="" placeholder="请输入旧密码" lay-verify="required" class="layui-input pwd">
			</div>
		</div>
		<div class="layui-form-item">
			<label class="layui-form-label">新密码</label>
			<div class="layui-input-block">
				<input type="password" value="" placeholder="请输入新密码" lay-verify="required" id="newPwd" class="layui-input pwd">
			</div>
		</div>
		<div class="layui-form-item">
			<label class="layui-form-label">确认密码</label>
			<div class="layui-input-block">
				<input type="password" value="" placeholder="请确认密码" lay-verify="required" id="reNewPwd" class="layui-input pwd">
			</div>
		</div>
		<div class="layui-form-item">
			<div class="layui-input-block">
				<button class="layui-btn" lay-submit="" lay-filter="changePwd">立即修改</button>
				<button type="reset" class="layui-btn layui-btn-primary">重置</button>
			</div>
		</div>
	</div>
</form>
<script type="text/javascript" src="/layui/layui.js"></script>
<script type="text/javascript" src="/js/md5.js"></script>
<script type="text/javascript">
layui.use(['form','layer'],function(){
    var form = layui.form,
        layer = parent.layer === undefined ? layui.layer : top.layer,
        $ = layui.jquery;
    
    form.on("submit(changePwd)",function(data){
    	var oldPwd = $("#oldPwd").val();
    	var newPwd = $("#newPwd").val();
    	var reNewPwd = $("#reNewPwd").val();
    	if (reNewPwd != newPwd) {
    		layer.msg("两次密码不一致!", {icon: 5,time:1000});
    		return false;
    	}
    	//弹出loading
        var index = top.layer.msg('数据提交中,请稍候',{icon: 16,time:false,shade:0.8});
        $.ajax({
    		type: 'post',
    		url: '/pswd/setting',
    		data: {
	            oldPswd : hex_md5(oldPwd),
	            newPswd : hex_md5(newPwd)
			},
			timeout:2000,
    		success:function(msg) {
				top.layer.close(index);
				if (msg == 'true') {
					top.layer.msg("修改成功!");
				}else {
					layer.msg(msg, {icon: 5,time:1000});
				}
				layer.closeAll("iframe");
			},
    		error:function() {
    			layer.msg("操作失败!", {icon: 5,time:1000});
    			layer.close(index);
    		}
    	});
        return false;
    });

});
</script>
</body>
</html>
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值