基于Java web的音乐网站的设计与实现论文.docx
《基于Java web的音乐网站的设计与实现论文.docx》由会员分享,可在线阅读,更多相关《基于Java web的音乐网站的设计与实现论文.docx(37页珍藏版)》请在冰豆网上搜索。
![基于Java web的音乐网站的设计与实现论文.docx](https://file1.bdocx.com/fileroot1/2023-2/8/081fa2ed-b39c-4586-a758-9f70fa4d250c/081fa2ed-b39c-4586-a758-9f70fa4d250c1.gif)
基于Javaweb的音乐网站的设计与实现论文
本科毕业论文(设计)
题目:
基于JSP的音乐网站的设计与实现
姓名:
学号:
专业:
院系:
指导老师:
职称学位:
讲师/硕士
完成时间:
2015年5月
教务处制
安徽新华学院本科毕业论文(设计)独创承诺书
本人按照毕业论文(设计)进度计划积极开展实验(调查)研究活动,实事求是地做好实验(调查)记录,所呈交的毕业论文(设计)是我个人在导师指导下进行的研究工作及取得的研究成果。
据我所知,除文中特别加以标注引用参考文献资料外,论文(设计)中所有数据均为自己研究成果,不包含其他人已经发表或撰写过的研究成果。
与我一同工作的同志对本研究所做的工作已在论文中作了明确说明并表示谢意。
毕业论文(设计)作者签名:
日期:
基于JSP的音乐网站的设计与实现
摘要
随着互联网和宽带上网的普及,网络传输以其特有的快速、高效、便捷的传输方式越来越被人们接受。
在当今社会的影响下,人们因为快节奏的工作和生活产生了极大的压力,这时就需要一个放松的环境去释放这些压力,因此音乐网站也就应运而生了。
与此同时,音乐网站也为广大音乐爱好者提供了一个音乐交流的平台,借此增加对音乐的了解。
音乐网站系统以Struts2为框架进行开发,以JSP作为页面载体,后台数据库使用Mysql,在Windows环境下使用MyEclipse开发工具进行开发,采用Ajax和Jqury技术,使得系统更易维护。
前台主要实现了用户的登陆注册、音乐的上传、试听点歌、发送短消息、音乐下载以及对音乐进行留言等功能;后台主要用于对数据库的管理,实现管理员对音乐的删除、对注册过的用户进行删除、添加友情链接等功能。
关键词:
音乐网站;Struts2框架;Mysql数据库
MusicwebsitedesignandimplementationbasedonJSP
Abstract
WiththepopularityoftheInternetandbroadbandInternetaccess,networktransmissionbyitsuniquerapid,efficientandconvenienttransportmoreandmoreacceptedbypeople.Undertheinfluenceoftoday'ssociety,peopleasfast-pacedworkandlivesofgreatpressure,thenyouneedarelaxedenvironmenttoreleasethepressure,sothemusicwebsitealsocameintobeing.Atthesametime,musicwebsitealsoforthevastnumberofmusicloversprovidesaplatformforthecommunicationofmusic,toincreasetheunderstandingofmusic.
MusicwebsitesystemwithStruts2asaframeworkfordevelopment,totheJSPpageasthecarrier,usingMysqlbackenddatabase,usingtheMyEclipsedevelopmenttoolsunderWindowsenvironmentfordevelopment,usingAjaxandJqurytechnology,makesthesystemeasiertomaintain.Frontachievedamajoruseroflandregistration,uploadmusic,auditionsong,sendshortmessages,musicdownloadsandmusicmessagestootherfunctions;backgroundismainlyusedtomanagethedatabase,therealizationoftheadministratorofthedeletionofthemusic,totheregisteredusertodelete,andotherfunctions.
Keywords:
MusicWebsite;Struts2Framework ;TheMysqldatabase
1绪论
随着网络技术以及计算机的发展,人们也逐步进入到计算机网络这个范围中,人们通过Internet相互交流和沟通。
因此不同的网站也应运而生了,例如音乐网站、娱乐网站、聊天网站等等,正因为在这样的一个信息化的网络时代,音乐更是随处可在。
这就表明了,音乐网站要想有一个好的前景就必须用新的网络技术去支持,不断提升网络的宽带质量,更要提升音乐的试听、下载速度。
1.1课题研究的目的
随着计算机网络技术的发展,音乐网站系统正逐渐的渗透到各个领域,网络化和信息化的发展也促进了Web网页应用和技术的快速发展。
音乐网站正是在这样的前提下而产生的,人们通过互联网给日常生活增添了很大的乐趣,让人们在工作之后可以进行休闲的娱乐。
因为宽带用户的增加,带动了音乐网站产业的蓬勃兴起。
无论国内还是国外,音乐网站市场都呈现一派生气,近年来,全球数字娱乐业持续发展。
网络传播以其特有的快速、高效、便捷的传输方式被人们所接受,越来越多的走进了大家。
并且在当今音乐浪潮的影响下,随着音乐事业逐渐走向高峰,音乐已无处不在,音乐己与我们密不可分。
全球数字娱乐业的迅猛发展、网络电视等,无不充斥着激烈的竞争。
音乐网站在这种背景下逐渐发展起来。
音乐网站改变了传统音乐产业的产业结构。
而现在许多音乐网站不能提供在线播放,并且在技术支持上也不完善。
于是设计和实现这样一个音乐网站就成为了必须,不仅仅满足用户的可以试听音乐的功能,而且还要保证在速度上不能慢,更要在功能和性能上满足用户更多的体验和需求。
1.2课题研究意义
随着网络通信技术、多媒体技术及数据存储技术的快速发展,音乐网站作为一种大众的Web服务,给喜爱音乐的网络用户提供了极大的便利,增添了音乐用户的选择。
但有一些音乐网站由于各种不同的原因遭到了社会的淘汰,其原因主要集中在页面设计、查询浏览的速度、功能模块等不同方面。
因此,为了用户可以方便、快捷、简单、安全地实现音乐搜索去查找自己喜欢的音乐,并能实时地试听音乐、下载音乐、将音乐加入到自己的音乐盒中、点歌并将自己的建议写入到留言板以便网站的完善等,需要建立一个自由、安全的音乐网站。
本音乐网站应用MVC模式进行设计开发。
通过对网站有关音乐媒体发布事项的一番调查与分析,在用户对音乐需求的基础上,明确音乐网站系统需要实现的具体功能并实现其功能。
1.3国内外现状
2005年9月2日,全球最大的零售商沃尔玛公司表示将与微软公司正式合作,开设一家新的网络音乐下载商店。
从该网络音乐下载商店下载的音乐能够在微软的媒体播放器上播放。
无疑,沃尔玛的加入,将会是国际音乐网站市场的又一有力的角逐者。
现如今,国际音乐网站市场上已经有IPod、Microsoft、Sony、Napster.、eBay、RealNetworks等几位实力相当雄厚的集团竞争,发展势头如日中天。
也是音乐网站市场的领跑者。
然而,由于国际上苹果模式的冲击,以及版权问题,中国音乐网站市场陷入了发展的低谷期,歩履蹒跚。
中国的音乐市场在前几年发展相对缓慢。
据艾瑞咨询最新发布的《2007年中国音乐网站研究报告》研究显示,盗版和免费盛行严重影响着中国音乐网站市场的发展,2007年中国音乐网站产业与传统唱片市场和国外音乐网站市场相差甚远。
同时,艾瑞分析指出,中国音乐网站潜在着巨大的市场需求,发展空间还有待市场各方充分挖掘。
直至2012年,中国的音乐网站市场得到了飞速的发展,音乐用户包括下载和在线试听的已达到数亿,而国内的许多音乐网站,例如XXMP3,虾米音乐等,也是发展迅速,提供着高端高质量的音乐服务。
因此,中国音乐市场将歩入成熟阶段,音乐网站潜藏的巨大空间将充分释放。
中国音乐市场在与传统媒体,媒介与互联网的融合发展中,日新月异。
在内容提供方面,已经形成自制、沉积、购买版权、用户上传、合作集成等多渠道来源。
网络服务方面,电信和传统媒体各有所长并发挥着重要作用。
对于终端产品方而言,音乐网站的收听从以前单一的媒体扩展到只要有网络连接的各种电子器件。
而用户消费格局方面,除了传统的广告外,按次收费、包月收费、版权营销等也越来越得到用户的接受和用户习惯的肯定。
因此中国音乐网站的发展,也正以迅猛的速度发展并与国际接轨。
2系统环境概述
本音乐网站系统的设计是基于Struts2框架以及MySQL数据库来实现的。
本系统的开发工具主要有Myeclipse集成开发环境、MySQL数据库管理工具、Tomcat服务器处理工具等。
2.1开发工具和服务器介绍
对于音乐网站所涉及到的开发工具和服务器进行简要的介绍。
2.1.1MySQL简介
MySQL是一个精巧的SQL数据库管理系统,虽然MySQL不是开放源代码的产品,但MySQL数据库是开放源码的一种小型关联式数据库管理系统。
MySQL数据库的特点是体积小、处理速度快、总体成本低等,使得在因特网上的中小型的网站的应用非常广泛。
并优于其开放源码这特点,有很多的中小型网站为了降低网站总体成本就必定会选择Mysql数据库作为网站数据库[1][2]。
对于其他大型数据库例如Oracle、SQLserver、db2等相比,MySQL数据库肯定有其不足的地方例如稳定性和功能。
但这也丝毫不会减少它受欢迎的程度,因为对于一般的个人和中小型企业来说,MySQL数据库所提供的功能是绝对可以满足的。
2.1.2MyEclipse开发平台
MyEclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
虽然大多数用户很乐于将MyEclipse当作JavaIDE来使用,但MyEclipse的目标不仅限于此。
MyEclipse还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展MyEclipse的软件开发人员,因为它允许他们构建与MyEclipse环境无缝集成的工具。
由于MyEclipse中的每样东西都是插件,对于给MyEclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
MyEclipse是一个开发源码项目,它其实是VisualAgeforJava的替代品,其界面跟先前的Visual Age forJava差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。
2.1.3Tomcat服务器
Tomcat是Apache软件基金会的一个核心项目,并且是由Apach和Sun以及其他公司或个人共同开发而成的。
因为有了Sun公司的参与和合作,最新的Servlet以及Jsp规范总是能够在Tomcat中体现出来。
Tomcat服务器是一种免费开源的Web应用服务器,是属于轻量级的服务器,技术先进以及性能稳定,普遍使用于中小型系统和并发访问量不是很多的情况,是调试Jsp程序的法宝。
Tomcat具有处理静态Html页面的功能,同时又是Servlet和Jsp的容器,可以运行Jsp页面和Servlet。
Tomcat很受广大编程爱好者的喜爱,因为在运行它的时候占用的系统资源不大,扩展性很好,支持系统开发应用常用的功能,并处于不断的完善中,程序员可以根据自己的需要去更改或在Tomcat中加入新的功能。
运行程序只需要将所做的项目部署到Tomcat中,然后启动运行Tomcat,在浏览器上可以展示Jsp。
一般的我们在选择浏览器的时候用的是搜狗浏览器。
2.2开发技术介绍
2.2.1Java编程语言简介
Java是Sun公司在1995年推出的一种编程语言,被特意设计用于互联网的分布式环境。
Java具有类似于C++的感觉,但相比C++而言,更易于使用。
采用了以对象为导向的编程方式。
使用Java编写的应用程序,既可以在一台独立的电脑上运行,也可以分布在一个网络的服务器端和客户端运行。
另外,Java还可以用来编写容量很小的应用程序模块或者Applet,作为网页的一部分使用。
applet可使页面使用者和页面之间进行交互式操作[3][4]。
Java推出之后马上给互联网的交互式应用带来了新面貌。
目前,最常用的两种互联网浏览器软件中都包括一个Java虚拟机[5]。
并且几乎所有的操作系统中都增添了Java编译程序。
Java语言比较于C语言而言比较简单,具有跨平台、安全性以及面向对象等特点。
跨平台指的是Java能运行于不同的平台,引进了虚拟机原理,实现了不同平台的接口并且在虚拟机上运行。
安全性指的是Java程序运行的时候,内存由操作系统直接分配而不是像C++那样通过指针来对存储器地址操作,这样以来就可以避免了病毒通过指针入侵到系统中。
面向对象指的是Java语言在编程的时候一般都是将属性私有封装在类中并提供公开的访问方法[6]。
这样一来实现了程序的简洁和可维护的性能。
封装继承的思想使得程序只需做一次编译,然后通过上述特性反复利用,程序开发者只需要将主要的精力投在类及接口的设计和实现上。
2.2.2JSP技术
JSP是由Sun Microsystems公司倡导以及许多公司参与狗共同建立的一种动态网页技术标准。
JSP是最早的JavaEE规范之一,也是最经典的JavaEE技术之一,直到今天,JSP依然广泛地应用于各种JavaEE应用中,充当JavaEE应用的表现层角色。
JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)[7]。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑[8]。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户[9][10]。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP通过在标准的HTML页面中嵌入Java代码片段,或使用各种JSP标签包括使用用户自定义标签,从而可以动态的提供页面内容。
也就是说JSP页面的内容由两部分组成:
静态部分(标准的HTML标签、静态的页面内容,这些内容与静态HTML页面相同)和动态部分(受Java程序控制的内容,这些内容由Java程序来动态生成[11]。
JSP和Servlet是JavaEE规范的两个基本成员,它们是JavaWeb开发的重点知识,也是JavaEE开发的基础知识。
JSP和Servlet的本质是一样的,因此JSP最终必须编译成Servlet才能运行,或者说JSP只是生成Servlet的“草稿”文件[12]。
2.2.3Struts2框架技术
Struts是全世界最早的MVC框架,它通过采用Java Servlet/JSP技术,实现了基于JavaEEWeb应用的MVC设计模式的应用框架,Struts也确实是JavaEE应用中使用最广泛的MVC框架[13],拥有广泛的市场支持。
此外,Struts具有页面导航功能,使系统的脉络更加清晰。
通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。
Struts2由传统的struts1和WebWork两个经典的MVC框架发展起来的,Struts2是一个非常优秀的MVC的框架。
与传统的Struts1相比,Struts2允许使用普通的、传统的Java对象作为Action;Action的execute()方法不再与ServletAPI耦合,因而更易测试;支持更多的视图技术;基于AOP思想的拦截器机制,提供了极好的可扩展性;更强大、更易用的输入校验;整合的Ajax支持等,这些都是Struts2的巨大吸引力[14]。
Struts2框架工作的原理可以通过以下几个步骤来分析:
首先客户端发出一个请求指向Servlet容器,这个请求经过几个过滤器后会到达Struts2框架的心脏FilterDispatcher过滤器,在处理用户请求时,会和请求一起相互配合访问Strurs2的底层框架结构[15]。
在Web容器启动时,Struts2框架会自动加载配置文件里面的相关参数,并转换成相应的类。
如:
ConfigurationManager、ActionMapper和ObjectFactory。
ConfigurationManager存有配置文件的一些基本信息,ActionMapper存有action的配置信息。
在请求过程中所有的对象(Action,Results,Interceptors,等)都是通过ObjectFactory来创建的。
过滤器会通过询问ActionMapper类来查找到请求中需要用到的Action。
过滤器会把请求的处理交给ActionProxy。
ActionProxy作为Action的代理对象找到需要调用的Action类并创建一个实例。
然后执行所对应的Action,返回的结果一般是需要去展示的Jsp页面或者是其他的标签。
2.2.4MVC分层结构
概括来说,MVC思想将一个应用分成了Model、View、Control三个部分,三个部分以最少的耦合协同工作,从而大大提高了应用的可扩展性和可维护性。
MVC结构具有以下特点:
多个视图对应一个模型;模型返回的数据与显示逻辑分离;三层架构导致的低耦合性和易维护性[16]。
那么在Struts2中,Model对应业务逻辑组件,它通常用于实现业务逻辑方法以及与底层数据库的交互等;View对应视图组件,通常是指Jsp页面,但也适用于其他视图显示技术,如Velocity或者Excel文档;Control对应系统核心控制器和业务逻辑控制器,系统核心控制器为Struts2框架提供的FilterDispatcher,它根据请求自动调用相应的Action。
而业务逻辑控制器是指开发人员自行定义的一系列Action,在Action中负责调用相应的业务逻辑组件来完成处理。
2.2.5Ajax和Jquery技术
Ajax全称是基于XML的异步JavaScript,是与服务器交换数据并更新部分网页的技术。
(即在无需重新加载整个网页的情况下,能够更新部分网页的技术。
)传统的Web应用允许用户填写表单,当提交表单的时候向服务器发送一个请求,服务器接收并处理接收的表单,然后返回一个新的网页。
这种做法会浪费很多的带宽,因为前后两个页面中的大部分Html代码都是相同的。
而与此不同的Ajax应用可以很好的解决这个问题,Ajax应用可以向服务器发送并取回必需的数据,它使用Soap或其他一些WebService接口,并且在客户端采用了js来处理来自服务器的响应[17][18]。
由于在浏览器和服务器之间交换的数据大量减少,所以应用响应会变得更快。
综上所述,可以发现Ajax应用程序具有如下优势:
1.通过异步刷新,减少用户等待时间,很好的提升了用户的体验度;2.Ajax引擎在客户端运行,承担了一部分本来有服务器承担的工作,从而大大减轻服务器的负担;3.Ajax优化了服务器和浏览器之间的传输,减少了不必要的数据往返,减少了带宽占用。
Jquery是一个JavaScript库,它通过封装原生的JavaScript函数得到一整套定义好的方法。
具有以下功能:
1.链式操作方式(对发生在同一个Jquery对象上的一组动作,可以直接连接写而无需重复获取对象。
);2.许多成熟的插件可供选择;3.可靠的事件处理机制;4.实现动画效果更方便[19][20],并且为网站提供Ajax交互。
Jquery已经集成了js、CSS、DOM和Ajax于一体的强大功能,可以利用很少的代码,完成更多复杂的功能。
Jquery作为封装的库,其目的在于简化开发者使用js。
3详细设计
本网站是一个免费、开放的音乐交流平台,对于网站,都必须有固定的服务器让用户进行访问,用户的访问在本系统中会记录相关信息。
音乐网站有后台管理员,管理员可以对在网站内上传的音乐进行删除操作,也可以删除注册过的用户,还可以根据一些情况来增加其他管理员对音乐网站进行管理。
对于只有注册过的用户,才可以对本网站内容进行浏览,进行音乐上传、试听及收藏和留言等。
注册过的用户可以修改自己的密码,可以查询自己的账户信息,上传自己的喜欢的音乐及留言别人上传的音乐,还可以将别人上传的并且自己还喜欢的音乐添加到音乐盒。
在功能实现方面,注册过的用户可以根据音乐了解其隶属于哪张专辑;根据上传的音乐可以查询到该音乐的信息(包括上传人的信息);根据上传时间查询最新上传的作品;可试听音乐,试听后如果喜欢也可下载音乐;并且可以对音乐进行留言。
3.1性能分析
音乐网站可以说是关于音乐的专场,在这里人们可以搜索其他用户上传的并且自己喜欢的音乐,也可以进行音乐的留言,这样能使其他用户更加深刻的了解其他的人对这首歌的感想。
从而让人们能够在上传的音乐中找到自己喜欢的音乐,既省时又省事还省力。
3.2功能分析
音乐网站系统主要由两部分组成:
前台管理模块和后台管理模块。
注册过的用户在进入该网站后,不仅可以查看音乐、上传音乐、并将自己喜欢的音乐添加到音乐盒,还可以进行留言。
管理员登录后,不仅可以查看用户状态,还可以管理音乐、用户的信息。
管理员还可以根据情况添加一些管理员以维护该音乐网站的环境及安全。
(1)登录与注销
每个用户必须用自己的注册的帐号登录到系统才可以访问网站。
用户操作完成后退出系统,注销后可以重新登录系统。
(2)系统管理员
实现管理员对音乐的删除、对注册过的用户进行删除、添加友情、修改密码链接等功能。
(3)普通用户
普通用户可以浏览该网站的主页,包括试听、下载音乐,也可以进行留言;但不能查看音乐网站中的其他信息;必须要先注册之后才能登陆到系统中进行查看。
(4)登陆用户
不但可以浏览该网站的信息,也可以进行留言、下载音乐;还可以通过网站给其他注册过的用户点歌,并将自己喜欢的音乐加入到音乐盒。
3.3系统架构
音乐网站分前台管理和后台管理两个大模块,其中前台管理又分为:
首页、音乐盒、短信息、分享音乐、播放列表五大模块;后台管理又分为:
后台首页、音乐管理、友情链接、用户管理、添加管理员、修改密码。
根据以上功能,设计出了网站的总体架构模型,涵盖了整个网站的应用。
逻辑模型如图3.1所示:
图3.1逻辑模型
3.4系统登录流程
音乐网站的登录流程应顺着系统信息流动的过程逐步地进行,用户登陆采用常用的登陆模式。
用户输入用户名和密码,后台会进行验证,正确的话就可以登陆进书籍浏览页面,错误则会提示用户名或者是密码错误。
未经注册过的用户要进行注册。
用户注册模块包括用户名、密码、确认密