当前位置:   article > 正文

基于Hadoop+Java+MySQL的歌曲推荐管理系统设计与实现_基于hadoop、java、mysql的歌曲推荐管理系统设计与实现

基于hadoop、java、mysql的歌曲推荐管理系统设计与实现

目 录

第一章 绪论 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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/379354
推荐阅读
相关标签
  

闽ICP备14008679号