美國(guó)做deals的網(wǎng)站中山百度推廣公司
一、源碼特點(diǎn)
?java 酒店推薦推薦系統(tǒng)是一套完善的完整信息系統(tǒng),結(jié)合java web開發(fā)和bootstrap UI框架完成本系統(tǒng) 采用協(xié)同過濾算法進(jìn)行推薦 ,對(duì)理解JSP java編程開發(fā)語言有幫助,系統(tǒng)具有完整的源代碼和數(shù)據(jù)庫(kù),系統(tǒng)主要采用B/S模式開發(fā)。
前段主要技術(shù) css jquery ?bootstrap UI框架
后端主要技術(shù) java jsp
數(shù)據(jù)庫(kù) mysql
開發(fā)工具 IDEA ?JDK1.8
java web基于協(xié)同過濾酒店推薦系統(tǒng)1
二、功能介紹
前臺(tái)功能:
1)系統(tǒng)首頁
2)公告瀏覽
3)酒店瀏覽、查看酒店詳情 ,系統(tǒng)并記錄用戶瀏覽記錄,系統(tǒng)采用協(xié)同過濾算法,根據(jù)用戶的行為習(xí)慣進(jìn)行推薦其他酒店
4)客房預(yù)定、入住、查看訂單
5)用戶注冊(cè)、登錄
后臺(tái)功能:
(1)管理員管理:對(duì)管理員信息進(jìn)行添加、刪除、修改和查看
(2)用戶管理:對(duì)用戶信息進(jìn)行添加、刪除、修改和查看
(3)員工管理:對(duì)員工信息進(jìn)行添加、刪除、修改和查看
(4)公告管理:對(duì)公告信息進(jìn)行添加、刪除、修改和查看
(5)酒店管理:對(duì)酒店信息進(jìn)行添加、刪除、修改和查看
(6)瀏覽管理:對(duì)瀏覽信息進(jìn)行添加、刪除、修改和查看
(7)客房類型管理:對(duì)客房類型信息進(jìn)行添加、刪除、修改和查看
(8)客房管理:對(duì)客房信息進(jìn)行添加、刪除、修改和查看
(9)預(yù)定管理:對(duì)預(yù)定信息進(jìn)行添加、刪除、修改和查看
(10)入住管理:對(duì)入住信息進(jìn)行添加、刪除、修改和查看
(11)商品管理:對(duì)商品信息進(jìn)行添加、刪除、修改和查看
(12)訂單管理:對(duì)訂單信息進(jìn)行刪除、修改和查看
(13)訂單明細(xì)管理:對(duì)訂單明細(xì)信息進(jìn)行刪除、修改和查看
(14)用戶登錄、個(gè)人信息修改
數(shù)據(jù)庫(kù)設(shè)計(jì)
CREATE TABLE `gly` (
`glyid` int(11) NOT NULL auto_increment,
`yhm` VARCHAR(40) default NULL COMMENT '用戶名',
`mm` VARCHAR(40) default NULL COMMENT '密碼',
`xm` VARCHAR(40) default NULL COMMENT '姓名', PRIMARY KEY (`glyid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `yonghu` (
`yhid` int(11) NOT NULL auto_increment,
`yhm` VARCHAR(40) default NULL COMMENT '用戶名',
`mm` VARCHAR(40) default NULL COMMENT '密碼',
`xm` VARCHAR(40) default NULL COMMENT '姓名',
`lxdh` VARCHAR(40) default NULL COMMENT '聯(lián)系電話',
`lxdz` VARCHAR(40) default NULL COMMENT '聯(lián)系地址', PRIMARY KEY (`yhid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `yuangong` (
`ygid` int(11) NOT NULL auto_increment,
`yhm` VARCHAR(40) default NULL COMMENT '用戶名',
`mm` VARCHAR(40) default NULL COMMENT '密碼',
`xm` VARCHAR(40) default NULL COMMENT '姓名',
`lxdh` VARCHAR(40) default NULL COMMENT '聯(lián)系電話',
`jd` VARCHAR(40) default NULL COMMENT '酒店', PRIMARY KEY (`ygid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `gonggao` (
`ggid` int(11) NOT NULL auto_increment,
`bt` VARCHAR(40) default NULL COMMENT '標(biāo)題',
`nr` VARCHAR(40) default NULL COMMENT '內(nèi)容',
`fbsj` VARCHAR(40) default NULL COMMENT '發(fā)布時(shí)間', PRIMARY KEY (`ggid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `jiudian` (
`jdid` int(11) NOT NULL auto_increment,
`jdmc` VARCHAR(40) default NULL COMMENT '酒店名稱',
`wz` VARCHAR(40) default NULL COMMENT '位置',
`tp` VARCHAR(40) default NULL COMMENT '圖片',
`lxdh` VARCHAR(40) default NULL COMMENT '聯(lián)系電話', PRIMARY KEY (`jdid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `liulan` (
`llid` int(11) NOT NULL auto_increment,
`jd` VARCHAR(40) default NULL COMMENT '酒店',
`yh` VARCHAR(40) default NULL COMMENT '用戶',
`llsj` VARCHAR(40) default NULL COMMENT '瀏覽時(shí)間', PRIMARY KEY (`llid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
代碼設(shè)計(jì)
int N = scanner.nextInt(); int[][] sparseMatrix = new int[N][N];//建立用戶稀疏矩陣,用于用戶相似度計(jì)算【相似度矩陣】 Map<String, Integer> userItemLength = new HashMap();//存儲(chǔ)每一個(gè)用戶對(duì)應(yīng)的不同物品總數(shù) eg: A 3 Map<String, Set<String>> itemUserCollection = new HashMap();//建立物品到用戶的倒排表 eg: a A B Set<String> items = new HashSet();//輔助存儲(chǔ)物品集合 Map<String, Integer> userID = new HashMap();//輔助存儲(chǔ)每一個(gè)用戶的用戶ID映射 Map<Integer, String> idUser = new HashMap();//輔助存儲(chǔ)每一個(gè)ID對(duì)應(yīng)的用戶映射 System.out.println("Input user--items maping infermation:<eg:A a b d>"); scanner.nextLine(); for(int i = 0; i < N ; i++){//依次處理N個(gè)用戶 輸入數(shù)據(jù) 以空格間隔 String[] user_item = scanner.nextLine().split(" "); int length = user_item.length; userItemLength.put(user_item[0], length-1);//eg: A 3 userID.put(user_item[0], i);//用戶ID與稀疏矩陣建立對(duì)應(yīng)關(guān)系 idUser.put(i, user_item[0]); //建立物品--用戶倒排表 for(int j = 1; j < length; j ++){ if(items.contains(user_item[j])){//如果已經(jīng)包含對(duì)應(yīng)的物品--用戶映射,直接添加對(duì)應(yīng)的用戶 itemUserCollection.get(user_item[j]).add(user_item[0]); }else{//否則創(chuàng)建對(duì)應(yīng)物品--用戶集合映射 items.add(user_item[j]); itemUserCollection.put(user_item[j], new HashSet<String>());//創(chuàng)建物品--用戶倒排關(guān)系 itemUserCollection.get(user_item[j]).add(user_item[0]); } } } System.out.println(itemUserCollection.toString()); //計(jì)算相似度矩陣【稀疏】 Set<Entry<String, Set<String>>> entrySet = itemUserCollection.entrySet(); Iterator<Entry<String, Set<String>>> iterator = entrySet.iterator(); while(iterator.hasNext()){ Set<String> commonUsers = iterator.next().getValue(); for (String user_u : commonUsers) { for (String user_v : commonUsers) { if(user_u.equals(user_v)){ continue; } sparseMatrix[userID.get(user_u)][userID.get(user_v)] += 1;//計(jì)算用戶u與用戶v都有正反饋的物品總數(shù) } } } System.out.println(userItemLength.toString()); System.out.println("Input the user for recommendation:<eg:A>"); String recommendUser = scanner.nextLine(); System.out.println(userID.get(recommendUser)); //計(jì)算用戶之間的相似度【余弦相似性】 int recommendUserId = userID.get(recommendUser); for (int j = 0;j < sparseMatrix.length; j++) { if(j != recommendUserId){ System.out.println(idUser.get(recommendUserId)+"--"+idUser.get(j)+"相似度:"+sparseMatrix[recommendUserId][j]/Math.sqrt(userItemLength.get(idUser.get(recommendUserId))*userItemLength.get(idUser.get(j)))); } } //計(jì)算指定用戶recommendUser的物品推薦度 for(String item: items){//遍歷每一件物品 Set<String> users = itemUserCollection.get(item);//得到購(gòu)買當(dāng)前物品的所有用戶集合 if(!users.contains(recommendUser)){//如果被推薦用戶沒有購(gòu)買當(dāng)前物品,則進(jìn)行推薦度計(jì)算 double itemRecommendDegree = 0.0; for(String user: users){ itemRecommendDegree += sparseMatrix[userID.get(recommendUser)][userID.get(user)]/Math.sqrt(userItemLength.get(recommendUser)*userItemLength.get(user));//推薦度計(jì)算 } System.out.println("The item "+item+" for "+recommendUser +"'s recommended degree:"+itemRecommendDegree); } }
三、注意事項(xiàng)
1、管理員賬號(hào):admin密碼:admin 數(shù)據(jù)庫(kù)配置文件DBO.java
2、開發(fā)環(huán)境為IDEA開發(fā),數(shù)據(jù)庫(kù)為mysql,使用java語言開發(fā)。
3、數(shù)據(jù)庫(kù)文件名是jspjdtj.sql 系統(tǒng)名稱jdtj
4、地址:qt/index.jsp?
四系統(tǒng)實(shí)現(xiàn)
?
代碼下載
https://download.csdn.net/download/qq_41221322/89064345
需要源碼 其他的定制服務(wù) ?下方聯(lián)系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓