一、项目介绍
生物保护网站是一个专注于生物多样性保护、濒危物种恢复和生态环境维护的在线平台。该网站致力于提供全面的生物保护信息,增强公众对生物多样性的认识,推动科学研究和国际合作,以实现全球生物保护的目标。
目前在本课题范围内,分析了管理生物知识对生物的管理现状和现有的用户对管理生物知识的服务的要求。根据题目的要求,我选择基于Spring Boot的框架来开发生物保护网站,开发工具软件选择Eclipse,前端开发选择的是目前较为流行的Vue框架,数据库选择MySQL数据库。本系统采用的是B/S模式,web方向的研发,还需要Tomcat作为WEB服务器来运行项目,另外还使用了Spring和Mybatis框架技术。系统具有专门的供用户使用的前台和专门供管理生物知识使用的后台。生物保护网站根据需求分析,分为两个模块,分别为前台模块和后台模块,其中前台网站模块用户和管理员都可以使用,而后台模块管理员可以使用,另外用户可以登录自己的后端系统进行个人信息功能的管理。
生物保护网站通过整合全球生物保护资源,促进信息共享和公众参与,为生物多样性保护和生态环境改善发挥重要作用。
关键词:生物保护网站;MySQL数据库;SpringBoot技术B/S
二、开发环境
开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven
————————————————
三、功能介绍
根据需求调研结果确定本系统主要包括以下功能模块,如图3.1所示。
图3.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();
}
}
五、效果图
六、文章目录
目 录
摘 要 I
Abstract II
第1章 生物知识概述 1
1.1 问题描述 1
1.2 系统目标 1
1.3 系统适用范围 1
1.4 系统应遵守的规范与标准 1
1.5 涉众 1
第2章 需求分析 2
2.1 业务需求 2
2.1.1 业务流程 2
2.1.2 业务对象 4
2.2 功能性需求 4
2.2.1 用例概述 4
2.2.2 用例细化描述 5
2.3 非功能性需求 11
2.4 运行环境 11
第3章 系统设计 13
3.1 技术路线 13
3.2 软件体系结构设计 14
3.2.1 功能结构 14
3.2.2 系统架构 14
3.3 数据库设计 15
3.3.1 概念结构设计 15
3.3.2 表的详细设计 16
3.4 对象设计 18
3.4.1 管理生物知识信息用例对象设计 18
3.4.2 管理生物知识流程用例对象设计 21
3.4.3 管理生物知识信息用例对象设计 22
3.4.4 用例对象设计 24
3.4.5 登录用例对象设计 25
3.4.6 管理生物知识更改密码用例对象设计 27
第4章 系统实现 29
4.1 核心功能实现 29
4.2 关键技术难点与解决方案 32
4.3 编码规范 33
第5章 系统测试 34
5.1 功能测试 34
5.2 测试总结 36
第6章 结论与展望 38
参考文献 39
致 谢 40