一、源码特点
java SSM 宿舍管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,spring+springMVC+mybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。
二、功能介绍
1、首页:首页显示所有公告。发布公告,对公告进行增删改查。
2、宿舍管理:页面显示所有宿舍信息,mysql数据库表单包括id、宿舍号、宿舍类型(男生宿舍,女生宿舍)、最大人数、联系电话、评分、备注。对所有数据增删改,查询按宿舍号和宿舍类型查询。(匹配数据库,已有的宿舍号无法新增,提示已存在宿舍)
3、学生信息管理:页面显示所有学生信息,mysql数据库表单包括id、学号、密码、姓名、生日、性别、所在地、电话、班级、专业、起床时间、睡觉时间、兴趣爱好、生活习惯、备注。对所有数据增删改,按学号、姓名进行查询。(匹配数据库,已有学号无法新增,提示已存在学生)
4、宿舍管理员管理:页面显示所有宿舍管理员信息,mysql数据库表单包括id、工号、密码、姓名、身份证号码、性别、电话、备注。对所有数据增删改,查询按工号和姓名。(匹配数据库,已有工号无法新增,提示已存在宿舍管理员)
5、宿舍分配:页面显示所有宿舍信息。包括宿舍号、宿舍类型(男生宿舍,女生宿舍)、最大人数、联系电话、评分、备注。功能有自动分配、手动分配、查看宿舍住宿人员(宿舍号、学号、姓名、入住时间、备注、操作(退宿、成为宿舍长))
自动分配功能:按学生的专业、作息时间、兴趣爱好、生活习惯、将相似的学生自动分配到一起
6、水电费缴费管理:页面显示缴费信息。mysql数据库表单包括id、宿舍号、宿舍类型、最大人数、联系电话、应缴电费、应缴水费、评分、备注。对所有数据增删改,查询按宿舍号、宿舍类型查询。
宿舍管理员模块
1、首页:首页显示所有公告。发布公告,对公告进行增删改查。
2、宿舍管理:页面显示所有宿舍信息,mysql数据库表单包括id、宿舍号、宿舍类型(男生宿舍,女生宿舍)、最大人数、联系电话、评分、备注。对所有数据增删改,查询按宿舍号、宿舍类型查询。(匹配数据库,已有的宿舍号无法新增,提示已存在宿舍)
3、学生信息管理:页面显示所有学生信息,mysql数据库表单包括id、学号、密码、姓名、生日、性别、所在地、电话、班级、专业、起床时间、睡觉时间、兴趣爱好、生活习惯、备注。对所有数据增删改,按学号、姓名进行查询。
(匹配数据库,已有学号无法新增,提示已存在学生)
4、宿舍分配:页面显示所有宿舍信息。包括宿舍号、宿舍类型(男生宿舍,女生宿舍)、最大人数、联系电话、评分、备注。功能有自动分配、手动分配(输入学号分配)、查看宿舍住宿人员(宿舍号、学号、姓名、入住时间、备注、操作(退宿、成为宿舍长))
自动分配功能:按学生的专业、作息时间、兴趣爱好、生活习惯、将相似的学生自动分配到一起
5、水电费缴费管理:页面显示缴费信息。mysql数据库表单包括id、宿舍号、宿舍类型、最大人数、联系电话、应缴电费、应缴水费、评分、备注。对所有数据增删改,查询按宿舍号、宿舍类型查询。
学生个人管理模块
1、首页:首页显示所有公告。对公告进行浏览。
2、个人信息管理:页面显示学生信息,mysql数据库表单包括id、学号、密码、姓名、生日、性别、所在地、电话、班级、专业、起床时间、睡觉时间、兴趣爱好、生活习惯、备注。对所有数据修改。
3、宿舍信息查看:浏览本宿舍所有成员的信息。包括学号、姓名、生日、性别、所在地、电话、班级、专业、起床时间、睡觉时间、兴趣爱好、生活习惯、备注。
4、水电费缴费:页面显示缴费信息。mysql数据库表单包括id、宿舍号、宿舍类型、最大人数、联系电话、应缴电费、应缴水费、评分、备注。(进行水费、电费缴费操作)
关键代码设计:
Map<Character, int[]> vectorMap = new HashMap<Character, int[]>();
int[] tempArray = null;
public Similarity(String string1, String string2) {
for (Character character1 : string1.toCharArray()) {
if (vectorMap.containsKey(character1)) {
vectorMap.get(character1)[0]++;
} else {
tempArray = new int[2];
tempArray[0] = 1;
tempArray[1] = 0;
vectorMap.put(character1, tempArray);
}
}
for (Character character2 : string2.toCharArray()) {
if (vectorMap.containsKey(character2)) {
vectorMap.get(character2)[1]++;
} else {
tempArray = new int[2];
tempArray[0] = 0;
tempArray[1] = 1;
vectorMap.put(character2, tempArray);
}
}
}
// 求余弦相似度
public double sim() {
double result = 0;
result = pointMulti(vectorMap) / sqrtMulti(vectorMap);
return result;
}
private double sqrtMulti(Map<Character, int[]> paramMap) {
double result = 0;
result = squares(paramMap);
result = Math.sqrt(result);
return result;
}
// 求平方和
private double squares(Map<Character, int[]> paramMap) {
double result1 = 0;
double result2 = 0;
Set<Character> keySet = paramMap.keySet();
for (Character character : keySet) {
int temp[] = paramMap.get(character);
result1 += (temp[0] * temp[0]);
result2 += (temp[1] * temp[1]);
}
return result1 * result2;
}
// 点乘法
private double pointMulti(Map<Character, int[]> paramMap) {
double result = 0;
Set<Character> keySet = paramMap.keySet();
for (Character character : keySet) {
int temp[] = paramMap.get(character);
result += (temp[0] * temp[1]);
}
return result;
}
三、注意事项
1、管理员账号:admin 密码:admin 数据库配置文件datasource.properties
2、开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。
3、数据库文件名是jspssmsushe.sql,系统名称ssmsushe
4、系统首页地址:http://127.0.0.1:8080/ssmsushe/
四 系统实现