首页 > 编程知识 正文

音乐网站的设计思路(基于web音乐网站源码)

时间:2023-05-03 19:50:12 阅读:76157 作者:1318

技术的开发

前端: JQuery HTML CSS

后端: JSP servlet JDBC

算法:标签推荐,人气推荐

代码开放源地址

特色

推荐算法、评论丰富、纯经典MVC架构

功能

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;

导入javax.servlet.servlet exception;

导入javax.servlet.http.http servlet;

import javax.servlet.http.http servlet请求;

import javax.servlet.http.http无servlet保罗;

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

*

*/

publicclasstagsrecommendservletextendshttp servlet {

@Override

保护性语音响应(httpservletrequestrequest,http servlet响应)。

throws ServletException,IOException {

doget (请求,响应);

}

@Override

protectedvoiddoget (httpservletrequestrequest,http服务器响应响应)。

throws ServletException,IOException {

Map so

ngListTagsNameMap = 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);

}

}

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。