# student-dorm
**Repository Path**: mmaplefix/student-dorm
## Basic Information
- **Project Name**: student-dorm
- **Description**: 依赖于古老技术servlet+jsp+jQuery的宿舍管理系统。
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2023-11-02
- **Last Updated**: 2023-11-20
## Categories & Tags
**Categories**: Uncategorized
**Tags**: 宿舍管理系统, java毕业设计, Servlet, jsp
## README
# 学生宿舍管理系统
#### 介绍
JavaWeb学生宿舍管理系统项目,可用于Java专业毕业设计或者课题作业(只适用于技术栈比较简单的小项目)。
#### 软件架构
基于远古技术:JSP+servlet+JavaBean三层架构
#### 系统介绍篇
##### 系统角色
分为 管理员与学生 两类角色
##### 系统模块
宿舍管理系统分为前端和后台,二者都有自己所拥有的功能,本系统主要包含了个人信息模块、调换申请模块、维修申请模块、管理用户信息模块、调换审核模块、楼宇管理模块、宿舍管理模块、维修审核模块。
###### 学生模块
学生模块的简要功能说明如下:
- 个人信息模块:主要查询学生的个人信息
- 调换申请模块:处理学生调换宿舍的请求
- 维修申请模块:处理学生维修宿舍物品的请求
###### 管理员模块
管理员模块简要功能说明如下:
- 管理用户信息模块:对学生的基本信息进行管理,如学生姓名、学生学号、所在班级、宿室号等信息进行存储记录,以便以后出现问题进行查询解决
- 调换审核模块:通过或驳回学生上传的审核请求
- 楼宇管理模块:对学院的宿舍楼宇进行增删改查管理
- 宿舍管理模块:管理漏洞对应的宿舍信息
- 维修处理登记模块:学生宿舍故障维修登记

#### 配置安装教程
##### 一、配置项目依赖
1. 将src/com/util/DbUtil.java下的userName与userPwd修改为自己的数据库名以及密码。

> **注:** 这一步必须要做,否则会跳转到空白页且控制台报错`java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed`
2. 选择`File`目录下的`ProjectStructure`,配置项目的SDK以及语言。

3. 若模块Modules为空,则点击`+`,选择`Import Module`,选中当前项目`StudentDorm`,然后一直点next即可。【如果不为空,可跳过Modules配置】



> **注:** 需要注意的是,导入模块时,`Libraries`与`Modules`均只需要导入一次(实测IDEA 2021会导入两次,最后一次应取消选择)
> 
> 
4. 检查`Modules`中`studentDorm`下的`Web`配置,`Deployment Descriptors
`中的`Path`为`web/WEB-INF/web.xml`,`Web Resource Direciories
`中的`Web Resource Directory`为`web`文件夹,点击确定后就可以发现,项目中的Web文件有特殊图标。


5. 检查`Libraries`中的`lib`资源中是否将`web/WEB-INF/lib`中的所有jar包全部导入。

6. 检查`Facets`中是否有Web依赖,没有的化可以自行添加。

7. 最后,新建`Artifacts`,选择`+`中`Web Application Exploded`下的`From Modules`,选中之前`Mudules`中创建好的项目模块,点击ok,再将右侧`Available Elements`未放到`Output Root`中的资源放入即可。




##### 二、配置Tomcat服务器
2. 点击右上角Add Configuration,选择Tomcat下的Local。



3. 点击当前界面中的Configure,配置(仅支持Tomcat9及以下版本)`Tomcat_Home`、`Tomcat base directory`以及`Classes`【其中`classes`是Tomcat的lib目录中的jar包】
Tomcat10相较于Tomcat9发生了一些重要变化,并不向下兼容。所有实现的api的主要包已经从javax变成jakarta。影响了JSP标准标签库(JSTL)的正常使用(JSTL太老了,它是通过旧的Servlet和jsp的包名找对应的方法的,但是新版的tomcat10的包名改了它就找不到了)

4. 选择`jre`(jdk11以上集成了jre,并没有单独jre,可以直接选择jdk),确认即可
5. 点击`Deployment`中的`+`,添加`Artifact`,点击ok即可。


最后,点击运行。

> **注:** 如果出现问题,诸如`out目录里面的classes文件夹中java代码都没有被编译`或是`not found for the web module`均可关闭idea,然后删除项目目录下的.idea文件(.iml文件可选删),然后重新打开idea进行配置。