基于SSM框架的音频分享网站的设计与实现.docx
《基于SSM框架的音频分享网站的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于SSM框架的音频分享网站的设计与实现.docx(35页珍藏版)》请在冰豆网上搜索。
基于SSM框架的音频分享网站的设计与实现
基于SSM框架的音频分享平台的设计与实现DesignandImplementationofAudioSharingPlatformBasedonSSMFramework
摘要
在信息时代飞速发展的今天,人们获取信息的方式基本来源于互联网。
互联网在人们娱乐生活上发挥着重要作用。
传统的音乐网站大同小异,已经无法满足所有人的需要。
基于SSM框架的音频分享平台可以让不同年龄层的人享受音频所带来的快乐,让人们学习生活两不误。
音频分享平台项目使用了SSM框架开发,采用了JAVA编程语言,开发工具采用Eclipse,数据库采用MySql。
用户可播放收藏搜索音频,后台的音频分类,收藏分类,音频类别分类简洁明了,管理员可通过搜索快速进行增删改操作。
本文对音频分享平台前期的目的背景,具体的需求分析进行了研究,讲述了音频分享平台的总体设计,利用了表格和思维导图详细分析音频分享平台的功能,列出数据库的数据表和测试用例及测试结果。
最后,音频分享平台开发与设计已完成。
关键词:
音频分享SSM框架JAVA
Abstract
Withtherapiddevelopmentoftheinformationage,thewaypeoplegetinformationisbasicallyfromtheInternet.TheInternetplaysanimportantroleinpeople'sentertainment.Traditionalmusicwebsitesaremuchthesameandnolongermeeteveryone'sneeds.TheaudiosharingplatformbasedonSSMframeworkcanletpeopleofdifferentagesenjoythehappinessbroughtbyaudio,andletpeoplelearnandliveatthesametime.
TheaudiosharingplatformprojectwasdevelopedusingSSMframework,JAVAprogramminglanguage,EclipsedevelopmenttoolandMySqldatabase.Userscanplayfavoritesearchaudio,backgroundaudioclassification,collectionclassification,audiocategoryclassificationissimpleandclear,theadministratorcanquicklythroughthesearchoperation.
Inthispaper,thepurposeoftheearlydevelopmentofaudiowebsite,thespecificneedsoftheanalysisoftheresearch,theaudioplatformoveralldesign,theuseoftablesandmindmapdetailedanalysisoftheaudiowebsitefunction,thedatabasedatatableandtestcasesandtestresults.Finally,thewebsitedevelopmentanddesignhavebeencompleted.
Keywords:
AudiosharingSSMframeworkJAVA
第一章绪论
1.1研究背景及意义
经过四十多年的不断发展,计算机网络已经成为支撑现代社会发展与技术进步的重要基础[1]。
近十年来,计算机网络在规模上呈现出惊人的扩张,无论在网络接入方式还是网络角色定位方面都出现了一系列极具意义的创新与改革[1]。
从改革开发到如今2020年,足足42年间,人民不仅仅只局限于吃饱喝足,而是更在意与精神上的愉悦。
互联网就是一种使大众可以获得精神高度上的愉悦的工具。
因此,互联网一直在发展进步。
而音频分享网站在互联网普及之初就已经出现,到如今普通的音频网站逐渐不能满足人民日渐提高的娱乐需求。
随着技术的进步,音频分享平台不应该仅仅是广大音乐爱好者交流分享的平台,而应该是可以开发出各种爱好者交流分享的平台。
目前,我国网络高速发展,使用网络的人也越来越多,根据CNNIC(中国互联网信息中心)对中国互联网网络发展状况等多项互联网络的统计调查,我国1997年11月第一次向世界发布互联网发展状况统汁报告,当吋中国的互联网用户为62万,到2005年7月第16次报告中,我国上网用户高达1.03亿,用户量居世界第二[2]。
2012年1月第29次报告中,截至2011年12月底,中国上网人数突破5亿,到达5.13亿,在2011年全年新增人数5580万,互联网普及率较上年提升4个百分点,达到38.3%[2]。
人们在繁忙的工作和学习,也不忘享受生活和生命。
在利用信息网络进行学习的同时,也享受着网络发展带来的其余服务,例如电子小说、网络游戏、在线音乐等。
在这样的需求下,音频分享平台应时而生。
音频分享平台是一个界面简洁大方的音频交流收藏网站,用户可以将自己喜欢的音频进行收藏,音频分享平台充分考虑到用户的需求,提供贴心的服务。
现在市面上的音频网站,大多数都是非常单调的音频分享,而如今简简单单的音频分享已经不能满足大众的需求了。
应运而生的音频分享平台主打的三个分类都是观察到了现在市面上所需要的而提出,如有声小说:
年轻人工作上忙碌,生活上琐事又多,并没有时间看电子小说,有声小说让年轻人可同时处理两件事情,且互不干扰;通过观察可发现中老年人最爱就是听收音机和看电视,而最近网络时代快速发展,越来越多中老年人踏入网络社会,网络有声小说也符合他们的需求,总而言之,音频分享平台充分考虑到用户的需求,提供贴心的服务。
1.2研究现状
1.2.1音频分享平台研究现状
20世纪90年代后期,随着国际互联网技术的快速发展和计算机多媒体、电脑音乐技术的日趋成熟,计算机除了会传递文字、静态图像,还能传递动态视频和音频信息[3]。
由此,计算机音乐便逐渐迁移到了网络音乐,网络音乐不仅从艺术传播角度来看是一次伟大的革命,同时也对艺术传统的创作、表演、欣赏、传播、教育、评论等理念产生了强烈的冲击[3]。
根据艾媒咨询4月发布的中国在线音频市场研究报告显示:
2018年1月,中国在线音频渗透率(APP活跃用户数/全网用户规模)中,喜马拉雅FM的渗透率为5.12%,排名第一,其后是蜻蜓FM和荔枝,渗透率分别为2.29%和2.18%既[4]。
可以看到,在国内音频分享平台中,喜马拉雅FM作为独角兽,优势明显[4]。
本音频分享平台主要的用户是国内对于广大音频爱好者和对音频有特殊教育需求的个人,目标是建立一个便捷的音频搜索平台,权威的网络音频榜单,年轻人和老年人均可的音频电台,构建乐在分享的音频互动网站。
1.2.2SSM技术研究现状
目前,国内外有很多的Web开发技术,其中应用最广泛的两类技术分别是微软(Microsoft)公司的.Net平台和Sun及IBM等公司提出的J2EE平台;J2EE主要面向使用JAVA程序设计语言进行基于Web的企业应用的开发部署[5]。
J2EE平台相较于.Net平台是开放的、跨平台的、可移植的,因此很多企业都选择J2EE平台的结构设计和解决方案;传统的J2EE以EJB(EnterpriseJavaBean)容器为核心,EJB组件提供事务管理,处理用户请求,支持打包处理和资源管理等功能,但是EJB与EJB容器的高度耦合关系,使其可移植性差[6],同时EJB代码的复杂、维护的困难使其逐步被淘汰,因此轻量级的框架就应运而生。
例如,Struts、Spring等,降低了开发的复杂度,提高了开发时的调试效率,进而提高了Web网站的开发速度[7]。
当下最流行的两种开发MVC开源框架,一种是SSH,一种是SSM。
他们之间的区别是MVC的实现方式和ORM持久化方面,SSH是Hiibernate二SSM是Mybatis。
和SSH相比,SSM具有轻量级,速度快,效率高、入门门槛低的优点。
因此,音频分享平台使用SSM框架进行开发与设计。
1.3研究内容
本文研究内容是设计和实现一款基于SSM框架的音频分享平台系统。
用户使用此音频分享平台可以播放收藏搜索管理喜爱的音频,当前音频分享平台最热音频和最新音频;管理员后台进行音频、收藏、分类管理。
1.4章节安排
本文是介绍开发一个基于SSM框架的音频分享平台的设计与实现。
本论文的主要结构为:
第一章:
绪论,介绍了基于SSM框架的音频分享平台的研究背景及意义、当前音频分享平台的现状,SSM技术的发展现状,以及对本论文研究内容进行简单介绍。
第二章:
音频分享平台需求分析,介绍了平台功能需求分析和可行性需求分析,以及数据需求分析,本项目以网站的形式实现基于SSM框架的音频分享平台,并且根据功能需求确定本平台的功能。
第三章:
音频分享平台设计,介绍了平台总体设计的总体架构、功能架构设计,平台的功能模块设计具体阐述了各个功能以及数据库的设计。
第四章:
音频分享平台实现,介绍本平台是如何实现的,开发实现音频分享平台所要用到的技术,详细介绍了各个功能模块的设计思路以及核心代码以及系统实现后的效果。
第五章:
音频分享平台测试,对音频分享平台进行测试,及时发现平台中的隐藏缺陷,分析缺陷产生的原因,对症下药。
第六章:
总结与展望,本章对论文进行整体总结。
第二章音频分享平台需求分析
一个系统进行开发与实现的流程:
从要做什么开始,到怎么做这个东西,再到做的实施过程,接下来便是检验成果,最后是交付;其中,第一个步骤“做什么”对应的是需求分析过程。
需求分析是系统定义部分的最后一个过程,也是开发部分第一个流程,其作用是准确了解需求并建立确认性和可验证性的基础。
2.1需求分析
现代社会,人们在闲暇空余的时间有多种放松心情的方式,有的人选择去咖啡厅喝杯咖啡,有的人选择去书店看本好书,有的人选择在游戏中寻找快乐,还有的人会选择戴上耳机倾听一首音频或者是一段有趣的小说让自己心情愉悦。
而且人们的需求还有在碎片化时间的场面下,音频分享平台可以解放双手,用户可以在碎片化时间的场面下进行其他活动,做到工作生活两不误。
音频分享平台不但给用户提供了优质的音频,同时操作方便。
音频分享平台有三大主流用户,他们分别是在校学生、上班族和中产用户。
他们的需求分别是,在校学生对音频分享平台的需求:
利用碎片化时间,针对某一学科进行额外学习,如英语学习。
上班族需求:
平时工作繁忙,对于充电和娱乐有着强烈需求,利用碎片时间会听有声小说;而且现代社会压力大,入睡困难,会选择听催眠助眠类音频来助眠。
中产用户需求:
对于传统文学内容有要求,娱乐型的有声小说较为符合。
2.1.1功能需求分析
功能需求分析描述音频分享平台应该具备的功能,对音频分享平台提供的功能描述,本音频分享平台包含以下几个功能模块的需求:
(1)榜单模块
a)有3种榜单:
按照点击量、上传时间排行、不同类别的排行榜。
(2)搜索模块
a)用户根据关键字搜索音频。
b)后台管理员在音频、收藏、分类管理页面中可通过要求搜索。
(3)收藏模块
a)前台用户可以收藏管理音频。
b)后台管理员在收藏管理页面进行增删改操作。
(4)音频模块
a)用户进入到音频页面可播放音频和浏览相关信息。
b)管理员在后台音频管理页面进行操作。
(5)注册模块
a)游客成功注册后跳转到首页。
(6)登录模块
a)用户成功登录进入首页。
b)管理员成功登录进入后台。
(7)分类模块
a)首页不同类别音频分类榜单形式显示。
b)后台管理员音频分类管理操作。
2.1.2可行性需求分析
音频分享平台开发过程中所需要的应用软件、硬件系统容易获得,服务器端的安装十分简单,客户端无需安装任何软件,可以直接通过浏览器访问网站。
用户只要能够使用互联网设备就可以访问本网站。
以上条件均满足的话,从经济的角度分析,具有完全的可行性。
音频分享平台使用一个开源且可扩展的开发工具,安装一个安装方便、安装速度快的数据库,开发语言最好使用具有简单易学、功能强大、安全、调试相对简单特性的语言。
以上条件均满足的话,从技术的角度分析,具有完全的可行性。
音频分享平台满足操作简单,对用户的要求非常低,平台内容显示整齐,网站架构建立符合大多数用户的习惯,如:
搜索框在音频分享平台右上部、网站栏目导航显而易见。
用户只需对WINDOWS操作熟练即可。
后台要管理简单,管理员方便操作。
以上条件均满足的话,从操作的角度分析,具有完全的可行性。
2.2数据需求分析
音频分享平台后台数据库实时更新内容,不同关联数据在数据库中按表的显示进行管理。
下面是音频分享平台数据的需求分析:
(1)用户信息
(2)音频类型信息
(3)播放记录信息
(4)音频信息
(5)角色信息
(6)收藏信息
(7)页面信息
第三章音频分享平台设计
本章为音频分享平台设计部分,主要以平台总体设计的总体架构、开发框架、功能架构设计,平台的功能模块设计以及数据库的设计来介绍。
此平台采用SSM框架和Bootstrap框架,后端数据库采用MySQL数据库进行开发,所用到的服务器是Tomcat服务器。
3.1平台总体设计
3.1.1平台总体架构设计
音频分享平台的总体架构采用B/S结构,由客户端和服务端组成,客户端面向的是使用音频分享平台的用户,音频分享平台的用户发送请求给服务器端,服务器处理后将数据传送给数据库进行处理,本音频分享平台的总体架构如下图1-1所示。
图1-1平台总体架构
平台总体架构层次功能分析:
(1)Controller层为表现层:
接受http请求,控制流程,调用Service层的接口;
(2)Service层为业务层:
设计接口和其实现类,调用已定义的DAO层接口;
(3)DAO层为持久层:
设计DAO层接口,与数据库进行联络。
3.1.2平台功能结构设计
根据第二章的需求分析,为了满足用户的需求,基于SSM框架的音频分享平台的主要功能有七个,音频分享平台的功能模块如下图1-2所示:
不同的功能里有不同的操作内容:
登录功能:
用户和管理员登录。
填写账号密码用户类型进行登录。
注册功能:
用户注册。
游客填写相关信息注册为用户。
收藏管理:
点击收藏,查看收藏,用户收藏管理音频,管理员后台管理所有收藏信息。
音频功能:
播放音频。
用户可播放自己喜欢的音频,管理员后台音频增删改操作。
榜单功能:
榜单显示。
三种榜单显示:
分类榜单,最新榜单,最热榜单。
分类功能:
不同音频分类显示。
后台音频分类上传,前台上榜单分类显示。
搜索功能:
搜索音频。
用户可搜索音频,管理员在后台可根据需求搜索音频。
图1-2平台功能结构
3.2平台功能模块设计
3.2.1榜单管理
榜单管理模块是音频分享平台的主体部分之一。
根据用户点击数生成阅读排行榜单,根据管理员发布时间生成最新发布榜单。
不同分类的音频在首页以榜单的形式显示,音乐库和部分页面有最热音频和最新音频的榜单分部。
3.2.2音频管理
音频管理模块主要负责:
管理员上传一个完整的音频,系统自动检测音频名称自动检测是否重名和超长,并提醒音频,作者、简介、封面图的上传。
后台音频管理首页默认音频的上传时间进行列表排序。
音频管理模块是音频分享平台的核心,包括了管理员上传音频和用户播放音频收听。
用户可点击榜单的音频进入到对应页面进行了解和收听。
3.2.3分类管理
管理音频的类别信息,通过音乐类别名称可以进行搜索,管理员可以在此页面上编辑、新增、删除操作。
通过后台管理员将音频分类上传,首页会将音频以不同类别榜单形式呈现出来。
3.2.4音频搜索
音频搜索是一个音乐网站的必要元素,按关键字查找音频名称,搜索结果页面和音乐库界面相似,点击对应的音频名称可以进入对应的音频页面。
后台的管理页面均提供了搜索功能,方便管理员进行管理。
3.2.5收藏管理
收藏模块是普通用户和游客最大的区别,普通用户可以将自己喜欢的音频进行收藏管理。
同样为了方便管理,通过音频名称、用户名可以进行搜索,显示所有用户的收藏和收藏的音频、收藏时间,管理员可进行删除操作。
3.2.6登录管理
登录模块会在用户选择身份上进行判断和账号、密码是否匹配正确,如果匹配正确,用户信息将显示在主页上,用户可以执行其他操作。
如果匹配失败,将提示用户输入的帐号和密码错误。
登录成功后用户可以修改密码。
按照不同用户类型,平台登录成功跳转到首页,管理员跳转到后台管理。
3.2.7注册管理
游客是网站用户榜排行榜的底端,需要通过注册模块成为普通用户进而享受其他模块服务。
注册是使游客变成一个普通用户的唯一途径,注册模块设计主要的任务是提示用户填写基本实现信息,将用户数据信息添加到数据库中。
3.3数据设计
数据库是音频分享平台的核心部分之一,所有的信息都存储在数据库中,以实现所需的功能。
选择一个适合的数据库是十分重要的,为了选择合适的数据库平台,数据库应选择符合下面要求:
数据和程序相互独立;数据库可以在不同的操作系统下使用;冗余数据少,数据共享程度高;系统的用户接口简单;最好是免费开源的,没有经济压力;用户容易掌握上手,使用方便。
数据库的概念进行结构优化设计完后,可以将数据库概念转化成数据库系统支持的逻辑结构。
使用实际的数据模型,可以直观地看到数据库中各个数据表中存储的信息,如字段的名称,类型,是否允许字段为空以及字段的描述。
根据实体属性及其产生的行为,从实际需要出发,设计数据库表和系统E-R图,平台E-R图如图1-4所示。
图1-4数据库E-R图
游客可以注册成为一个普通用户,一个普通用户可对音频进行多种操作,一个管理员可以管理多个普通用户和音频。
第四章音频分享平台实现
4.1相关技术
4.1.1SSM框架
SSM是SpringMVC、Spring、Mybatis的简写。
SSM是轻量级并且应用较多的一种组合框架,好多中小型企业的门户网站、政府网站、金融项目都是基于SSM架构开发的;由于Spring是一个业务层的框架,能够很好地整合表现层的SpringMVC框架和持久层的Mybatis框架;整合以后,Spring就会充当整个应用的工厂;首先整合Spring和Mybatis,Spring整合Mybatis最简单的理解就是“把Mybatis数据源的配置、事务的管理、SqlSessionFactory的创建以及数据映射器接口Mapper的创建交由Spring管理”,所以Mybatis的配置文件mybatis-config.Xml中不需要再配置数据源及事务,在业务层service实现时不需要手动地获取SqlSession以及对应的数据映射器接口Mapper,通过Spring的注入即可[7]。
4.1.2Bootstrap框架
Bootstrap就是一个已经写好了HTML和CSS的样式组合,是一个容易上手、用于快速开发Web应用程序和网站的前端框架。
Bootstrap可以在所有的主流浏览器上运行,而且Bootstrap的响应式CSS能够自动适应于台式电脑、笔记本和手机等应用。
方便音频分享网站页面在不同平台上的自动切换。
在用户使用体验来说,出自大公司Twitter,做到了完全开源,减少用户测试的工作量。
Bootstrap框架中,各种命名都统一化和规范化,减少管理员日后的维护工作。
网站页面风格统一,画面和谐。
4.1.3MySql数据库
MySql是一种关系型数据库,将关联数据保存在不同的数据库表中,而不是全都挤在一起,提高了反应速度。
目前来说网站程序使用MySql数据库较多,MySql可以与JAVA开发语言完美配合,对于新手开发者,MySql数据库的免费开源、体积小、连接速度快的特点打动了新手开发者的内心,是一个适合降低音频分享平台开发成本的数据库。
4.2数据库实现
1、页面(authority)表
页面表主要用于保存各种页面的基本信息,其属性有用户编号(id)、页面名称(name)、菜单序列号(menu_href)、菜单位置(menu_position)、序列号(serial_number),该表结构如表3-1所示。
表3-1authority
字段名称
数据类型
长度
可否为空
描述
id
bigint
20
否
自动编号
name
varchar
64
否
用户名
serial_number
int
11
否
序列号
menu_href
varchar
128
否
菜单序列号
menu_position
varchar
8
否
菜单位置
2、收藏(collect)表
收藏表主要用于保存关于收藏功能的所有信息,其属性有:
用户编号(id)、用户收藏的音频名(musuc_name)、收藏用户id(user_id)、用户名(user_name),收藏时间(creat_time)、收藏的音频id(music_id),该表结构如表3-2所示。
表3-2collect
字段名称
数据类型
长度
可否为空
描述
id
bigint
20
否
自动编号
user_id
bigint
20
否
收藏用户id
user_name
varchar
16
否
收藏用户名
music_id
bigint
20
否
收藏的音频id
musuc_name
varchar
32
否
收藏是音频名
creat_time
datetime
否
收藏时间
3、音频(music)表
音频表主要用于保存音频的所有信息,其属性有:
用户编号(id)、音频名称(musuc_name)、创建时间(creat_time),文件路径(file_path)、图片路径(cover_img),作者(author)、点击数(click_count)、播放次数(play_count)、类型id(type_id)、更新时间(update_time)、简介(summary),该表结构如表3-3所示。
表3-3music
字段名称
数据类型
长度
可否为空
描述
id
bigint
20
否
自动编号
name
varchar
32
否
音频名称
file_path
varchar
64
否
文件路径
creat_time
datetime
否
创建时间
cover_img
varchar
64
否
图片路径
author
varchar
32
否
作者
click_count
int
11
否
点击数
play_count
int
11
否
播放次数
type_id
bigint
20
否
类型id
remark
text
否
评论
update_time
datetime
是
更新时间
summary
varchar
128
否
简介
4、音频类