宿舍管理是高校管理的重要组成部分,一个优秀的管理系统不仅可以减少宿舍成本的管理难度也能在一定程度上降低学校管理费用的支出,可以成为建设现代大学管理体制的重要标志。本文将带您从运行环境搭建、系统设计、系统编码到整个系统的实现,对整个过程进行详细描述。特别适合作为程序员的进阶项目案例,也是大学生毕业设计系统的实现。最佳选择!演示地址:宿舍管理系统演示地址,点我查看1.系统架构模式宿舍管理系统采用B/S架构模式。B/S架构的全称是Browser/Server,即浏览器/服务器结构。浏览器是指网络浏览器。与C/S架构相比,B/S模式在前端实现的业务逻辑非常少,其主要业务逻辑在服务器端实现。B/S结构的系统无需特殊安装,只需Web浏览器即可。B/S架构分层:与C/S架构只有两层不同,B/S架构有三层,即:第一层表现层:主要完成用户与后台的交互和最终查询结果的输出函数。第二逻辑层:主要利用服务端完成客户端的应用逻辑功能。第三层数据层:主要用于持久化数据存储。2、技术选择选择合适的技术,整个项目就已经成功了一半。经过分析系统需求和系统本身的特点,结合现代B/S模式的主流架构方案,本系统的技术选型如下:数据表示层:Html+JavaScript+CSS+VUE业务逻辑Java+Spring+SpringMVC数据持久化层:MySql+MyBatis开发工具:Eclipse3,用户分析系统的安全运行及各项功能的使用。宿舍管理员:管理宿舍管理员和自己负责的学生学生:查看浏览信息、提交任务4、功能分析系统管理员:添加、修改、删除公告信息添加、修改、删除宿舍管理员信息添加、修改、删除学生信息宿舍楼管理及其宿舍管理员分配学生宿舍管理发布考勤、签到任务查看、修改个人信息宿舍管理员:查看公告查看、删除自己管理的学生添加、修改、删除考勤记录查看学生签到记录查看、修改学生个人信息:查看公告、查看考勤记录、完成签到任务、查看签到记录、查看修改个人信息5、数据库设计分析系统要求,数据库应有如下表:t_admin:主要用于存储系统管理员数据字段名称类型是否主键表示adminIdint为管理员Id,唯一userNamevarchar无用户名passwordvarchar无密码namevarchar无真实姓名sexvarchar无性别sexvarchar无电话宿舍楼信息字段名类型主键描述dormBuildIdint为宿舍楼Id,唯一dormBuildNamevarchar无宿舍楼名称dormBuildDetailvarchar无描述t_dormmanager:主要存放宿舍管理员信息字段名类型是否主键描述dormManIdvarchar为宿舍管理员Id,唯一userNamevarchar无用户名,用于登录系统passwordvarchar无密码dormBuildIdint无宿舍楼IddormBuildDetailvarchar无描述namevarchar无真实姓名sexvarchar无性别telvarchar无电话noticePersonvarchar否公告发布者datedate否公告发布日期contentvarchar否发布内容t_punchclock:用于存储签到发布记录字段名type是否主键描述idint为Id,唯一主题varchar无签到主题详情varchar无签到descriptiondatevarchar无发布日期personvarchar无发布者t_punchclockrecord:用于存储签到信息字段名type主键描述idint为记录Id,唯一punchClock_idvarchar没有签到IdpunchClock_datedate没有发布日期punchClock_themevarchar没有签到主题punchClock_detailvarchar没有签到描述punchClock_personvarchar没有发布者namevarchar没有学生姓名dormNamevarchar没有宿舍号telvarchar没有学生电话stuNumvarchar没有学生IDdormBuildIdint没有宿舍楼isRecordtinyint没有签到t_record:forstorage考勤记录字段名类型是否为主键说明recordIdint为考勤Id,唯一studentNumbervarchar无学号dormBuildIdint无宿舍楼号dormNamevarchar无宿舍号datevarchar无考勤日期detailvarchar无详细描述t_student:学生表,用于存储学生信息字段名type是否主键注意studentIdint为学号,唯一stuNumvarchar无学号passwordvarchar无密码namevarchar无姓名dormBuildIdint无宿舍楼号dormNamevarchar无宿舍号sexvarchar无性别telvarchar无电话6.运行环境搭建如上所述,本系统使用SSM框架,搭建过程相对比较繁琐,所以这部分单独作为一个专题。具体搭建过程请参考《手把手教你搭建SSM框架(Eclipse版)》本文。本文搭建过程中如有其他问题,可以在公众号【再C你】后台私信。七、项目工程结构按照第六步搭建好系统运行环境后,工程结构目录如下图所示,对工程结构的各个目录进行说明:com.cya.controllercontroller包用于存放接收请求的类,作为前后端数据交互的“桥梁”com.cya.service服务包是所有业务逻辑的接口。com.cya.service.implservice.impl包用于存放服务接口的所有实现类。com.cya.mappermapper包用于存放操作数据库的接口和对应的xml实现com.cya.entityentity包用于存放项目中使用的所有实体类。它对应于数据库中的表。SSM框架集成所需的配置文件存储在资源文件中。详见《手把手教你搭建SSM框架(Eclipse版)》dorm是存放所有model层文件的父文件夹,其中admin、dormManager、student三个子文件夹存放系统管理员、宿舍管理员、学生三个角色对应的html文件。8.功能实现与展示由于系统包含的功能较多,这里不可能一一列举,所以选取几个代表进行演示。如需完整源码,请在公众号【再次C你】回复“宿舍管理系统”。8.1登录功能实现项目启动成功后,在浏览器地址栏输入:http://localhost:8080/dormManage/进入用户登录界面,如下图所示:在这个界面中,用户可以选择不同的角色登录,进入各个角色输入相应的登录信息后,首先会判断输入信息的有效性,并做出相应的响应或提示。登录功能实体的实际代码如下,此处仅显示controller层代码,如下:packagecom.cya.controller;importjava.util.ArrayList;importjava.util.List;importjava.util.Map;importjavax.management.relation.Role;导入javax.servlet.http.HttpServletRequest;导入javax.servlet.http.HttpSession;导入org.apache.tomcat.util.digester.ArrayStack;导入org.springframework.beans.factory.annotation.Autowired;导入org.springframework.stereotype.Controller;导入org.springframework.web.bind.annotation.RequestBody;导入org.springframework.web.bind.annotation.RequestMapping;导入org.springframework.web.bind.annotation.ResponseBody;导入com。cya.entity.Login;导入com.cya.entity.Result;导入com.cya.service.ILoginService;导入com.cya.service.impl.LoginServiceImpl;@Controller@ResponseBodypublicclassLoginController{@AutowiredprivateILoginServiceloginServiceImpl;@RequestMapping("login")publicListlogin(HttpServletRequestrequest,@RequestBodyLogin登录){列表list=loginServiceImpl.login(login);if(list.size()==1){HttpSessionsession=request.getSession();session.setAttribute(login.getRole(),列表);System.out.println("session="+session.getAttribute(login.getRole()));}返回列表;}@RequestMapping("getSession")publicListgetSession(HttpServletRequest请求,@RequestBody登录登录){System.out.println(登录);System.out.println(request.getSession().getAttribute(login.getRole()));Listlist=newArrayList<>();list.add(request.getSession().getAttribute(login.getRole()));返回列表;}@RequestMapping("exitSys")publicResultexitSys(HttpServletRequest请求){Stringexit="";尝试{if(request.getParameter("exit")!=null){exit=request.getParameter("exit");}request.getSession().removeAttribute(exit);returnnewResult(true,"登出成功");}catch(Exceptione){//TODO:处理异常e.printStackTrace();returnnewResult(false,"登出失败");}}}8.2公告功能实现系统管理员具有发布公告的权限。系统管理员点击添加公告按钮,填写相关信息,并进行合法性验证。如果验证成功,则表示公告发布成功。公告发布成功后,会出现在宿舍管理员和学生的界面上。效果图如下:公告模块主要代码以mapper层实现为例:*********Notice********************-->
