当前位置:首页 >> 计算机软件及应用 >>

基于Java的宿舍管理系统的设计与实现


本科毕业论文(设计)



目:

基于 Java 的宿舍管理系统的设计与实现

学 学

生:

韩梦梦

学 号: 201140910210 专 业: 计算机科学与技术 9 月 副教授 4 月 25 日 3 日

院: 计算机与信息工程学院 2015 张岩 2015 年

入学时间: 指导教师: 完成日期:

职 称: 年

诚 信 承 诺

我谨在此承诺:本人所写的毕业论文《基于 Java 的宿舍管理系统的 设计与实现》均系本人独立完成,没有抄袭行为,凡涉及其他作者的观 点和材料,均作了注释,若有不实,后果由本人承担。

承诺人(签名) : 年 月 日

基于 Java 的宿舍管理系统的设计与实现
摘 要:随着互联网时代的到来,越来越多的生活领域发生了翻天覆地的变化,人们的生活

方式也随之改变,更多的线下场景被搬到互联网上,进而为人类的生活带来更多的便利。对于高 校学生来说,宿舍就是学生在学校的家,对宿舍的管理尤为重要,宿舍管理员一直在这个过程中 扮演着重要的角色。他们的工作的特点繁琐、单一、重复性大,很适合进行信息化,来提高宿舍 管理员效率。 本毕业设计以软件工程理论为指导,采用 Java 技术,利用开发领域沉淀下来的主流框架,设 计并开发了宿舍管理系统。论文首先指明了课题的研究意义,接着分析了宿舍管理系统建设的可 行性,然后规划设计了宿舍管理系统的整体功能结构和数据库概念、逻辑结构,最后利用 Mysql 数据库和 Java 编程技术实现系统。 宿舍管理系统主要的参与方为宿舍管理员,同时也为学生提供了一些方便的功能。宿舍管理 员可以利用系统完成以下工作:系统功能菜单维护,系统角色维护,学生信息维护,水电气费录 入,学生报修处理,访客信息管理,卫生检查管理,宿舍信息维护,失物信息查看。学生可以利 用系统:查看卫生检查成绩,日常缴费,报修,查看失物信息。 关键词:宿舍管理;互联网;Java;Mysql

Design and implementation of Dorm Management System based on Java
Abstract: With the advent of the era of Internet, more and more areas of life, great changes have taken place in people's life style has changed, more offline scenarios were moved to the Internet, and then bring more convenience to human life. For university students, dormitory is the home of the students in the school, the management of the dormitory is particularly important, the dormitory administrator has play an important role in the process. The characteristics of their work tedious, single, repeatability, very suitable for information, to improve the efficiency of the dormitory administrator. The graduation design with software engineering theory as the instruction, using Java technology, the use of the mainstream of development areas settle framework, design and develop the dormitory management system. Paper firstly pointed out the research significance, and then analyzes the feasibility of the construction of dormitory management system, then design the whole function of the dormitory management system structure and database concepts, logic structure, system is realized by using the Mysql database and Java programming technology. Dormitory management system is mainly of participants for the dormitory administrator, at the same time also provides students with some handy features. Dormitory administrator can use the system to complete the following work: system function menu maintenance, system maintenance, student information maintenance, utility fee entry, students hot processing, the visitor information management, health examination management, dormitory information maintenance, the lost information view.: students can use the system to check the health check result, daily pay cost, the repair, the lost information view. Key words: Dorm management; Internet;Java;Mysql;





1 引言 ................................................................................................................................... 1 1.1 课题研究背景及意义 .................................................................................................... 1 1.2 可行性分析 .................................................................................................................... 1 1.2.1 经济可行性 ................................................................................................................. 2 1.2.2 技术可行性 ................................................................................................................. 2 1.2.3 应用可行性 ................................................................................................................. 2 1.2.4 法律可行性 ................................................................................................................. 3 2 需求分析 ........................................................................................................................... 3 3 系统功能模块设计 ........................................................................................................... 5 3.1 管理员端功能模块设计 ................................................................................................ 5 3.2 学生端功能模块设计 .................................................................................................... 5 4 数据库分析与设计 ........................................................................................................... 6 4.1 数据库分析 .................................................................................................................... 6 4.2 数据库概念结构设计 .................................................................................................... 7 4.3 数据库逻辑结构设计 .................................................................................................... 9 5 宿舍管理系统实现 ......................................................................................................... 11 5.1 宿舍管理系统数据库实现与连接 .............................................................................. 12 5.2 管理员端功能模块实现 .............................................................................................. 12 5.2.1 登录页界面 ............................................................................................................... 12 5.2.2 登陆后主界面 ........................................................................................................... 14 5.2.3 控制面板页面 ........................................................................................................... 14 5.2.4 学生信息管理 ........................................................................................................... 15 5.2.5 宿舍信息管理 ........................................................................................................... 17 5.2.6 访客登记 ................................................................................................................... 18 5.2.7 报修处理 ................................................................................................................... 19 5.2.8 卫生检查 ................................................................................................................... 20 5.2.9 水电气费缴纳 ........................................................................................................... 20 5.2.10 失物信息管理 ......................................................................................................... 21 5.3 学生端功能模块实现 ................................................................................................... 23 5.3.1 宿舍报修 ................................................................................................................... 23 5.3.2 密码修改 ................................................................................................................... 24 5.3.3 卫生检查查看 ........................................................................................................... 24 5.3.4 水电费缴费查看 ....................................................................................................... 24 5.3.5 失物信息发布 ........................................................................................................... 25 6 结束语 ............................................................................................................................. 25 参考文献: ......................................................................................................................... 26

1 引言

1.1 课题研究背景及意义

根据当前高等教育的情况[1],很多学生都是远离家乡,采取住校的方式。学生们 除了日常的学习以外,剩余的生活时间主要就是以宿舍为中心,因此宿舍成为高校学 生的第二个家。宿舍的管理在整个高校的教育工作中的地位显得尤为重要。传统的宿 舍管理全靠人工,各种信息的处理方式也都是采用的纸质文档记录,随着整个社会信 息化进程的加快,更为便捷、环保的信息化处理方案提上日程。基于 B/S 的架构[2] 也为信息化方案的实施带来了便捷,也能减轻宿舍管理员的手工作业程度,提高工作 效率,更好的为学生服务。 由于当今网络技术的飞速发展,使信息传播速度达到空前的解放,同时在各行各 业中,计算机技术都在不断的融入其中,极大程度的推动了各行业的发展 [3]。基于 B/S 模式的学生宿舍管理系统解决了传统信息存储方式以及学生信息获取方面的缺 点,极大的节约了社会资源,实现了无纸化的管理。于此同时,也保证了宿舍同学获 取日常生活信息的时效性和便捷性以及可操作性, 极大的方便了同学与宿舍管理员之 间信息的交互。 社会信息化进程的加快,促进人们以更便捷的方式生活,更高效的方式工作。这 其间, 网络的作用不容忽视, 网络技术之所以受到人们的青睐, 自然有它的亮点所在。 另一方面,相关的操作都是在计算机上处理和存储,数据存储的媒介不再依赖于传统 的纸质,而是存储于各种磁盘中。同时利用计算机的高效处理能力,可以对信息进行 科学的比对分析,以数据为基础变革宿舍管理的模式。 总之,随着计算机的普及和因特网技术的发展,网络信息共享和交流成为人们社 会生活不可分割的重要组成部分。我们都知道,技术革命会改变产业的结构,也会带 动市场竞争标准的变更。因此,网络技术的发展,将是一场大革命,各种信息化网站 的建设必如雨后春竹般蓬勃展开[7]。

1.2 可行性分析

从 50 年代的老电影到如今的电视中,凡是跟校园相关的都会出现宿舍管理员的
1

身影,这个行业已经存在并不断发展了将近一个世纪,其流程以及边界都已经很清楚 了,工作的流程也是比较明确的,足够利用信息化将其标准化。作为一名高校学生宿 舍的一切与自己息息相关,自己本身也是该系统的一个潜在使用者,因此对系统的把 握也很容易做。

1.2.1 经济可行性

互联网本就是自由、分享的代名词,与互联网相关的很多技术以及资源都是可以 免费自由分享的。该系统开发使用的 java 编程语言是免费的,并且其优秀框架也都 是免费。使用到的操作系统、Mysql 数据库、Tomcat 容器都是免费开源的,唯一需要 的就是一台连接网络的 PC 足够承载宿舍管理系统的运行。其成本全在系统的开发以 及以后的维护,也就是人力成本。综合考虑,该系统经济上几乎不存在消耗,可以实 施开发。

1.2.2 技术可行性

本系统的开发是基于 B/S 模式, 包括前端应用程序的开发和后端数据库建立和维 护。前端应用程序要求功能齐全,性能稳定;后端数据库要求结构完整安全性好。 本系统开发采用 Java 编程语言, 基于 J2EE 规范, 利用 Servlet+Jsp 技术进行开发, 为提高工作效率,会使用一些业界比较知名的框架。前端框架使用 Easyui 框架,提 供简洁、大方的前端页面。后端技术框架选用知名的 SSH(Struts2+Spring+Hibernate) 框架来实现业务逻辑以及信息的持久化。 程序最终运行在一个部署在 Linux 系统上的 Tomcat 容器中。通过在校近四年的学习以及老师的指导,以上这些技术都有学习, 虽然使用不够熟练, 但是通过自己的探索, 可以保质保量的完成宿舍管理系统的开发。

1.2.3 应用可行性

本宿舍管理系统是一个 B/S 架构的 Web 应用程序,其运行在一台稳定的服务器 上,而作为应用的使用者:宿舍管理员和学生,不需要做任何其他的操作。只需要在 自己的电脑上打开浏览器,输入对应的网络地址,根据提示输入自己的账号密码就可 以登陆成功,进行一系列的操作。它能使同学不受地域和时间的限制,就可以在浏览

2

器当中对宿舍费用以及损坏物品进行保修。页面操作简单,使用方便,只要能连接到 互联网,便可以在自己的计算机上打开浏览器访问本宿舍管理系统。因此本宿舍管理 系统不存在学习成本,适用于各种知识水平人员[9,10]。 1.2.4 法律可行性 本系统是作为毕业设计而开发的,与商业没有关系,同时,这个系统又是本人自 主研发,因此不会涉及到侵权问题,所以在法律上是具有可行性的。

2 需求分析

通过与宿舍管理员的沟通交流,结合自己日常的一些生活习性,经过一系列的汇 总分析,得出系统的业务流程为:宿舍管理员使用管理员账号登陆系统,可以对其管 理的宿舍信息进行管理,对入住的学生信息进行管理,对学生提交的保修申请进行护 理,对学生代缴的水电费信息进行录入,对来访客人的信息进行登记。作为学生,可 以使用管理员分配的账号进行登陆,在该系统中可以进行损坏物品保修,查看卫生检 查记录,查看水电费记录,已经发布物品丢失信息。图 2-1 是本宿舍管理系统的业务 流程:

3

录入

访客记录

菜单信息

维护

角色信息

维护

学生


登陆
学生信息

成功

维护

宿舍信息

管理

查看

水电气费

录入



查看

卫生检查记录

录入

成功



报修

报修记录

处理

登陆

宿舍管理员

修改

用户

发布/查看

失物信息

发布/查看

图 2-1 宿舍管理系统业务流程图

本系统是将现代化的网络技术与信息共享、信息交流模式相结合,按照系统业务 流程设计完成的。开发过程中尽力做到拥抱变化,支持扩展,为后期新需求的开发提 供了广阔的扩展空间。宿舍管理系统的开发目标如下: (1)友好、简洁的操作界面:创建便于用户操作的界面,设计菜单式导航条, 导航条位于主窗口的左侧,符合人体工程学。相关的操作选项按照相关性进行科学的 编排,使用的时候只需要我们先点击对应的一级菜单,然后在展开的二级菜单中选择 自己需要的操作。 (2)方便快捷的操作方式:对信息的操作(包括修改、添加和删除等)都将以 弹出窗口的形式出现,当用户确认无误以后进行提交,保存成功后在页面展示。 (3)完善功能:系统的功能设计基于日常宿舍管理员的真实工作内容,各个功 能点均是日常工作必须的,不存在多余的华而不实的功能。功能模块的设计完全站在 最终用户的角度进行设计和考量。 (4)拥有较强的移植性:一个系统最基本要具备的性质有以下几点:实用性、 适用性和可靠性,还有系统的先进性。由于 java 本来就是一种跨平台的变成语言, 因此系统具有很强的可移植性。完全不用考虑迁移了服务器系统以后造成的不稳定 性。除了应用环境的可移植性行以外,使用场景也具备可复制性,因为宿舍管理的工
4

作在多数情况下是一致的,因此可以做到无修改的平移到其他学校,然后直接就可以 使用。 (5)稳定的运行:系统采用 linux+tomcat+mysql 这三个 web 应用插件都是经过 前人精心锤炼的,稳定性也是经过大家认可的,保证了系统的稳定运行。

3 系统功能模块设计

宿舍管理系统主要参与角色有宿舍管理员和学生用户, 根据参与者的关注点不同 可将系统划分为两大模块:宿舍管理员与学生。不同的角色登陆进来以后看到的菜单 不同,对相同的内容能进行的操作也不相同。 3.1 管理员端功能模块设计

宿舍管理员使用初始账号登陆,管理员账号内置在系统中,宿舍存在之初就拥有 一个宿舍管理员账号。 宿舍管理员登陆以后可以进行的操作有: 密码修改、 宿舍管理、 学生信息管理、水电气费管理、宿舍卫生检查管理、宿舍报修处理、访客记录管理、 遗失物品公告、系统菜单管理、系统角色管理、退出等功能模块。图 3-1 是宿舍管理 员端具有的功能模块。
管理员

系 统 菜 单 管 理

系 统 角 色 管 理

学 生 信 息 管 理

宿 舍 信 息 管 理

失 物 信 息 管 理

访 客 登 记

卫 生 检 查

水 电 气 费 缴 纳

报 修 处 理

修 改 密 码

登 入 登 出

/

图 3-1 宿舍管理员端功能模块图

3.2 学生端功能模块设计 学生可以登录系统查看宿舍相关的信息以及完成一些日常所需的操作,学生可以 进行的操作:登录、修改密码、登出、损坏报修、宿舍卫生检查记录查看、宿舍水电 气缴费查看。图 3-2 是学生端功能模块。
5

学生

宿 舍 报 修

修 改 密 码

登 入 登 出

卫 生 检 查 查 看

水 电 气 缴 费 查 看

失 物 信 息 发 布

图 3-2 学生端功能模块图

/

4 数据库分析与设计

4.1 数据库分析 数据库作为信息在系统中的终点,其重要性不言而喻。数据库的设计对于应用的 后期发展也是相当重要的,好的设计能为系统后期的维护与扩展带来很多的便利。用 户的各种各样的操作也是围绕数据为核心进行处理的,通过对系统业务的分析和整 理,最终得出对数据库的设计具有以下的需求: 1)用户分为宿舍管理员和学生,两个角色会操作相同的数据,这就需要对不同 角色的重叠部分的数据进行合理的数据隔离。 2)该系统最终的使用者将会是整个学校的所有学生,不同的学生所处的宿舍也 不同,许多的操作都是围绕宿舍进行,因此不同宿舍之间也需要做好数据的隔离。 3)为了便于后期系统的扩展,宿舍管理员具有创建角色,录入新菜单,以及菜 单分配的功能。因此系统需要完整的权限管理设计。 4)系统的使用者主要是高校的全体学生,数据的处理级别是万级的,需要考虑 到数据的查询性能,数据的检索效率等性能问题。 5)宿舍是高校学生日常生活的重要一部分,对并发上也有一定的要求,设计数 据库的时候需要考虑。

6

4.2 数据库概念结构设计

经过了以上的一些对业务的分析,以及后期性能的考虑,该系统应该具有以下实 体:宿舍、用户、访客记录、卫生检查记录、报修记录、失物信息、水电气费、系统 角色、菜单。用户实体包含学生信息,以及宿舍管理员信息,两种登录账号通过类型 区分;卫生检查、报修记录、水电气费、用户实体都需要关联对应的宿舍,他们与宿 舍的关系均是多对一。各实体的相关属性如图 4-1 至 4-8 所示,部分实体间的联系如 图 4-9 所示,没有联系的实体为孤立实体。
账号 宿舍 用户 状态 类型 电话

密码

学号

姓名
年龄

院系

邮箱

图 4-1 用户实体及其属性

图标
描述 父菜单

名称

顺序
类型

菜单
地址
图 4-2 系统菜单实体及其属性

发布用户

发布日期

失物通知
图 4-3 失物通知实体及其属性

内容

7

宿舍

报修描述

报修人

报修记录

处理意见

是否处理
图 4-4 报修记录实体及其属性

来访人证件号 来访人姓名 受访者 来访时间 访客记录
图 4-5 访客记录实体及其属性

受访者宿舍

离开时间

宿舍号 宿舍

备注

图 4-6 宿舍实体及其属性

检查时间

成绩

宿舍

检查人

卫生检查
图 4-7 卫生检查实体及其属性

备注

8

缴费月 缴费日期

金额

类型

水电气费 备注
图 4-8 缴费实体及其属性

宿舍

图 4-9 部分实体联系图

4.3 数据库逻辑结构设计 在完成宿舍管理系统数据库的概念结构设计后, 需要把所得到的数据库概念模型 转变成 Mysql 所支持的关系模型,也就是数据库的逻辑结构。 根据概念设计结果,本宿舍管理网站的数据库中包括用户表、角色表、菜单表、 宿舍表、报修记录表、卫生检查表、访客记录表、水电费记录表、失物记录表。每个 表的逻辑结构如表 1—表 9 所示。
表 1 用户表(T_USER)

属性的名字 ID 用户名 密码

属性的数据类型 文本 文本 文本

属性的长度 32 64 64

属性的说明 主码

9

真实姓名 电话号码 状态 院系 年龄 学号 宿舍 id 用户类型 添加时间 修改时间

文本 文本 布尔 文本 数字 文本 文本 文本 日期时间 日期时间

64 16 1 32 4 32 32 16 8 8

唯一 外键

表 2 角色表(T_ROLE)

属性的名字 ID 角色名 描述

属性的数据类型 文本 文本 文本

属性的长度 32 20 128

属性的说明 主码 唯一值

表 3 菜单表(T_AUTH)

属性的名字 ID 父菜单 ID 菜单描述 菜单图标 菜单名 显示顺序 菜单地址

属性的数据类型 文本 文本 文本 文本 文本 数字 文本

属性的长度 32 32 128 32 32 3 64

属性的说明 主码 外键

唯一

表 4 宿舍表(T_DORM)

属性的名字 ID 宿舍编号 备注

属性的数据类型 文本 文本 文本

属性的长度 32 32 128

属性的说明 主码

表 5 卫生检查表(T_SANITARY)

属性的名字 ID 检查时间 分数 宿舍 id 属性的名字

属性的数据类型 文本 日期时间 数字 文本

属性的长度 32 8 3 32

属性的说明 主码

外键

表 6 水电气费表(T_UTILITY)

属性的数据类型

属性的长度

属性的说明

10

ID 缴费月份 缴费时间 金额 宿舍 id 备注

文本 文本 日期时间 数字 文本 文本

32 16 8 8 32 128

主码

外键

表 7 访客表(T_VISITOR)

属性的名字 ID 访客姓名 访客证件号 受访者姓名 受访宿舍 来访时间 离开时间

属性的数据类型 文本 文本 文本 文本 文本 日期时间 日期时间

属性的长度 32 32 64 64 32 8 8

属性的说明 主码

外码

表 8 失物信息表(T_NOTE)

属性的名字 ID 标题 内容 创建人 添加时间

属性的数据类型 文本 文本 文本 文本 日期时间

属性的长度 32 32 256 32 8

属性的说明 主码

表 9 报修记录表(T_REPAIR)

属性的名字 ID 宿舍编号 报修人 描述 修理状态 处理意见

属性的数据类型 文本 文本 文本 文本 布尔 文本

属性的长度 32 32 32 256 1 64

属性的说明 主码

5 宿舍管理系统实现

宿舍管理系统是基于 Web 的应用系统,系统开发平台为 Windows7,开发工具 Myeclipse,编程技术选择 Java,数据库采用 Mysql。
11

5.1 宿舍管理系统数据库实现与连接

根据逻辑设计结果,使用远程连接操作工具创建对应的数据表,创建用户设置密 码。系统利用 Hibernate 框架实现数据的持久化,并完成从关系型数据库到对象的映 射,为了提高数据的读取和操作数据库的连接使用了连接池,系统中使用的阿里巴巴 开源的 Druid 数据库连接池; 整个项目又是使用 Spring 框架提供的 IoC 容器来管理业 务 Bean 数据库的实现主要通过配置完成,配置如下:
<bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="url" value="${jdbc_url}" /> <property name="username" value="${jdbc_username}" /> <property name="password" value="${jdbc_password}" /> <property name="initialSize" value="0" /> <property name="maxActive" value="20" /> <property name="maxIdle" value="20" /> <property name="minIdle" value="0" /> <property name="maxWait" value="60000" /> <property name="validationQuery" value="${validationQuery}" /> <property name="testOnBorrow" value="false" /> <property name="testOnReturn" value="false" /> <property name="testWhileIdle" value="true" /> <property name="timeBetweenEvictionRunsMillis" value="60000" /> <property name="minEvictableIdleTimeMillis" value="25200000" /> <property name="removeAbandoned" value="true" /> <property name="removeAbandonedTimeout" value="1800" /> <property name="logAbandoned" value="true" /> </bean>

5.2 管理员端功能模块实现

宿舍管理系统网站包括登录页、主页、功能导航、控制面板、失物信息管理、学 生信息管理、宿舍信息管理、访客记录管理、报修处理。 5.2.1 登录页界面 登录页如图 5-1 所示,该界面是本站的默认登录页。网站登录页界面清楚,简洁 大方,在该页面输入账号密码登录,如果账号密码不正确可以在页面给出提示。登录 成功后会跳转到系统主页。

12

用户登录模块代码如下:
public String login() { if (StringUtils.isBlank(user.getCname()) || StringUtils.isBlank(user.getCpwd())) { getRequest().setAttribute("msg", "提示:用户名和密码不能为空!"); return "login"; } User u = userService.login(user); if (u != null) { //将用户属性放进 session saveSessionInfo(u); changeUserAuths(u); } else { getRequest().setAttribute("msg", "提示:用户名或密码错误,请确认数据库是否 初始化!"); return "login"; } return "index"; }

图 5-1 登录页面

13

5.2.2 登陆后主界面 用户登录成功后主界面如图 5-2 所示, 用户登录后可以点击左侧导航菜单进行相 应的操作。

图 5-2 登陆成功后主界面

5.2.3 控制面板页面 控制面板页面主要进行密码的修改,以及当前登录用户信息的查看。控制面板页 面如图 5-3 所示,用于修改密码。

图 5-3 控制面板界面

实现控制面板功能的部分代码如下:
<div class="easyui-layout" fit="true" border="false">

14

<div region="center" style="" title="拥有权限" border="false"> <% SessionInfo sessionInfo = (SessionInfo) session.getAttribute(ResourceUtil.getSessionInfoName()); if (sessionInfo != null && sessionInfo.getAuths() != null && sessionInfo.getAuths().size() > 0) { List<Auth> auths = sessionInfo.getAuths(); for (int i = 0; i < auths.size(); i++) { if (i > 0) { out.print(","); } Auth a = auths.get(i); out.print(a.getCname()); } } %> </div> <div region="south" style="overflow: hidden;height:115px;" title="密码修改" border="false" align="center"> <form id="userInfoForm" method="post"> <table class="tableForm"> <tr> <th>原密码</th> <td><input name="oldPwd" type="password" class="easyui-validatebox" required="true" missingMessage="请填写原密码" /> </td> <td></td> </tr> <tr> <th>新密码</th> <td><input name="cpwd" type="password" class="easyui-validatebox" required="true" missingMessage="请填写新密码" /> </td> <td></td> </tr> <tr> <th>重复密码</th> <td><input name="rePassword" type="password" class="easyui-validatebox" required="true" missingMessage="请再次填写密码" validType="eqPassword['#userInfoForm input[name=cpwd]']" /></td> <td><a name="btn" class="easyui-linkbutton" onclick="userInfoForm.submit();">修改</a></td> </tr> </table> </form> </div>

5.2.4 学生信息管理 宿舍管理员在左侧菜单选择学生信息菜单以后, 将会在主窗口中打开一个新的标 签页用来显示对学生信息的维护。在该页面管理员可以增加新的学生信息、也可以编 辑已经存在的学生信息、 也可以删除掉没用的数据。 如图 5-4 所示。 该界面是个列表, 列出了已经存在于系统的学生信息,可以对学生信息进行排序,页面实现代码如下:
15

datagrid = $('#datagrid').datagrid({ url : 'userAction!datagrid.action', title : '用户列表(admin 拥有所有权限,不需要更改角色)', iconCls : 'icon-save', pagination : true, pagePosition : 'bottom', pageSize : 50, pageList : [ 10, 20, 30, 40, 50, 100 ], fit : true, fitColumns : false, rownumbers : true, nowrap : false, border : false, idField : 'cid', sortName : 'cname', sortOrder : 'desc' })

学生信息管理页面:

图 5-4 学生信息界面

学生信息管理的后端实现代码:
@Transactional(propagation = Propagation.SUPPORTS) public DataGrid datagrid(User user) { DataGrid j = new DataGrid(); j.setRows(getUsersFromTusers(find(user))); j.setTotal(total(user)); return j; } private List<User> getUsersFromTusers(List<Tuser> tusers) { List<User> users = new ArrayList<User>(); if (tusers != null && tusers.size() > 0) { for (Tuser tu : tusers) { User u = new User(); BeanUtils.copyProperties(tu, u); Set<Tusertrole> tusertroles = tu.getTusertroles(); String roleIds = ""; String roleNames = ""; if (tusertroles != null && tusertroles.size() > 0) { for (Tusertrole tusertrole : tusertroles) { if (tusertrole.getTrole() != null) { roleIds += "," + tusertrole.getTrole().getCid(); roleNames += "," + tusertrole.getTrole().getCname(); } }
16

} if (roleIds.equals("")) { u.setRoleIds(""); u.setRoleNames(""); } else { u.setRoleIds(roleIds.substring(1)); u.setRoleNames(roleNames.substring(1)); } users.add(u); } } return users; } private List<Tuser> find(User user) { String hql = "from Tuser t where 1=1 "; List<Object> values = new ArrayList<Object>(); hql = addWhere(user, hql, values); if (user.getSort() != null && user.getOrder() != null) { hql += " order by " + user.getSort() + " " + user.getOrder(); } return userDao.find(hql, user.getPage(), user.getRows(), values); }

5.2.5 宿舍信息管理 宿舍管理系统的核心就是宿舍,宿舍信息作为该系统的基础信息,宿舍管理员需 要录入其管理宿舍的所有宿舍,并将各个宿舍的编号录入系统。管理员点击导航菜单 的宿舍管理按钮,打开宿舍管理功能,宿舍管理页面如图 5-5 所示。

图 5-5 宿舍管理界面

宿舍信息管理的前台部分利用 easyui 框架的 datagrid 实现,具体代码如下:
datagrid = $('#datagrid').datagrid({ url : 'dormAction!datagrid.action', title : '宿舍列表', iconCls : 'icon-save', pagination : true, pagePosition : 'bottom', rownumbers : true, pageSize : 10,
17

pageList : [ 10, 20, 30, 40 ], fit : true, fitColumns : true, nowrap : true, border : false, idField : 'id', sortName : '', sortOrder : 'desc', columns : [ [ {field:'ck',checkbox:true, formatter:function(value,row,index){ return row.id; } }, {field:'dormNo',title:'房间号',align:'center',sortable:true, formatter:function(value,row,index){ return row.dormNo; } }, {field:'remark',title:'备注',align:'center',sortable:true, formatter:function(value,row,index){ return row.remark; } } ]] })

5.2.6 访客登记 宿舍管理员日常的重要工作之一就是记录宿舍的来访记录, 便于以后的查阅和宿 舍的安全管理。管理员点击左侧导航菜单中的访客记录菜单打开新标签。在新打开的 访客记录页可以录入新的访客记录,需要录入访客的姓名、证件号、访问人、访问宿 舍、以及到访时间。当访问者离开的时候需要到管理员处注销访问,此时管理员需要 记录下来访客的离开时间。 管理员也可以通过在这个页面根据一定的条件检索访客记 录,方便了历史访客记录的搜索。访客记录页面如图 5-6 所示。

图 5-6 访客记录界面

访客记录页面的前端实现如下:
<body class="easyui-layout"> <div region="north" border="false" title="过滤条件" collapsed="true" style="height: 60px;overflow: hidden;display: none;" align="left"> <form id="searchForm">
18

<table class="tableForm datagrid-toolbar" style="width: 100%;height: 100%;"> <tr> <td>访客姓名</td> <td><input name="visitorName" style="width:120px;" class="easyui-validatebox"/></td> <td>证件号</td> <td><input name="visitorCertNo" style="width:120px;" class="easyui-validatebox"/></td> <td><a href="javascript:void(0);" class="easyui-linkbutton" onclick="_search();"> 过滤</a><a href="javascript:void(0);" class="easyui-linkbutton" onclick="cleanSearch();">取消 </a></td> </tr> </table> </form> </div> <div region="center" border="false"> <table id="datagrid"></table> </div> <div id="menu" class="easyui-menu" style="width:120px;display: none;"> <div onclick="add();" iconCls="icon-add">增加</div> <div onclick="del();" iconCls="icon-remove">删除</div> <div onclick="edit();" iconCls="icon-edit">编辑</div> </div>

访客记录的列表显示功能与其他功能的列表显示功能类似,这里不再重复展示, 下面将访客新增的后台代码列举出来:
public void add(VisitorPage visitorPage) { VisitorEntity t = new VisitorEntity(); BeanUtils.copyProperties(visitorPage, t); visitorEntityDao.save(t); }

由于使用了 Hibernate 作为持久层的映射,因此只需要简单的将页面传递回来的 参数付给对应的实体,然后利用框架提供的模板方法存入数据库。最终将处理结果通 过 json 的方式返回到页面,展示提示信息。 5.2.7 报修处理 对于学生提交在系统中的报修信息, 管理员可以登录系统, 点击左侧的报修处理, 进入报修记录列表页,在这里可以对损坏的物品报修信息进行查看,进而安排工作人 员处理,并将维修结果反馈进系,报修处理页面如图 5-7 所示。

19

图 5-7 报修处理

5.2.8 卫生检查 宿舍管理员需要对每个宿舍的卫生情况进行检查, 或者是其他组织对宿舍卫生情 况进行检查。宿舍管理员可以为相应的人员分配录入卫生检查成绩的权限,那么具有 权限的人就可以将宿舍卫生检查的成绩录入系统。 宿舍卫生检查记录页面如图 5-8 所 示。

图 5-8 卫生检查界面

5.2.9 水电气费缴纳 宿舍管理员可以将每个宿舍每月产生的水电气费等信息录入进系统, 学生可以登 录进来查看自己宿舍产生的费用,然后到指定的部门缴费,后期可以改进成在系统上 利用网银或者第三方支付方式进行在线缴费。目前仅实现信息的互通,图 5-9 展示了 日常缴费页面。

20

图 5-9 日常缴费界面

5.2.10 失物信息管理 在校园内遗失了物品或者捡到物品都需要交到指定的地方, 同时也可以将这些信 息公布在宿舍管理系统上,便于同学到系统中去查看,可以把失物信息及时的传递到 失主那里。失物信息列表如图 5-10 所示。

图 5-10 失物信息界面

只有失物信息的发布人才能修改信息,其他人没有权限修改,只能查看,该功能 的实现代码如下:
function edit() { var rows = datagrid.datagrid('getSelections'); if (rows.length == 1) { if(rows[0].crtuser != "${sessionInfo.userId}"){ $.messager.alert('错误','不能编辑别人发布的信息','error'); return false; } $('<div/>').dialog({ href : '${pageContext.request.contextPath}/noteAction!toEdit.action?obid=' + rows[0].obid, width : 500, height : 400, modal : true, title : '编辑信息', buttons : [ { text : '保存', iconCls : 'icon-edit', handler : function() { var d = $(this).closest('.window-body'); $('#noteEditForm').form({ url : '${pageContext.request.contextPath}/noteAction!edit.action',

21

success : function(result) { try { var r = $.parseJSON(result); if (r.success) { datagrid.datagrid('load'); d.dialog('destroy'); } $.messager.show({ title : '提示', msg : r.msg }); } catch (e) { $.messager.alert('提示', result); } formFlag = true; } }); if(formFlag){ formFlag = false; $('#noteEditForm').submit(); } } } ], onClose : function() { $(this).dialog('destroy'); }, onLoad : function() { } }); } else if (rows.length > 1) { $.messager.alert('提示', '同一时间只能编辑一条记录!', 'error'); } else { $.messager.alert('提示', '请选择要编辑的记录!', 'error'); } }

失物信息录入页面嵌入了一个富文本编辑器,可以编辑适当格式的失物信息,其 界面如图 5-11 所示。

图 5-11 失物信息录入

由于界面简约,操作简便,系统在设计时就充分考虑到这点,所以,在此不再累 述其中的操作过程。总而言之,宿舍管理系统的界面较为人性化,在功能实现上较为 完整,没有较多冗余,这是系统的最大亮点。
22

5.3 学生端功能模块实现

5.3.1 宿舍报修 宿舍平时的日常生活中,经常会有设备损坏的情况发生,需要宿舍管理员安排人 员修理,利用该系统可以实现 24 小时随时报修。学生只需要登录系统,点击左侧的 报修菜单,进入自己宿舍的报修记录列表页,在这里可以对损坏的物品进行报修,报 修的输入页面如图 5-11 所示。

图 5-11 报修界面

学生用户可以在这个页面输入自己需要报修的宿舍号,以及报修人的姓名,还有 具体的报修内容,点击报修按钮,将会把这些数据存进数据库,然后管理员可以在保 修审核页面审核, 将处理的结果反馈进系统, 学生也可以对自己提交的报修进行查看。 报修单的实现代码如下:
<div id="repairRecordAddDialog" style="display: none;width: 500px;height: 300px;" align="center"> <form id="repairRecordAddForm" method="post"> <table class="tableForm"> <tr> <td>宿舍</td> <td> <input name="dorm" type="text" maxlength="64" class="easyui-validatebox" data-options="" missingMessage="请填写保修宿舍" style="width: 155px;"/> </td> </tr> <tr> <td>报修人姓名</td> <td> <input name="reportName" type="text" maxlength="64" class="easyui-validatebox" data-options="" missingMessage="请填写报修人姓名" style="width: 155px;"/> </td>
23

</tr> <tr> <td>描述</td> <td> <textarea name="description" type="text" maxlength="255" class="easyui-validatebox" data-options="" missingMessage="请填写描述" style="width: 255px;height: 60px;" ></textarea> </td> </tr> </table> </form> </div>

5.3.2 密码修改 学生的信息由管理员进行录入,每个新账户有一个初始密码,所有人的初始密码 一样,因此在登录成功以后需要自己修改登录密码。点击右上角控制面板-个人信息 就会弹出图 5-12, 用户可以在这个页面修改自己的登录密码, 完成后点击修改完成密 码修改。

图 5-12 密码修改

5.3.3 卫生检查查看 该功能与管理员端的卫生检查录入相似, 区别在于学生端只能看到自己宿舍的卫 生检查成绩,并且只能查看,不能做任何修改。 5.3.4 水电费缴费查看 水电费缴费查看功能与管理员端类似,只能查看自己宿舍的水电费缴费情况,并

24

且也是只能查看而不能修改。 5.3.5 失物信息发布 失物信息功能与管理员端一致。此处不再赘述。

6 结束语
(1)系统的特点 这是一个宿舍管理信息系统,是运用 Java Web 方式来开发的一个小型系统。这 个网站从功能实现而言,还是比较完整的。系统以 Web 友好型界面与用户交互,每 一个用户都可以在界面上进行操作,系统可以通过数据库管理系统来储存用户的信 息。系统网站实现了对宿舍管理的无纸化处理,减轻了宿舍管理员的管理难度,以及 对信息的处理更加方便了,尤其是对访客记录的检索,以及对历史数据的保存方式更 加的安全可靠,信息可以在磁盘上保存的更久,同时也为同学的日常生活提供了便利。 (2)系统的不足和改进 系统虽然完成了基本的一些功能,但是由于自己审美能力有限,再加上对前端的 美化以及页面布局的设计都不是自己的专长,因此页面的设计还是欠缺的,整体的风 格借鉴了现有的框架,没有自己个性化的东西在页面展示层;功能上可能还有很多不 能满足现代人类生活的需要, 比如: 在线支付, 微信推送, 配套的 app 这些还都没有, 不能最大程度上满足现在学生的需要;系统的主要参与者定位在了宿舍管理员上,其 实也可以深度扩展,将宿舍资源进行更好的整合,更多的为广大学生服务。未来可以将 这些不足之处补充完整,软件开发本就是一个持续的过程,需要一直的投入,不断的 迭代才能做成最终优秀的产品。 (3)设计收获与心得 经过几个月的实践我深深地意识到了自己动手实践能力的缺乏, 课堂上老师讲授 的知识平时只是照着课本完成相应的作业,到自己动手去做的时候才发现其中的难 处。在整个毕业设计的过程中从一开始的一筹莫展,简直不知道怎么下手,也迟迟不 能下手,最后在老师的催促下硬着头皮走了第一步,设计系统功能模块,使用画图工 具 Visio 画出系统功能图,紧接着学会了画 E-R 图,将系统的数据库结构描述出来, 再一步步的建立数据库,然后开始寻找适合的开发框架,着手进行系统的开发。给我 最大的启发就是要想做好一件事情就要沉下心,钻进去,只有真正的沉下来,进入到 事情内部,融入进去才能找到自己的位置,万事开头难。

25

参考文献:
[1]林登奎. 学生宿舍信息管理系统的分析与设计[J]. 计算机光盘软件与应用,2014,19: 284-285. [2]薛林莉. 基于 Java 的学校宿舍管理系统研究[J]. 106-107+127. [3]来涛. 高校学生宿舍信息管理系统[J]. 山西师大学报(社会科学版),2013,S1:140-141. [4]张立瀚,聂文. 基于 Java 的医护人员宿舍管理系统开发[J]. 信息与电脑(理论 版),2013,01:138-139. [5]陈昕,何智文. 基于 JSP 的宿舍管理系统的设计与实现[J]. 通讯世界,2015,02:230-231. [6]朱金坛. 高职学院学生宿舍管理系统设计与实现[J]. 电子设计工程,2015,06:64-66. [7]吴蕊杉,郭进,庄旭. 基于 MVC 架构的西财天府宿舍管理系统[J]. 电子制 作,2014,06:74+71. [8]钱立,邓绯. 高校新生入学宿舍管理系统的设计与实现[J]. 重庆三峡学院学 报,2014,03:48-51. [9]刘晓敏,高华. 大学生宿舍管理系统设计与实现[J]. 电脑编程技巧与维 护,2014,19:32-33. [10]车广杰,李绍静,董峰. 高校学生宿舍管理系统的设计与实现[J]. 电子测 试,2014,16:42-44. [11]卢桂珍. 高校学生宿舍管理系统的分析与设计[J]. 电子测试,2013,19:186-187. [12]秦川,万民. 学生宿舍管理信息系统的设计与实现[J]. 电脑知识与技 术,2013,34:7659-7662+7674. 电脑编程技巧与维护,2014,24:

26


赞助商链接
相关文章:
《web学生宿舍管理系统》的设计与实现毕业论文
学生宿舍管理系统的设计 与实现二级学院 专班业级 学生姓名 学号 指导教师 2013 年 3 月 诚信声明 我声明,所呈交的毕业论文(设计)是本人在老师指导下进行的研究...
javaweb 基于structs的宿舍管理系统
javaweb 基于structs的宿舍管理系统 - 课程设计说明书 题目: 基于 Struts2 的宿舍管理系统 成 绩: 时间:2017 年 4 月 1 日至 2017 年 6 月 ...
学生宿舍管理系统数据库的设计与实现_图文
学生宿舍管理系统数据库的设计与实现_管理学_高等教育_教育专区。学生宿舍管理...(Java Server Page)技 术的推出, 更是让 Java 成为基于 Web 的应用程序的...
java宿舍管理系统
11 1 课程实训报告书 宿舍管理系统的设计与实现 1 实训目的《基础项目实训》是...(2)用 JAVA 编程--链接数据库 (3) 通过 JAVA 与数据库的链接实现对学生...
java学生宿舍管理系统论文_图文
java学生宿舍管理系统论文_计算机软件及应用_IT/...各功能的实现可以通过设计一个学生类 students,然后...毕业论文--基于JAVA的人... 暂无评价 35页 ¥10...
基于Web的学校宿舍管理系统设计与开发_图文
基于Web的学校宿舍管理系统设计与开发 - 华东交通大学普通本科毕业设计 华东交通大学 毕业设计(论文) 题目: 基于 Web 的学校宿舍管理系统设计与开发 学专 院: ...
宿舍管理系统论文-开题报告
为宿舍管理部门开发设计专用系统——华科学院学生 宿舍信息管理系统来进行管理学生...基于JAVA的学生成绩管理... 18页 1下载券 《基于.NET的宿舍管理系... 20页...
学生宿舍管理系统(JSP)_图文
管理系统来 进行管理学生宿舍信息,使学生宿舍信息实现...1.4 JSP 简介 JSP技术使用Java编程语言编写类XML的...支持可重用的基于组件的设计, 使基于Web的应用程序...
更多相关标签: