计算机毕设音乐网站系统,计算机毕业设计之JavaWeb个性化音乐推荐系统 音乐网站...
开发技术
前端:JQuery HTML CSS
后端:JSP+Servlet+JDBC
算法:标签推荐、热门推荐
代码开源地址
特色
推荐算法、注释丰富、纯经典MVC架构
功能
1、用户登录
(1) 用户基本信息展示、修改
(2) 用户收藏列表
(3) 用户听歌记录
2、网站主要实现功能
(1) 热门歌曲推荐
(2) 用户喜欢歌曲推荐
(3) 歌曲排行推荐
① 人气排行(根据听曲人数总量确定)
② 下载排行(根据歌曲下载次数确定)
③ 收藏排行(根据歌曲被收藏的次数确定)
(4) 歌曲搜索
(5) 歌曲评论及展示
(6) 歌曲区分类展示(为歌曲定义标签并分标签展示)
(7) 用户给歌曲打标签(标签是系统推荐的标签,用户只能在其中选择(此标签在整个系统中不起作用,只对于此用户起作用))
3、管理员功能
(1) 管理员页面与普通用户页面展示不同
(2) 上传并管理所有歌曲
① 上传歌曲
② 为歌曲定义标签
③ 删除歌曲
④ 修改歌曲基本信息
(3) 管理用户信息
(4) 管理评论信息
运行截图
个性化音乐推荐系统
个性化音乐推荐系统
个性化音乐推荐系统
个性化音乐推荐系统
个性化音乐推荐系统
个性化音乐推荐系统
个性化音乐推荐系统
个性化音乐推荐系统
个性化音乐推荐系统
个性化音乐推荐系统
核心推荐算法代码实现
package com.controller;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONObject;
import com.entity.SongList;
import com.entity.SongListWithSong;
import com.service.SongListServiceImpl;
import com.service.SongListServiceInter;
import com.service.SongListWithSongServiceImpl;
import com.service.SongListWithSongServiceInter;
/**
* 标签推荐
* @author 29207
*
*/
public class TagsRecommendServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Map songListTagsNameMap = new HashMap();//存储歌单标签名字和出现次数
java.util.List> songListTagsNameListClassement = new ArrayList>();//存储排序后歌单标签名字和出现次数
PrintWriter out = response.getWriter();
//获取歌单编号
String songListIdString = request.getParameter("songListId");
int songListId = Integer.parseInt(songListIdString);//歌单编号
//声明查询歌单的服务
SongListServiceInter songListService = new SongListServiceImpl();
//用于存放所有歌曲存在的所有歌单
ArrayList allSongLists = new ArrayList();
//查询该歌单中存在的歌曲
//声明songListWithSong(歌曲歌单表服务对象)
SongListWithSongServiceInter songListWithSongService = new SongListWithSongServiceImpl();
//调用方法
ArrayList songListWithSongs = songListWithSongService.selectSongListWithSongOfSongLIstId(songListId);
//遍历,获取其中的歌曲编号
for (SongListWithSong songListWithSong : songListWithSongs) {
int songId = songListWithSong.getSongId();//获取每一个歌曲编号
//根据歌曲编号,查询该歌曲存在在哪些歌单中
ArrayList songFromSongLists = songListWithSongService.selectSongListIdFromSongListWithSongOfSongId(songId);
//遍历,取出每个歌单的歌单编号,根据歌单编号查找歌单
for (SongListWithSong songListWithSong2 : songFromSongLists) {
int oneSongFromsongListId = songListWithSong2.getSongListId();
//根据歌单编号查询歌单信息
SongList oneSongList = songListService.selectSongListOfSongListId(oneSongFromsongListId);
//把该歌单存入allSongLists
allSongLists.add(oneSongList);
}
}
System.out.println("==========我是标签推荐服务=========");
//一个歌单中所有歌曲涉及到的所有歌单为allSongLists
int allSongListsLen = allSongLists.size();
UserSongListRecommendServlet userSongListRecommendServlet = new UserSongListRecommendServlet();
songListTagsNameMap = userSongListRecommendServlet.getSongListTagsNameMap(allSongListsLen, allSongLists, songListTagsNameMap);
songListTagsNameListClassement = userSongListRecommendServlet.songListTagsNameComm(songListTagsNameMap);//标签排序后
int songListTagsNameListClassementLen = songListTagsNameListClassement.size();
JSONObject tagsRecommJsonObject = new JSONObject();
System.out.println("排序后长度:" + songListTagsNameListClassementLen);
if (songListTagsNameListClassementLen == 0) {
out.print("null");
}else {
if (songListTagsNameListClassementLen <= 5) {
for (int i = 0; i < songListTagsNameListClassementLen; i++) {
String tagsRecomm = songListTagsNameListClassement.get(i).getKey();
tagsRecommJsonObject.put(i, tagsRecomm);
}
}else {
for (int i = 0; i < 5; i++) {
String tagsRecomm = songListTagsNameListClassement.get(i).getKey();
tagsRecommJsonObject.put(i, tagsRecomm);
}
}
System.out.println("推荐标签JSON===" + tagsRecommJsonObject);
out.print(tagsRecommJsonObject);
}
}
}
计算机毕设音乐网站系统,计算机毕业设计之JavaWeb个性化音乐推荐系统 音乐网站...相关推荐
- 基于java电影评论网站系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署
基于java电影评论网站系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署 基于java电影评论网站系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署 本源码技术栈: ...
- JAVA宠物商城网站系统计算机毕业设计Mybatis+系统+数据库+调试部署
JAVA宠物商城网站系统计算机毕业设计Mybatis+系统+数据库+调试部署 JAVA宠物商城网站系统计算机毕业设计Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S架构 开发语 ...
- 基于JAVA漫画网站系统计算机毕业设计源码+数据库+lw文档+系统+部署
基于JAVA漫画网站系统计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA漫画网站系统计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...
- java项目-第161期ssm弹幕视频网站系统_ssm毕业设计_计算机毕业设计
java项目-第161期ssm弹幕视频网站系统_ssm毕业设计_计算机毕业设计 [源码请到资源专栏下载] 今天分享的项目是<ssm弹幕视频网站> 该项目分为2个角色,管理员.用户. 用户可 ...
- 基于JAVA住房公积金筹集子系统的网站系统计算机毕业设计源码+系统+数据库+lw文档+部署
基于JAVA住房公积金筹集子系统的网站系统计算机毕业设计源码+系统+数据库+lw文档+部署 基于JAVA住房公积金筹集子系统的网站系统计算机毕业设计源码+系统+数据库+lw文档+部署 本源码技术栈: ...
- Java毕设项目住房公积金筹集子系统的网站系统计算机(附源码+系统+数据库+LW)
Java毕设项目住房公积金筹集子系统的网站系统计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm ...
- java毕业生设计住房公积金筹集子系统的网站系统计算机源码+系统+mysql+调试部署+lw
java毕业生设计住房公积金筹集子系统的网站系统计算机源码+系统+mysql+调试部署+lw java毕业生设计住房公积金筹集子系统的网站系统计算机源码+系统+mysql+调试部署+lw 本源码技术栈 ...
- Java毕设项目在线答题系统计算机(附源码+系统+数据库+LW)
Java毕设项目在线答题系统计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Ecli ...
- 如何使用Python+Django+Mysql开发个性化职位推荐系统 招聘网站推荐系统 基于用户、项目的协同过滤推荐算法 基于内容、聚类、关联规则推荐算法WebPositionCFRSPython
如何使用Python+Django+Mysql开发个性化职位推荐系统 招聘网站推荐系统 基于用户.项目的协同过滤推荐算法 基于内容.聚类.关联规则推荐算法WebPositionCFRSPython 一 ...
- springboot+mysql电影网站系统-计算机毕业设计源码04876
摘 要 本次系统设计中,以用户的实际操作感作为整体开发的出发点,结合Java开发语言对软件开发原理,以实际运用作为出发点,以提高心仪电影获取效率为目的,使用SpingBoot框架技术整体开发源程序, ...
最新文章
- CSS2.0中文手册(CHM版)
- 开发日记-20190506 关键词 汇编语言(五)Hello World!
- JavaScript 读取、写入Txt文档
- BZOJ3879: SvT【后缀数组+单调栈】
- Windows 8 Release Preview 安装秘技两则
- 数组,三种初始化和内存分析
- java 试题 历届试题 单词分析 题解
- 构建azure对话机器人_如何在5分钟内使用Azure创建聊天机器人
- boot spring 启动 文本_springboot 选择启动某个配置文件
- 【暖*墟】#洛谷网课1.30# 树上问题
- 手把手教你使用Bitvise Tunnelier设置SSH代理服务器
- JZOJ1205. 帮助Bubu(2017.8B组)
- linux火狐插件目录,Firefox的插件目录在哪里?
- BF(暴力求解算法)
- 销量下降,到底应该怎么分析?!
- poj Best Cow Line
- 尚品汇_第4章_ 商品spu保存
- Oracle的客户端工具
- 湖北电信天邑TY1608_S905L3B_MT7668_卡刷固件包
- 哈佛管理论丛-谁背上了猴子
热门文章
- 1秒把 FLV MOV AVI MKV 3GP WEBM 转去 MP4 完全免费 - 完美教程 超级简单 你没看错
- Modbus TCP协议
- 扎耶德可持续发展奖在评审会期间公布30名决赛入围者名单
- CAD转换PDF格式后文字模糊怎么办?
- word转HTML-python第三方包Mammoth
- [SVN]svn如何生成patch和打(导入)patch文件的简单方法
- 高清MP4芯片方案点评
- FarPoint.Web.Spread 那些事
- 应用程序无法正常启动(0xc0000022)
- 转载一篇超强的手绘MM教程!完全只用Photoshop做出的美女!