Java毕业设计基于springboot流浪猫狗救助救援网站

本文介绍了如何利用Java、SpringBoot和B/S架构开发了一个用于流浪猫狗救助救援管理的网站,包括用户管理和管理员功能,以及数据库设计。系统通过简化流程提高效率,满足了对时效性和信息安全的需求。
摘要由CSDN通过智能技术生成

一、项目介绍

  
互联网日益成熟,走进千家万户,改变多个行业传统的管理方式。流浪猫狗救助救援管理以用户需求为基础,借由发展迅猛的互联网平台实现流浪猫狗救助救援管理的信息化,简化旧时流浪猫狗救助救援管理所需的纸质记录这一繁杂过程,从而大幅提高流浪猫狗救助救援信息获取与传播速度。
基于此背景,本研究结合管理员即时发布流浪猫狗救助救援信息与用户的需求,设计并实现了流浪猫狗救助救援网站。系统采用B/S架构,java语言作为主要开发语言,MySQL技术创建和管理数据库。系统主要分为管理员和用户两大功能模块。通过系统,管理员使用日常浏览器即可随时完成流浪猫狗救助救援信息发布,契合流浪猫狗救助救援管理对时效性需求的同时提高工作效率。最终,根据各个功能模块的测试结果可知流浪猫狗救助救援网站功能基本完善。

关键词:java语言;流浪猫狗救助救援; B/S结构; MySQL

二、开发环境

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

三、功能介绍

首先,在系统中需要实现对基础信息,包括登录注册、个人信息修改等信息的管理,这些是系统的基础信息,和系统中其他内容密切相关。
然后,系统中需要实现对用户信息的管理,允许管理员对用户信息进行必要的设置,同时要避免管理员对个人信息进行操作,保障用户的信息安全。

(1)系统的通用功能包括用户登录和密码修改,是两个角色共同需要使用的功能,用例分析如图3-1所示。
在这里插入图片描述

图3-1 系统通用功能用例分析图

(2)管理员可以对个人中心、用户管理、宠物分类管理、知识类型管理、流浪猫狗管理、领养信息管理、流浪猫狗知识管理、团队信息管理、活动分类管理、活动信息管理、志愿申请管理、系统管理等进行基本的信息管理。其用例分析如图3-2所示。
在这里插入图片描述

图3-2 管理员用例图

(3) 用户进入系统可以对个人中心、领养信息管理、志愿申请管理等功能进行操作,用例分析如图3-3所示。
在这里插入图片描述

图3-3用户用例图

系统的建设可以为流浪猫狗救助救援管理提供帮助,通过对一些基础信息管理实现针对性的安排,可以按照用户的角色权限使不同用户角色看到不一样的信息界面。现根据需求阶段的分析,我们可以大致确定系统需要包含的功能如下图所示:
系统总体结构图如下,见图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
1.1研究背景 1
1.2系统研究现状 1
1.3 研究意义 2
1.4 研究方法和设计思路 2
1.4.1研究方法 2
1.4.2设计思路 2
第二章 开发工具和开发技术 4
2.1开发工具 4
2.2 开发技术 4
2.2.1 Java语言 4
2.2.2 Spring Boot框架 4
2.2.3 B/S架构 5
第三章 需求分析 6
3.1 需求描述 6
3.2可行性分析 6
3.2.1技术可行性分析 6
3.2.2 经济可行性分析 6
3.2.3 环境运行可行性分析 7
3.2.4 法律可行性分析 7
3.3 系统功能需求分析 7
3.4 非功能性需求分析 8
3.5 系统流程分析 9
3.5.1 登录流程 9
3.5.2 添加信息流程 9
3.5.3 删除流程 10
3.6 本章小结 11
第四章 系统设计 12
4.1 系统总体设计 12
4.2 数据库设计 12
4.2.1 数据库逻辑设计 13
4.2.2 数据库表设计 14
4.3 本章小结 21
第五章 详细设计与实现 22
5.1系统功能实现 22
5.2后台模块实现 24
5.2.1管理员模块实现 25
5.2.2用户功能实现 29
5.3 本章小结 30
第六章 系统测试 31
6.1 测试目的 31
6.2 测试用例 31
6.3 本章小结 32
结 论 33
参考文献 34
致 谢 35

  • 22
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值