Java前后端分离基于SSM的某院学生体测管理系统设计与实现

前言

  陕商院学生体测管理系统利用Java语言开发的一款基于SSM管理系统,数据存储到MySQL中。本文先充分调查陕商院学生体测管理系统的需求分析,深入剖析系统应该具有的功能,并设计完善的数据库。利用成熟的开发技术完成编码工作,最后进行投入前的测试工作。最终,完成前台和后台的陕商院学生体测管理系统的功能,主要包括学生信息管理、体质测试管理、测试报告管理、成绩管理等,通过前后台实现数据的传递。本系统的使用势必会提高学生的体测管理工作,对教师的工作也起到了一定的辅助作用,学生可以不受时空限制的在线查询体测成绩,提高了查询效率。

关键词:学生;体测管理;陕商院;B/S;SSM

一、项目介绍

  陕商院学生体测管理系统,需要先进行登录,登录后确定权限,进行操作。包括老师管理、学生管理、首页、体质测试、公告资讯、留言板、个人中心、成绩查询功能。

二、开发环境

开发语言:Java
框架:ssm
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven
————————————————

三、功能介绍

  系统分为三种用户角色,管理员、老师和学生。下面对各种用户角色给你进行设计。
在这里插入图片描述

图4.2系统结构图

陕商院学生体测管理系统的管理员部分,主要功能包括修改登录密码、老师信息管理、学生信息管理以及分数统计功能。
管理员功能模块
(1)管理员登录:管理员通过输入用户,密码,选择角色等信息进行系统登录,管理员登录进入大学生体质测试管理系统可以查看首页、个人中心、用户管理、教师管理、体质测试管理、测试报告管理、测试成绩管理、留言板、系统管理等内容进行详细操作。
(2)用户管理:在用户管理页面可以对索引、用户账号、用户姓名、性别、班级、联系方式、头像等内容详情、修改或删除等操作。
(3)教师管理:在教师管理页面可以对教师工号、教师姓名、性别、职称、联系电话、头像等内容进行详情、修改或删除等操作。
(4)体质测试管理:在体质测试管理页面可以对索引、测试编号、测试名称、测试文件、图片、发布日期、教师工号、教师姓名等内容进行详情、修改或删除等操作。
(5)测试报告管理:在测试报告管理页面可以对索引、测试编号、测试名称、教师工号、教师姓名、报告文件、提交日期、用户账号、用户姓名、班级等内容进行详情、修改或删除等详细的操作。
(6)测试成绩管理:在测试报告管理页面可以对索引、测试编号、测试名称、教师工号、教师姓名、报告文件、提交日期、用户账号、用户姓名、班级等内容进行详情、修改或删除等详细的操作。
(7)留言板:在留言板页面可以对索引、用户名、留言内容、留言图片、回复内容、回复图片等内容进行详情、修改、回复或删除等操作。
4.2.2老师功能设计
教师功能模块包括:
(1)教师注册:在体质测试管理页面中可以对索引、测试编号、测试名称、测试文件、图片、发布日期、教师工号、教师姓名等内容进行详细等操作。
(2)体质测试管理:在体质测试管理页面中可以对索引、测试编号、测试名称、测试文件、图片、发布日期、教师工号、教师姓名等内容进行详细等操作。
(3)测试报告管理:在测试报告管理页面中可以对索引、测试编号、测试名称、教师工号、教师姓名、报告文件、提交日期、用户账号、用户姓名、班级等内容进行详细等操作
4.2.3学生用户功能设计
系统的功能模块:大学生体质测试管理系统,在系统首页可以查看首页、体质测试、公告资讯、留言板、个人中心、后台管理等内容进行详细操作。
(1)体质测试:在体质测试页面可以查看测试名称、测试编号、测试说明、测试文件、发布日期、教师工号等内容进行测试等操作。
(2)用户注册:通过填写用户账号、密码、确认密码、用户姓名、班级、联系方式等内容进行注册等操作。
(3)个人中心:在个人中心页面通过填写用户账号、密码、用户姓名、性别、班级、联系方式、图片等内容进行更新信息等操作。
用户进入大学生体质测试管理系统可以查看首页、个人中心、测试报告管理、测试成绩管理等内容进行详细操作。在测试报告管理页面中可以对索引、测试编号、测试名称、教师工号、教师姓名、报告文件、提交日期、用户账号、用户姓名、班级等内容进行详情或删除等详细的操作。

四、核心代码

部分代码:

package com.example.controller;

import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.example.common.Result;
import com.example.common.ResultCode;
import com.example.entity.Caiwu;
import com.example.exception.CustomException;
import com.example.service.CaiwuService;
import com.example.utils.MapWrapperUtils;
import com.example.utils.jwt.JwtUtil;
import com.example.vo.CaiwuVo;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping(value = "/caiwu")
public class CaiwuController {

    @Resource
    private CaiwuService caiwuService;

    @PostMapping
    public Result<Caiwu> add(@RequestBody CaiwuVo caiwu) {
        caiwuService.add(caiwu);
           return Result.success(caiwu);
    }
	
	

    @PostMapping("/deleteList")
    public Result<Caiwu> deleteList(@RequestBody CaiwuVo caiwu) {
        caiwuService.deleteList(caiwu.getList());
        return Result.success();
    }

    @DeleteMapping("/{id}")
    public Result delete(@PathVariable Long id) {
        caiwuService.delete(id);
        return Result.success();
    }

    @PutMapping
    public Result update(@RequestBody CaiwuVo caiwu) {
        caiwuService.update(caiwu);
        return Result.success();
    }

    @GetMapping("/{id}")
    public Result<Caiwu> detail(@PathVariable Integer id) {
        Caiwu caiwu = caiwuService.findById(id);
        return Result.success(caiwu);
    }

    @GetMapping
    public Result<List<Caiwu>> all() {
        return Result.success(caiwuService.list());
    }

    @PostMapping("/page")
    public Result<CaiwuVo> page(@RequestBody CaiwuVo caiwuVo) {
        return Result.success(caiwuService.findPage(caiwuVo));
    }
	    @PostMapping("/login")
    public Result login(@RequestBody Caiwu caiwu, HttpServletRequest request) {
        if (StrUtil.isBlank(caiwu.getZhanghao()) || StrUtil.isBlank(caiwu.getMima())) {
            throw new CustomException(ResultCode.PARAM_LOST_ERROR);
        }
        Caiwu login = caiwuService.login(caiwu);
//        if(!login.getStatus()){
//            return Result.error("1001","状态限制,无法登录系统");
//        }
        if(login != null) {
            HashMap hashMap = new HashMap();
            hashMap.put("user", login);
            Map<String, Object> map = MapWrapperUtils.builder(MapWrapperUtils.KEY_USER_ID,caiwu.getId());
            String token = JwtUtil.creatToken(map);
            hashMap.put("token", token);
            return Result.success(hashMap);
        }else {
            return Result.error();
        }
    }
    @PutMapping("/updatePassword")
    public Result updatePassword(@RequestBody Caiwu info, HttpServletRequest request) {
        Caiwu caiwu = caiwuService.findById(info.getId());
        String oldPassword = SecureUtil.md5(info.getMima());
        if (!oldPassword.equals(caiwu.getMima())) {
            return Result.error(ResultCode.PARAM_PASSWORD_ERROR.code, ResultCode.PARAM_PASSWORD_ERROR.msg);
        }
        info.setMima(SecureUtil.md5(info.getNewPassword()));
        Caiwu caiwu1 = new Caiwu();
        BeanUtils.copyProperties(info, caiwu1);
        caiwuService.update(caiwu1);
        return Result.success();
    }
}

五、效果图

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

六、文章目录

目 录
1 绪论 1
1.1 系统开发背景 1
1.2 系统开发意义 1
1.3 本文研究内容 2
2系统相关技术 3
2.1 SSM框架 3
2.2 MySQL数据库 4
2.3 Java语言 4
3需求分析 6
3.1功能需求分析 6
3.2系统主要业务流程 8
3.3非功能需求分析 10
4系统设计 12
4.1系统体系结构 12
4.2系统功能结构 13
4.2.1管理员功能设计 13
4.2.2老师功能设计 14
4.2.3学生用户功能设计 14
4.3数据库设计 15
4.3.1数据库E-R图 15
4.3.2数据库表设计 16
5系统实现 18
5.1前台功能实现 18
5.1.1 学生登录功能实现 18
5.1.2前台主页界面 18
5.1.3在线体质功能 19
5.1.4我的体质成绩功能 19
5.2管理员和老师端功能实现 20
5.2.1老师信息管理功能 20
5.2.2学生信息管理功能 21
5.3.3体质测试信息管理功能 21
5.3.4测试报告信息管理功能 22
5.3.5成绩信息管理功能 23
6系统测试 24
6.1测试目的 24
6.2测试用例 24
6.3测试分析 26
结论与展望 28
致 谢 30
参考文献 32

  • 24
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值