基于javaweb+mysql的springboot爱心捐赠平台系统(java+springboot+vue+elementui+mysql)
私信源码获取及调试交流
运行环境
Java≥8、MySQL≥5.7、Node.js≥10
开发工具
后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SpringBoot爱心捐赠平台系统(java+springboot+vue+elementui+mysql)
项目介绍 本项目分两种角色:管理员、用户。
项目功能:注册、登录、修改密码、公告消息、爱心机构、公益广告、捐赠项目、轮播图、用户管理、资源管理、模块管理等等功能。
环境需要 1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
4.数据库:MySql 5.7版本;
5.是否Maven项目:是;
技术栈 SpringBoot + FreeMarker + JPA
使用说明 1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
-
使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令,然后运行;
-
将项目中application-dev.properties配置文件中的数据库配置改为自己的配置;
private LogInfoService logInfoService;
/*
* 跳转到登录页面
*/
@RequestMapping("toLogin")
public String tologin() {
return"system/main/login";
/*
* 登录方法
*/
@RequestMapping("login")
public String login(UserVo userVo, Model model) {
// 最外层的if是判断session是否为空 为空就跳转到登录界面
// 把原来的删除
Useruser=this.userService.queryUserInfo(userVo.getUserid());
AppFileUtils.removeFileByPath(user.getHeadimg());
this.userService.updateUserInfo(userVo);
return ResultObj.UPDATE_SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ResultObj.UPDATE_ERROR;
/*
* 查询个人信息
*/
} catch (Exception e) {
e.printStackTrace();
return ResultObj.RESET_ERROR;
/*
* 加载用户管理分配的分配角色的数据
*/
@RequestMapping("initUserRole")
public DataGridView initUserRole(UserVo userVo) {
returnthis.userService.queryUserRole(userVo.getUserid());
/*
* 保存用户和角色的关系
*/
@RequestMapping("saveUserRole")
* 用户登录控制器
*/@Controller@RequestMapping("login")publicclassLoginController {
@Autowired
private UserService userService;
@Autowired
private LogInfoService logInfoService;
/*
* 跳转到登录页面
*/
@RequestMapping("toLogin")
public String tologin() {
*/
@RequestMapping("deleteRole")
public ResultObj deleteRole(RoleVo roleVo) {
try {
this.roleService.deleteRole(roleVo.getRoleid());
return ResultObj.DELETE_SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ResultObj.DELETE_ERROR;
/*
* 批量删除角色
*/
*/
@RequestMapping("login")
public String login(UserVo userVo, Model model) {
// 最外层的if是判断session是否为空 为空就跳转到登录界面
// uservo不可能为空的,只是里面的属性可能为空 所以要判断session是否为空 就要判断里面的属性 而不是判断userVo本身 (坑!)
if (null != userVo.getLoginname()) {
// String code = WebUtils.getHttpSession().getAttribute("code").toString();// if (userVo.getCode().toLowerCase().equals(code)) {
Useruser=this.userService.login(userVo);
if (null != user) {
// 放入session
*/@RestController@RequestMapping("user")publicclassUserController {
@Autowired
private UserService userService;
/*
* 加载用户列表返回DataGridView
*/
@RequestMapping("loadAllUser")
public DataGridView loadAllmeenu(UserVo userVo) {
returnthis.userService.queryAllUser(userVo);
/*
* 注册用户--查询用户名是否存在
*/
@RequestMapping("deleteBatchRole")
public ResultObj deleteBatchRole(RoleVo roleVo) {
try {
this.roleService.deleteBatchRole(roleVo.getIds());
return ResultObj.DELETE_SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ResultObj.DELETE_ERROR;
/*
* 加载角色管理分配菜单的JSON
*/
@RequestMapping("updateRole")
public ResultObj updateRole(RoleVo roleVo) {
try {
this.roleService.updateRole(roleVo);
return ResultObj.UPDATE_SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ResultObj.UPDATE_ERROR;
/*
* 删除角色
} catch (Exception e) {
e.printStackTrace();
return ResultObj.DELETE_ERROR;
/*
* 加载角色管理分配菜单的JSON
*/
@RequestMapping("initRoleMenuTreeJson")
public DataGridView initRoleMenuTreeJson(Integer roleid) {
System.out.println(roleid);
returnthis.roleService.initRoleMenuTreeJson(roleid);
/**
* 得到登录验证码
* @throws IOException
*/
@RequestMapping("getCode")
publicvoidgetCode(HttpServletResponse response, HttpSession session)throws IOException {
// 定义图形验证码的长和宽
LineCaptchalineCaptcha= CaptchaUtil.createLineCaptcha(116, 36, 4, 50);
Console.log(lineCaptcha.getCode());
session.setAttribute("code", lineCaptcha.getCode());
ServletOutputStreamoutputStream= response.getOutputStream();
ImageIO.write(lineCaptcha.getImage(), "JPEG", outputStream);
角色管理控制层:
@Autowired
private RoleService roleService;
/*
* 加载角色列表返回DataGridView
*/
@RequestMapping("loadAllRole")
public DataGridView loadAllmeenu(RoleVo roleVo) {
returnthis.roleService.queryAllRole(roleVo);
/*
* 添加角色
*/
public String tologin() {
return"system/main/login";
/*
* 登录方法
*/
@RequestMapping("login")
public String login(UserVo userVo, Model model) {
// 最外层的if是判断session是否为空 为空就跳转到登录界面
// uservo不可能为空的,只是里面的属性可能为空 所以要判断session是否为空 就要判断里面的属性 而不是判断userVo本身 (坑!)
if (null != userVo.getLoginname()) {
// String code = WebUtils.getHttpSession().getAttribute("code").toString();// if (userVo.getCode().toLowerCase().equals(code)) {
Useruser=this.userService.login(userVo);
if (null != user) {
try {
this.userService.addUser(userVo);
return ResultObj.ADD_SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ResultObj.ADD_ERROR;
/*
* 修改用户
*/
@RequestMapping("updateUser")
public ResultObj updateUser(UserVo userVo) {
try {
publicvoidgetCode(HttpServletResponse response, HttpSession session)throws IOException {
// 定义图形验证码的长和宽
LineCaptchalineCaptcha= CaptchaUtil.createLineCaptcha(116, 36, 4, 50);
Console.log(lineCaptcha.getCode());
session.setAttribute("code", lineCaptcha.getCode());
ServletOutputStreamoutputStream= response.getOutputStream();
ImageIO.write(lineCaptcha.getImage(), "JPEG", outputStream);
角色管理控制层:
/**
* 角色管理控制器
*/@RestController@RequestMapping("role")publicclassRoleController {
// 把原来的删除
Useruser=this.userService.queryUserInfo(userVo.getUserid());
AppFileUtils.removeFileByPath(user.getHeadimg());
this.userService.updateUserInfo(userVo);
return ResultObj.UPDATE_SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ResultObj.UPDATE_ERROR;
/*
* 查询个人信息
*/
@RequestMapping("queryUserInfo")
public User queryUserInfo() {
System.out.println(userVo.getUserid());
try {
this.userService.deleteUser(userVo.getUserid());
return ResultObj.DELETE_SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ResultObj.DELETE_ERROR;
/*
* 批量删除用户
*/
@RequestMapping("deleteBatchUser")
public ResultObj deleteBatchUser(UserVo userVo) {
this.userService.addUser(userVo);
return ResultObj.ADD_SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ResultObj.ADD_ERROR;
/*
* 修改用户
*/
@RequestMapping("updateUser")
public ResultObj updateUser(UserVo userVo) {
try {
this.userService.updateUser(userVo);
return ResultObj.UPDATE_SUCCESS;