SSM基于web的研究生管理系统

收藏关注不迷路,源码文章末


前言

  随着社会的不断进步与发展,人们对生活质量要求逐步提升。如果开发一款基于web的研究生管理系统,可以让管理员、研究生和导师在最短的时间里享受到最好的服务;而开发本系统,又能够提高系统整体工作水平,简化工作程序,这对管理员、研究生和导师来说都是一件非常乐意的事情。
本论文针对研究生管理系统的特点,以Java为核心,以MySQL为数据库,B/S为系统构架,对研究生管理系统进行设计和开发。通过使用本系统可有效地减少运营成本,提高管理效率。

关键词:Java;研究生; MySQL数据库;

一、项目介绍

  根据近年来学校的发展情况,结合文献资料,对研究生管理的信息化;至此,开发具有一定的技术可行性和安全性。
该系统的核心内容是对首页,个人中心,研究生管理,导师管理,导师信息管理,课程分类管理,课程信息管理,选课信息管理,考级级别管理,考级信息管理,考级报名管理,学籍信息管理,学位管理,学位申请管理,成绩信息管理,教务信息管理,系统管理模块的管理。有关的研究生管理系统规定如下:
(1)可行性:该体系应具有可行性,并与研究生管理相适应。
(2)完整:功能模块可以满足系统的要求。
(3)简单:使用简单,维修简单。
(4)安全:安全的系统。

研究生管理系统综合网络空间开发设计要求。目的是将系统传统管理方式转换为在网上管理,完成信息管理的方便快捷、安全性高、交易规范做了保障,目标明确。研究生管理系统可以将功能划分为管理员功能,研究生功能和导师功能。
(1)、管理员用例如下:
在这里插入图片描述

图3-1 管理员用例图
(2)、研究生用例如下:
在这里插入图片描述

图3-2 研究生用例图
(3)、导师用例如下:
在这里插入图片描述

图3-3 导师用例图

二、开发环境

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

三、功能介绍

  研究生管理系统在设计与实施时,采取了模块性的设计理念,把相似的系统的功能整合到一个模组中,以增强内部的功能,减少各组件之间的联系,从而达到减少相互影响的目的。
后台主要功能是:首页,个人中心,研究生管理,导师管理,导师信息管理,课程分类管理,课程信息管理,选课信息管理,考级级别管理,考级信息管理,考级报名管理,学籍信息管理,学位管理,学位申请管理,成绩信息管理,教务信息管理,系统管理等功能。系统总体功能结构图如图4-1所示。
在这里插入图片描述

图4-1 系统总体功能结构图

四、核心代码

部分代码:

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();
    }
}

五、效果图

请添加图片描述

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

六、文章目录

目录

第一章 绪论 2
1.1研究背景 2
1.2社会调查 2
1.3研究意义 3
1.4研究内容 3
第二章 关键技术介绍 4
2.1 Java技术 4
2.2 SSM框架 4
2.3 Tomcat技术 5
2.4 MySQL数据库 5
2.5 B/S模式 5
第三章 系统分析 6
3.1业务需求分析 6
3.2系统的非功能需求分析 7
3.3系统可行性分析 7
3.3.1 技术可行性 7
3.3.2 经济可行性 7
3.3.3 操作可行性 7
3.4 系统用例分析 8
3.5 系统流程分析 9
3.5.1 登录流程 9
3.5.2 添加信息流程 9
3.5.3 删除流程 10
第四章 系统设计 11
4.1系统的框架设计 11
4.2系统功能模块设计 11
4.3 数据库设计 12
4.3.1数据库概念设计 12
4.3.2 数据库表设计 15
第五章 系统实现 27
5.1系统功能实现 27
5.2后台模块实现 28
5.2.1管理员模块实现 29
5.2.2研究生模块实现 33
5.2.3导师模块实现 35
第六章 系统测试 36
6.1系统测试的方法 36
6.1.1白盒测试法 36
6.1.2黑盒测试法 36
6.2系统测试用例 37
结论 38
参考文献 39
致 谢 40

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QQ1039692211

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值