目 录

第一章 绪论 1
1.1研究背景和意义 1
1.2研究目标 1
1.3论文结构 1
1.4本章小结 2
第二章 相关技术与方法 3
2.1架构概述 3
2.2关键技术简介 3
2.3开发工具 4
2.4本章小结 5
第三章 系统分析 6
3.1可行性分析 6
3.1.1技术可行性 6
3.1.2经济可行性 6
3.1.3 操作可行性 6
3.2 需求分析 6
3.2.1系统总体需求 6
3.2.2用例图分析 7
3.3本章小结 10
第四章 系统设计 11
4.1系统类分析 11
4.1.1 User类 11
4.1.2 Administrator类 11
4.1.3 Music类 12
4.1.4 Comment类 13
4.1.5 Score类 13
4.2关键业务设计 14
4.2.1系统登录时序图 14
4.2.2系统注册时序图 15
4.3数据库设计 15
4.3.1概述 15
4.3.2概念设计 16
4.3.3数据库表 16
4.4本章小结 18
第五章 系统设计与实现 19
5.1系统设计结构 19
5.2用户登录 19
5.3用户注册 21
5.4 代码结构 23
5.5 本章小结 24
第六章 系统测试 25
6.1系统测试综述 25
6.2测试用例 25
6.2.1用户登录模块 25
6.2.2用户注册模块 26
6.3测试分析 26
6.4本章小结 29
第七章 总结 30
参考文献 31
致 谢 32
第三章 系统分析
3.1可行性分析
传统的音乐系统平台只能存储大量的歌曲文件,而且功能简陋,用户体验不是特别的友好。而随着音乐的普及,传统的音乐系统面临着海量的歌曲存储以及管理,本音乐推荐系统采用了Hadoop分布式框架对不仅对海量歌曲提供了存储的基础而且对相关歌曲向用户进行推荐,提供了良好的用户体验。因此主要对技术可行性、经济可行性、操作可行性三方面进行可行性分析。
3.1.1技术可行性
基于Hadoop的音乐推荐系统采用MVC设计思想,采用Ubutu Linux为系统搭建平台,Java编程语言、Hadoop分布式处理框架、MySQL数据库、JSP等技术为工具支持实现整个系统的开发,由于各个技术及操作系统均为开源免费且用户团队庞大,因此技术方面是可行的。
3.1.2经济可行性
人力资源方面,该音乐推荐系统为本人自主开发,不需要耗费太多的人力。在资金方面,使用的工具及技术均为开源免费的,经济消费小,只需要一台电脑即可进行开发。
3.1.3 操作可行性
基于Hadoop的音乐推荐系统的用户群体是针对不同年龄阶段的人均可使用的,系统主界面采用简约的风格,使用户一眼看过去就能清晰明了的知道该系统具备哪些功能并使用。对于喜欢相同风格音乐的不同用户,通过后台的离线分析,对各个用户进行智能推荐。总而言之,该系统具备操作简单,功能友好的特性。
3.2 需求分析
3.2.1系统总体需求
系统分为管理员和普通用户。
系统管理员:系统管理员可以进入后台,后台首先进入首页、然后用管理中心负责对音乐文件进行增加和删除,还可以增加对新出歌曲的推送信息或广告信息,推送在首页。
本文转载自http://www.biyezuopin.vip/onews.asp?id=15322一般用户:一般用户可以访问除后台管理外的所有功能。主要分为网站首页、歌曲搜索、推荐歌曲、个人中心。网站首页展示有新出歌曲的推送或者广告等信息;歌曲搜索可以模糊匹配也可以进行歌曲名的匹配搜索;歌曲下载可也根据所搜索或者在听的歌曲进行下载;通过在听音乐可以对该歌曲进行评论;个人中心主要是个人资料版块。

<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Home</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="keywords" content="" />
<script type="application/x-javascript"> addEventListener("load", function() { setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); } </script>
<!-- font files  -->
<link href='http://fonts.useso.com/css?family=Muli:400,300' rel='stylesheet' type='text/css'>
<link href='http://fonts.useso.com/css?family=Nunito:400,300,700' rel='stylesheet' type='text/css'>
<!-- /font files  -->
<!-- css files -->
<link href="css/login.css" rel='stylesheet' type='text/css' media="all" />
<!-- /css files -->
<script type="text/javascript">function check(){var sname = document.getElementById("username").value;var password = document.getElementById("password").value;var email = document.getElementById("email").value;var phone = document.getElementById("phone").value;if(sname == null || sname == "" ){alert("用户名不能为空");return false;}else if(phone == null || phone == "" ){alert("手机号不能为空");return false;}else if(email == null || email == "" ){alert("邮箱不能为空");return false;}else if(password == null || password == "" ){alert("密码不能为空");return false;}return true;}
</script>
</head>
<body>
<h1>基于Hadoop歌曲推荐管理系统</h1>
<div class="log"><div class="content1"><h2>登录</h2><form name="form1" method="post" action="loginServlet"><td><font color="red" size="2" id="error">${error}</font></td><input type="text" name="username" value="用户名" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'USERNAME';}"><input type="password" name="password" value="PASSWORD" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'PASSWORD';}"><div class="button-row"><input type="submit" class="sign-in" value="登录"><input type="reset" class="reset" value="重置"><div class="clear"></div></div></form></div><div class="content2"><h2>注册</h2><td><font color="red" size="2" id="error">${rerror}</font></td><form name="form2" method="post" action="addUserServlet" onsubmit="return check()"><input type="text" name="username" id="username" value="用户名" onfocus="this.value = '';""><input type="tel" name="phone" id="phone" value="电话号码" onfocus="this.value = '';"><input type="text" name="email" id="email" value="邮箱地址" onfocus="this.value = '';"><input type="password" name="password" id="password" value="PASSWORD" onfocus="this.value = '';"><input type="submit" class="register" value="注册"></form></div><div class="clear"></div>
</div>
<div class="footer"><p>Copyright &copy; 2017.Company name All rights reserved.<a target="_blank" href="http://sc.chinaz.com/moban/">&#x7F51;&#x9875;&#x6A21;&#x677F;</a></p>
</div></body>
</html>

















基于Hadoop+Java+MySQL的歌曲推荐管理系统设计与实现相关推荐

  1. 基于JavaWeb+SSM+MySQL的网盘管理系统设计与实现

    资源下载地址:https://download.csdn.net/download/sheziqiong/85630883 资源下载地址:https://download.csdn.net/downl ...

  2. 【java毕业设计】基于javaEE+原生Servlet+MySql的Web停车场管理系统设计与实现(毕业论文+程序源码)——停车场管理系统

    基于javaEE+原生Servlet+MySql的Web停车场管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于javaEE+原生Servlet+MySql的Web停车场管理系统设计 ...

  3. java计算机毕业设计干洗店订单管理系统设计与实现源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计干洗店订单管理系统设计与实现源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计干洗店订单管理系统设计与实现源码+mysql数据库+系统+lw文档+部署 本源码技 ...

  4. 【java毕业设计】基于javaEE+Spring的新闻发布及管理系统设计与实现(毕业论文+程序源码)——新闻发布及管理系统

    基于javaEE+Spring的新闻发布及管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于javaEE+Spring的新闻发布及管理系统设计与实现,文章末尾附有本毕业设计的论文和源 ...

  5. java计算机毕业设计科研成果管理系统设计与实现源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计科研成果管理系统设计与实现源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计科研成果管理系统设计与实现源码+mysql数据库+系统+lw文档+部署 本源码技术栈 ...

  6. 【php毕业设计】基于php+mysql+apache的教材管理系统设计与实现(毕业论文+程序源码)——教材管理系统

    基于php+mysql+apache的教材管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于php+mysql+apache的教材管理系统设计与实现,文章末尾附有本毕业设计的论文和源 ...

  7. 基于Python + Django + mysql的协同推荐算法的电影推荐系统

    基于Python + Django + mysql的协同推荐算法的电影推荐系统 本系统一共分为前台系统功能和后台系统功能两个模块,两个模块之间虽然在表面上是相互独立的,但是在对数据库的访问上是紧密相连 ...

  8. 【java毕业设计】基于javaEE+SSM+MySql的个人博客系统设计与实现(毕业论文+程序源码)——个人博客系统

    基于javaEE+SSM+MySql的个人博客系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于javaEE+SSM+MySql的个人博客系统设计与实现,文章末尾附有本毕业设计的论文和源 ...

  9. java计算机毕业设计废品回收管理系统设计与实现源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计废品回收管理系统设计与实现源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计废品回收管理系统设计与实现源码+mysql数据库+系统+lw文档+部署 本源码技术栈 ...

最新文章

  1. Python 闭包、单个装饰器、多个装饰器、装饰器修饰类、应用场景
  2. git 撤销提交的文件
  3. 似然估计中为什么要取对数以GMM为例
  4. spring配置的相关文章
  5. simulink中选择开关模块的使用
  6. HDU1231(DP)
  7. python 调用opencv dll_【问题已解决】python 3.6下安装opencv-python解决cv2 DLL load failed: 找不到指定的模块问题...
  8. 使用cronolog-1.6.2按日期截取Tomcat日志
  9. 执行查看linux端口命令 9083 端口发现被占用 Hive安装过程遇到的问题
  10. android camera实例
  11. 认识卷积神经网络(卷积层和池化层)
  12. win10 修改c盘用户文件夹名称
  13. 企业财务制度二--会计科目名称和编号(一)1291 分期收款发出商品(转载)
  14. 2022年「博客之星」参赛博主:落寞的魚丶
  15. APIS(BOM)——Window对象、本地存储
  16. 华为服务器操作系统筹备开源社区,华为开源服务器操作系统EulerOS 开源社区年内上线...
  17. C语言课程设计-实验室设备管理系统
  18. CSDN-markdown语法之如何插入图片
  19. java关于数组的下标越界
  20. 如何鉴别和评审APS软件?内行人告诉你

热门文章

  1. Power Artist PA功耗仿真
  2. 给公司小伙伴培训的 Kafka等MQ 入门知识,了解一下?
  3. WindowsServer操作系统安全
  4. 传统样板房会就此消失吗?那些年被我们误解的VR看房
  5. 亚马逊云科技云上的游戏服务:Lumberyard + Amazon GameLift + Twitch
  6. Angular4.0_路由守卫
  7. 地球末日服务器不稳定,神雕侠侣2手游侠客传功功能上线 4月9日更新内容一览[多图]...
  8. 看别人是怎么挣钱的,你就知道生活中 思路决定成功
  9. 门槛(threshold)估计方法学习代码
  10. HAR(HTTP Archive)规范