Java毕业设计-基于SSM框架的寝室管理系统项目实战(附源码+论文)

大家好!我是岛上程序猿,感谢您阅读本文,欢迎一键三连哦。

💞当前专栏:Java毕业设计

精彩专栏推荐👇🏻👇🏻👇🏻

🎀 安卓app毕业设计
🌎微信小程序毕业设计

开发环境

开发语言:Java
框架:ssm
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql 5.7
数据库工具:Navicat12
开发软件:eclipse/myeclipse/idea
Maven包:Maven3.3.9
浏览器:谷歌浏览器

演示视频

ssm寝室管理系统演示录像2020

源码下载地址:

https://download.csdn.net/download/m0_46388260/88005281

论文目录

【如需全文请按文末获取联系】
在这里插入图片描述
在这里插入图片描述

一、项目简介

寝室管理设计的主要使用者分为管理员、宿舍长和学生,实现功能包括管理员权限:首页、个人中心、学生管理、宿舍号管理、宿舍长管理、宿舍通告管理、卫生通报管理、请假信息管理、设备报修管理、宿舍人员上报管理、优秀宿舍长评比管理、宿舍人员调动管理、留言板管理、系统管理等。宿舍长后台权限:首页、个人中心、请假信息管理、宿舍人员上报管理、优秀宿舍长评比管理、宿舍人员调动管理等等。学生后台权限:首页、个人中心、请假信息管理、设备报修管理等等。前台:首页、宿舍通告、卫生通报、优秀舍长评比、新闻资讯、留言反馈我的、跳转到后台等等。由于本网站的功能模块设计比较全面,所以使得整个寝室管理设计信息管理的过程得以实现。

二、系统设计

2.1软件功能模块设计

整个系统是由多个功能模块组合而成的,要将所有的功能模块都一一列举出来,然后进行逐个的功能设计,使得每一个模块都有相对应的功能设计,然后进行系统整体的设计。
本寝室管理设计结构图如图4-2所示。
在这里插入图片描述

2.2数据库设计

本寝室管理设计采用的是MYSQL数据库,数据存储快,因为寝室管理设计,主要的就是对信息的管理,信息内容比较多,这就需要好好的设计一个好的数据库,分类要清楚,不能添加信息的时候,造成信息太过混乱,设计好的数据库首先就需要先把各个实体之间的关系表达明确,系统的E-R图如下图所示:
1、宿舍长信息实体图如图4-2所示:
在这里插入图片描述
2、学生信息实体图如图4-3所示:
在这里插入图片描述
4.管理员信息管理实体图如图
在这里插入图片描述

三、系统项目部分截图

3.1管理员功能模块

管理员登录,管理员通过输入账号、密码,信息进行系统登录,如图5-1所示。
在这里插入图片描述
学生管理,管理员在学生管理页面通过操作学生账号、学生姓名、宿舍号、密码、性别、邮箱、联系电话等等并进行添加、删除、修改以及查看等操作,如图5-3所示。
在这里插入图片描述
宿舍长管理,管理员在宿舍长管理页面通过操作宿舍长账号、宿舍长姓名、密码、性别、宿舍号、邮箱、联系电话等等并进行添加、删除、修改以及查看等操作,如图5-4所示。
在这里插入图片描述
设备报修管理,管理员在设备报修管理页面通过操作位置、标题、设备名称等等并进行添加、删除、修改以及查看等操作,如图5-6所示。
在这里插入图片描述

3.2宿舍长功能模块

宿舍长前台首页,宿舍长通过前台查看优秀宿舍长评比信息等操作,如图5-10所示。
在这里插入图片描述
宿舍长前台首页,宿舍长通过前台查看卫生通报界信息等操作,如图5-11所示。
在这里插入图片描述
我的管理,宿舍长通过前台查看个人信息进行更新信息、退出登录等操作,如图5-13所示。
在这里插入图片描述
宿舍长进入后台查看优秀宿舍长评比信息页面中可以查看图片、宿舍号、宿舍姓名、评比时间等详细操作,并进行添加、删除、修改以及查看等操作,如图5-15所示。
在这里插入图片描述

3.3学生功能模块

学生在学生管理页面通过操作学生账号、学生姓名、宿舍号、密码、性别、邮箱、联系电话等等并进行添加、删除、修改以及查看等操作,如图5-17所示。
在这里插入图片描述
设备报修管理,学生通过设备报修页面添加位置/标题、设备名称、登记时间、情况说明等等信息进行提交操作,如图5-19所示。
在这里插入图片描述

请假信息管理,在请假信息管理页面中可以查看请假原因、标题、学生账号、学生姓名、请假时间、审核回复等详细操作,如图5-18所示。
在这里插入图片描述

四、部分核心代码

4.1 文件部分

package com.controller;

import java.io.File;
import java.io.IOException;
import java.util.Date;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.ConfigEntity;
import com.entity.EIException;
import com.service.ConfigService;
import com.utils.R;

/**
 * 上传文件映射表
 */
@RestController
@RequestMapping("file")
@SuppressWarnings({"unchecked","rawtypes"})
public class FileController{
	@Autowired
    private ConfigService configService;
	/**
	 * 上传文件
	 */
	@RequestMapping("/upload")
	public R upload(@RequestParam("file") MultipartFile file, String type,HttpServletRequest request) throws Exception {
		if (file.isEmpty()) {
			throw new EIException("上传文件不能为空");
		}
		String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);
		String fileName = new Date().getTime()+"."+fileExt;
		File dest = new File(request.getSession().getServletContext().getRealPath("/upload")+"/"+fileName);
		file.transferTo(dest);
		if(StringUtils.isNotBlank(type) && type.equals("1")) {
			ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));
			if(configEntity==null) {
				configEntity = new ConfigEntity();
				configEntity.setName("faceFile");
				configEntity.setValue(fileName);
			} else {
				configEntity.setValue(fileName);
			}
			configService.insertOrUpdate(configEntity);
		}
		return R.ok().put("file", fileName);
	}
	
	/**
	 * 下载文件
	 */
	@IgnoreAuth
	@RequestMapping("/download")
	public void download(@RequestParam String fileName, HttpServletRequest request, HttpServletResponse response) {
		try {
			File file = new File(request.getSession().getServletContext().getRealPath("/upload")+"/"+fileName);
			if (file.exists()) {
				response.reset();
				response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName+"\"");
				response.setHeader("Cache-Control", "no-cache");
				response.setHeader("Access-Control-Allow-Credentials", "true");
				response.setContentType("application/octet-stream; charset=UTF-8");
				IOUtils.write(FileUtils.readFileToByteArray(file), response.getOutputStream());
			}

		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
}

获取源码或论文

如需对应的论文或源码,以及其他定制需求,也可以下方微信联系我。【wenruo0209】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值