java毕业设计基于springboot的考研互助交流平台

一、项目介绍

  随着社会的发展,大学生考研的管理形势越来越严峻。越来越多的用户利用互联网获得信息,但考研信息鱼龙混杂,信息真假难以辨别。为了方便用户更好的获得本考研信息,因此,设计一种安全高效的考研互助交流系统极为重要。
为设计一个安全便捷,并且使用户更好获取本考研信息,本文主要有安全、简洁为理念,实现用户快捷寻找考研信息,从而解决考研信息复杂难辨的问题。该系统采用PHP语言和mysql数据库进行开发设计,通过对考研互助交流管理流程的分析,分析了其功能性和非功能性需求,设计了考研互助交流系统,该平台包括管理员和用户两部分。同时还能为用户提供一个方便实用的考研互助交流系统,使得用户能够及时地找到合适自己的考研信息。管理员在使用本系统时,可以通过后台管理员界面管理用户的信息,也可以发布系统公告,让用户及时了解考研信息。这样,用户就可以安全高效地找到考研信息。

关键词:考研互助交流

二、开发环境

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

三、功能介绍

需求分析,也称为软件需求分析、系统需求分析或需求分析工程,是指开发人员经过充分的研究和分析,准确地理解用户和项目在功能、性能、可靠性等方面的具体需求,并将用户的非正式需求表述转化为确定系统必须执行的需求的完整定义的过程[11]。
功能需求分析是系统设计的前提,它要求开发者和用户定义开发什么样的体系和系统需要什么样的功能。本文主要介绍了一种基于java的考研互助交流系统。该系统为用户找到考研信息提供了更安全、更高效、更便捷的途径。本系统有两个角色:管理员和用户,要求具备以下功能:
(1)用户可以浏览主页了解考研政策和交流论坛等,并对课程进行在线测评、评论或收藏等操作;
(2)管理员通过后台管理员界面,实现对用户信息管理,或发布系统公告,让用户实时知道最新的考研信息;

本次系统采用java技术,系统总体结构图如图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();
    }
}

五、效果图

请添加图片描述

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

六、文章目录

目录
第1章 概 述 3
1.1 开发背景及研究意义 3
1.2 国内外研究现状和发展趋势 3
1.3 本文主要研究的内容 4
第2章 关键技术介绍 5
2.1 开发环境 5
2.2 java技术 5
2.3 MySQL数据库 6
2.4 B/S架构 6
2.5 本章小结 6
第3章 系统分析 7
3.1 系统概述 7
3.2 需求分析 7
3.3 可行性分析 7
3.3.1 技术可行性分析 8
3.3.2 经济可行性分析 8
3.4 系统流程分析 8
3.4.1 登录流程图 8
3.4.2 添加新用户流程图 9
3.5 本章小结 10
第4章 系统设计 11
4.1 系统基本结构设计 11
4.2 数据库设计 11
4.2.1 数据库E-R图设计 12
4.2.2 数据库表设计 13
4.3 本章小结 21
第5章 界面设计与功能实现 22
5.1系统功能实现 22
5.2 后台功能实现 25
5.2.1管理员模块实现 25
5.2.2用户模块实现 32
5.3 本章小结 32
第6章 系统测试 33
6.1 系统测试的目的 33
6.2 系统功能测试 33
6.2.1 登录注册功能测试 33
6.2.2. 用户管理功能测试 34
6.3 本章小结 34
结 论 35
参考文献 36
致 谢 37

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值