java学生宿舍管理系统,来了就点个赞再走呗,即将毕业的兄弟有福了

19 篇文章 97 订阅

引言:

上次写了一个学生成绩管理系统,有个老铁说不会运行,我答应给他写一个项目,并且附上运行的文档,于是这几天就利用摸鱼时间、晚上休息时间、中午午休时间写了这个宿舍管理系统,表的设计、代码编写都是自己弄的,数据库用mysql,web容器用 tomcat,开发工具用eclipse\myeclipse,java方面入口都是用servlet,数据库连接用c3p0,总之都是用比较基础的东西来写的,简单易懂,对于正在做毕业设计和刚入门时间不长的兄弟们来说,应该是比较好的学习代码了,希望对大家有所帮助。

一张界面图:

角色介绍

1.超级管理员 

超级管理员是权限最大的角色,拥有系统所有的权限。

2.宿舍管理员

权限:学生管理、宿舍管理、考勤管理、修改密码。

注意:宿舍管理员所管理的这几个模块,都是超级管理员给他指定权限范围,他才能操作,比如:admin被分配了管理1号楼和2号楼,那么1、2号楼的宿舍他可以管理,添加的学生也只能安排在这两个楼里面,考勤也只能操作属于这两个楼的。

3.学生

学生是权限最小的角色,仅有修改密码、考勤管理权限(仅仅查询)。

表结构介绍

用户表

//用户表
CREATE TABLE `user` (
  `id` int(11) NOT NULL auto_increment COMMENT '主键',
  `name` varchar(20) not NULL COMMENT '名字',
  `password` varchar(20) not NULL COMMENT '密码',
  `no` varchar(20) default NULL COMMENT '账号-学生一般用学号',
  `dorm_no` varchar(20) default NULL COMMENT '宿舍编号',
  `build_id` int(11) default NULL COMMENT '宿舍楼id',
  `sex` varchar(20) default NULL COMMENT '性别',
  `phone` varchar(20) default NULL COMMENT '电话',
  `role_id` int(11) default NULL COMMENT '角色 0超级管理员,1管理员,2学生',
  `creator` int(11) default NULL COMMENT '创建人id',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

宿舍楼表

//宿舍楼
CREATE TABLE `build` (
  `id` int(11) NOT NULL auto_increment COMMENT '主键',
  `name` varchar(20) NOT NULL COMMENT '名字',
  `remark` varchar(50) default NULL COMMENT '备注',
  `isValid` varchar(4) default 'Y' COMMENT '是否有效,Y有效,其他无效',
  PRIMARY KEY  (`id`)
)  ENGINE=InnoDB DEFAULT CHARSET=utf8;

宿舍楼与管理员关系表(用来指定 宿舍管理员所拥有的宿舍楼权限)

//宿舍楼与管理员关系表
CREATE TABLE `manage_build_rel` (
  `id` int(11) NOT NULL auto_increment COMMENT '主键',
  `user_id` int(11) default NULL COMMENT '管理员id',
  `build_id` int(11) default NULL COMMENT '宿舍楼id',
  PRIMARY KEY  (`id`)
)  ENGINE=InnoDB DEFAULT CHARSET=utf8;

宿舍表

//宿舍
CREATE TABLE `dorm` (
  `id` int(11) NOT NULL auto_increment COMMENT '主键',
  `name` varchar(20) NOT NULL COMMENT '名字',
  `remark` varchar(50) default NULL COMMENT '备注',
  `build_id` int(11) default NULL COMMENT '宿舍楼id',
  `max_num` int(11) default 0 COMMENT '最大人数',
  PRIMARY KEY  (`id`)
)  ENGINE=InnoDB DEFAULT CHARSET=utf8;

考勤表

// 考勤表
CREATE TABLE `record` (
 `id` int(11) NOT NULL auto_increment COMMENT '主键',
  `student_id` int(11) default NULL COMMENT '学生id',
  `date` date default NULL COMMENT '考勤日期',
  `record_type` varchar(2) default '1' COMMENT '考勤类型',
  `remark` varchar(50) default NULL COMMENT '备注',
  PRIMARY KEY  (`id`)
)  ENGINE=InnoDB DEFAULT CHARSET=utf8;

功能菜单表

CREATE TABLE `menu` (
  `id` int(11) NOT NULL,
  `menuCode` varchar(8) default NULL COMMENT '菜单编码',
  `menuName` varchar(16) default NULL COMMENT '菜单名字',
  `menuLevel` varchar(2) default NULL COMMENT '菜单级别',
  `menuParentCode` varchar(8) default NULL COMMENT '菜单的父code',
  `menuClick` varchar(16) default NULL COMMENT '点击触发的函数',
  `menuRight` varchar(8) default NULL COMMENT '权限2表示学生,1表示管理员,0超级管理员,可以用逗号组合使用',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

菜单表和用户表需初始配置的数据脚本(用户表只插入超级管理员的即可)

INSERT INTO `menu` VALUES ('1', '001', '宿舍管理员管理', '1', null, 'adminManage', '0');
INSERT INTO `menu` VALUES ('2', '002', '学生管理', '1', null, 'studentManage', '0,1');
INSERT INTO `menu` VALUES ('3', '003', '宿舍楼管理', '1', null, 'buildManage', '0');
INSERT INTO `menu` VALUES ('4', '004', '宿舍管理', '1', null, 'dormManage', '0,1');
INSERT INTO `menu` VALUES ('5', '005', '考勤管理', '1', null, 'recordManage', '0,1,2');
INSERT INTO `menu` VALUES ('6', '006', '修改密码', '1', null, 'modPwd', '0,1,2');

INSERT INTO `user` VALUES ('1', '超级管理员1', '123456', 'sa', null, null, '1', '123445', '0', null);

系统模块介绍

宿舍管理员管理

超级管理员才有的权限,可以增加宿舍管理员,并且分配宿舍楼,让其对指定的宿舍楼有对应的操作权限,也可以修改、删除。

学生管理

超级管理员和宿舍管理员均可以操作,区别是超级管理操作所有,而宿舍管理员只能查询、维护 自己所管理的宿舍楼里面的学生。

宿舍楼管理

超过管理员才有的权限

宿舍管理

超级管理员和宿舍管理员均可以操作,区别是超级管理操作所有,而宿舍管理员只能维护自己管理宿舍楼的房间。

考勤管理

3个角色都有权限,但学生只有查询权限,没有维护权限。

修改密码

代码的话是没办法讲了,内容有点多,有兴趣的自己去下载看看咯。

可能存在的问题

1.表设计可能不是特别完善、并且有些功能没加,离校太久有点想不起来了。

2.难免会有些bug吧,不过也不是上线用的,参考学习的话我觉得是足够了。

3.文档我是不会写的,哈哈,运行文档写一个吧,放到源码里面。

看到这里的大佬,动动发财的小手 点赞 + 回复 + 收藏 ,能关注一波就更好了。


代码获取方式:
订阅我的专栏 《JavaWeb项目实例 》后,可以 联系博主 获取专栏里面的【1-2份代码和文章】,专栏的文章都是上过csdn热榜的,值得信赖!专栏内目前有[6]篇实例,未来2个月内专栏会更新到15篇以上,一般一周一更,了解一下我的专栏《JavaWeb项目实例

 更多源码

♥ Java学生成绩管理系统 ♥

♥ Java实验室预约管理系统 ♥

♥ Java植物大战僵尸 ♥

♥ Java坦克大战,回忆童年!♥

♥ Java扫雷小游戏,以前上学经常玩 ♥

本系统基于Struts2框架 B/S软件架构体系以windows 7为操作系统,适用于大部分电脑以Eclipse为开发平台TomCat为服务器以J2EE为开发架构MySql为后台数据库开发出本系统。 2.1 B/S软件架构 B/S结构(Browser/Server结构)结构即浏览器和服务器结构。它是随着Internet技术兴起对C/S结构一种变化或者改进结构。在这种结构下用户工作界面是通过WWW浏览器实现极少部分事务逻辑在前端(Browser)实现但是主要事务逻辑在服务器端(Server)实现形成所谓三层3-tier结构。 B/S体系结构是一种三层结构即表示层、应用逻辑层、数据层。 2.2 Struts 2 Struts2是一个基于MVC设计模式Web应用框架它本质上相当于一个servlet在MVC设计模式中Struts2作为控制器(Controller)建立模型与视图数据交互。Struts 2是Struts下一代产品是在 struts 1和WebWork技术基础上进行合并全新Struts 2框架。其全新Struts 2体系结构与Struts 1体系结构差别巨大。Struts 2以WebWork为核心采用拦截器机制处理用户请求这样设计也使得业务逻辑控制器能够与ServletAPI完全脱离开所以Struts 2可以理解为WebWork更新产品。虽然从Struts 1到Struts 2有着太大变化但是相对于WebWorkStruts 2变化很小。 2.3 J2EE J2EE核心是一组技术规范与指南其中所包含各类组件、服务架构及技术层次均有共同标准及规格让各种依循J2EE架构不同平台之间存在良好兼容性解决过去企业后端使用信息产品彼此之间无法兼容企业内部或外部难以互通窘境。 J2EE组件和“标准Java不同点在于:它被装配在一个J2EE应用中具有固定格式并遵守J2EE规范由J2EE服务器对其进行管理。J2EE规范是这样定义J2EE组件:客户端应用程序和applet是运行在客户端组件;Java Servlet和Java Server Pages (JSP) 是运行在服务器端Web组件;Enterprise Java Bean (E JB )组件是运行在服务器端业务组件。 2.4 Eclipse Eclipse 是一个开放源代码、基于Java可扩展开发平台。其本身而言它只是一个框架和一组服务用于通过插件组件构建开发环境。幸运Eclipse 附带一个标准插件集包括Java开发工具(Java Development KitJDK)。 2.5 TomCat Tomcat是Apache 软件基金会(Apache Software Foundation)Jakarta 项目中一个核心项目由Apache、Sun 和其他一些公司及个人共同开发而成。由于有Sun 参与和支持最新Servlet 和JSP 规范总是能在Tomcat 中得到体现Tomcat 5支持最新Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定而且免费因而深受Java 爱好者喜爱并得到部分软件开发商认可成为目前比较流行Web 应用服务器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:撸撸猫 设计师:马嘣嘣 返回首页
评论 117

打赏作者

编程界明世隐

请博主喝瓶水,博主持续输出!

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值