基于ASP的音乐网站的设计与实现

基于ASP的音乐网站的设计与实现
基于ASP的音乐网站的设计与实现

时尚音乐资源网站的设计与实现

摘要

随着计算机网络发展的日新月异,对人们的日常生活常识了重大的影响,当然也包括人们的娱乐生活。音乐是人们娱乐生活的重要组成部分,越来越多的人们关注流行音乐,时尚音乐。本设计正是基于此需求设计的时尚音乐资源网站,用户可以在网站上实时的享受音乐带给人们的愉悦。

本文详细阐述了时尚音乐资源网站的设计与实现,本系统采用ASP+Access 2003作为开发工具。前台主要实现歌曲的分类显示及分类查询、歌曲的在线试听及下载、会员注册、登录以及最新音乐的新闻介绍,并且还为用户提供了在线交流的平台等功能;后台主要用于数据库的管理,管理员对影视歌曲的添加、删除、更新及对注册会员和音乐新闻的管理、系统的维护等功能。本系统操作简单,界面美观。

目录

论文总页数:25页1 引言 (1)

1.1课题背景 (1)

1.2本课题研究的意义 (1)

1.3本课题研究的方法 (1)

2 系统采用技术 (1)

2.1开发语言 (1)

2.1.1ASP语言 (1)

2.1.2SQL介绍 (2)

2.2 B/S模式介绍 (3)

3 需求分析 (3)

3.1 系统主要工作流程图 (4)

3.1.1 后台管理模块程序流程 (4)

3.1.2 前台管理模块程序流程 (4)

3.2系统实现采用环境 (5)

3.3 系统功能需求 (5)

4 时尚音乐资源网站功能的设计与实现 (5)

4.1系统主要设计 (5)

4.1.1 系统主要功能 (5)

4.1.2 主要功能模块 (6)

4.2 数据库的分析与设计 (7)

4.2.1 数据库的需求分析 (7)

4.2.2 数据库结构设计 (7)

4.3 系统主要功能实现 (10)

4.3.1 主页index.asp的实现 (10)

4.3.2 歌曲试听下载页面 (14)

4.3.3 论坛页面 (17)

4.3.4 后台添加歌曲页面 (19)

5 系统测试 (22)

5.1 测试方法 (22)

5.2 预期测试结果 (22)

5.3 测试结果 (22)

结论 (22)

参考文献 (23)

致谢 (24)

声明 (25)

1引言

1.1课题背景

随着Internet的快速发展,人们已经进入了信息时代,Web已经对商业、工业、银行、财政、教育、政府、娱乐和信息产业及人们的工作、生活产生了深远的影响。许多传统的信息和数据库系统正在被移植到互联网上,人们获得信息的来源已经不再只是报纸、电视、广播等传统媒体,一个新的信息传送媒体逐渐被人们所青睐。范围广泛的,复杂的分布式应用正在Web环境中出现。时尚音乐资源网站作为一个新时代传媒的产物,早已超过了国界,使听音乐变的如此便捷,它摒弃了传统听音乐媒体的不足,正在快速向前发展。

1.2本课题研究的意义

当今时代是一个互联网络告诉发展和发达的时代,本课题的研究意义就在于构造一个网络音乐视听和下载的平台,使人们在纷繁的网络中也能够找到一个休憩的天地。同时也是对四年学习的一个总结和提高。

1.3本课题研究的方法

本课题的开发采用ASP+SQL Sever2000实现,前期主要运用所学相关知识、查询资料、学习其他优秀管理系统开发方法,结合相关要求写出需求分析;后期,进行本课题的设计与开发。课题的页面主要采用asp语言对数据库进行操作,通过对数据库的查询搜索来实现,对表单以及数据的校验采用java script脚本语言,控制页面的正确显示和对用户类型的权限设计。采用sql数据库,包含六张表,实现整个系统的操作。在整个设计过程中以需求分析为基础,写出系统实现流程及相关问题的实现方法;系统开发完成后,进行调试和运行,做好调试和试运行的相关记录。

2系统采用技术

2.1开发语言

2.1.1 ASP语言

ASP是Active Server Pages的简称,是服务器端脚本编写环境,是一套微软开发的服务器端脚本环境。ASP是一种包含了使用VB Script或Jscript脚本程序代码的网页。当浏览器浏览ASP网页时, Web服务器就会根据请求生成相应的HTML代码然后再返回给浏览器,这样浏览器端看到的就是动态生成的网页内容。通过ASP可以结合HTML网页。ASP指令建立动态、交互且高效的WEB服务器应用程序。ASP本身并不是一种脚本语言,它只是提供了一种使镶嵌在HTML 页面中的脚本程序得以运行的环境。ASP程序其实是以扩展名为.ASP纯文本形式存在于WEB服务器上的,可以用任何文本编辑器打开它,只需将.ASP程序放在WEB服务器的虚拟目录下,就可以通过WWW的方式访问ASP程序了。ASP对象,

Active Server Pages提供五个内置的“对象”(object),你可以直接调用:

1.Request:取得用户信息。

2.Response:传送信息给用户。

3.Server:提供访问服务器的方法(methods)和属性(properties)的功能。

4.Application:一个应用程序,可以在多个主页之间保留和使用一些共同的信息。

5.Session:一个用户,可以在多个主页之间保留和使用一些共同的信息。在多个主页之间共享信息。

ASP开发的应用程序,可以在多个主页之间保留和使用一些共同的信息,ASP 提供两种适用范围,如下:

1.Application:Application 的所有信息,在一个应用程序,多个主页之间,可以让所有的用户共同使用。

2.Session: Session的所有信息,仅适用于一个用户。

2.1.2 SQL介绍

SQL全称是“结构化查询语言(Structured Query Language)”。SQL语言结构简洁,功能强大,简单易学。 SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。SQL是一种用于数据库查询和编程的语言,已经成为关系型数据库普遍使用的标准,使用这种标准数据库语言对程序设计和数据库的维护都带来了极大的方便,广泛地应用于各种数据查询。他不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输入与管理的接口。它以记录集合作为操纵对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语言可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的一个单独事件只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。SQL同时也是数据库文件格式的扩展名。

数据库,顾名思义,是存入数据的仓库。只不过这个仓库是在计算机存储设备上的,而且数据是按一定格式存放的。要是下定义的话,就应该是:指长期储存在计算机内的、有组织的、可共享的数据集合。数据库管理是有关建立、存储、修改和存取数据库中信息的技术,是指为保证数据库系统的正常运行和服务质量,有关人员须进行的技术管理工作。数据库管理的主要内容有:数据库的建立、数据库的调整、数据库的重组、数据库的重构、数据库的安全控制、数据的完整性控制和对用户提供技术支持。

介于Access·的优点,本系统采用Access2003作为数据库工具。

2.2 B/S模式介绍

B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。

目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。

由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。

3需求分析

在数字化的网络环境下,人们希望在忙碌工作后能有闲暇时间听音乐放松一下心情,根据自己的情况听到想听的音乐,而不会再为了能听一首歌翻箱倒柜或者四处奔波找寻;服务企业也希望能给人们提供全面的灵活的服务,同时希望人们能在网站上找到自己喜欢的音乐。所以时尚音乐资源网站下载软件正是迎合这一市场需求而开发的,它旨在探索一种以互联网为基础的音乐交流平台。通过这

种模式,为网民创造一种享受音乐的环境,使音乐突破时空限制,让音乐更加贴近,充实生活。本课题设计实现了用户在线收听,下载,搜索音乐及提供交流平台等功能,具有操作简便,界面友好等特性。贴近现实需求。

3.1系统主要工作流程图

3.1.1 后台管理模块程序流程

该流程图描述了后台管理员对网站的管理,管理员可以对歌曲进行添加,修改,删除。具体的添加功能是通过本地浏览把歌曲上传到网站;修改歌曲信息或者删除点击率低的歌曲等功能。如图3.1所示。

图3.1 后台管理程序主要流程图

3.1.2 前台管理模块程序流程

本系统设计的初衷是会员可以享受网站的功能,未注册的游客只能浏览网站,不能进行其他操作。因此当用户在进入网站的一开始便会对用户的身份和权限进行验证,反馈不同的页面给不痛的用户而用户,从而实现对权限的划分功能。注册后成为会员,就可在网站上在线视听音乐、在线看电影、搜索歌曲、在线留言(音乐论坛)、享受专辑的在线视听以及实现下载歌曲等功能。也可以在论坛上和其他会员进行交流。管理员身份除了享有普通会员的权限以外,还可以对歌曲的添加、删除、修改以及上传文件、管理个人资料、修改登陆账号和密码等操作。该流程图描述了时尚音乐资源网站的整个流程,如图3.2所示。

图3.2 前台管理程序主要流程图

3.2系统实现采用环境

1.操作系统:Microsoft Windows XP Professional。

2.运行环境:IIS。

3.数据库系统:Access 2003。

4.开发平台:Dream weaver 8.0。

3.3 系统功能需求

时尚音乐资源网站下载是一个非常实用的网站且并是需要一个过于复杂的工运行环境。课题设计必须符合实际的需要,从目前市场这个情况来看,该系统主要是为了满足音乐爱好者对音乐追求时提供一个更为方便的环境,也为人们闲暇是提供一个休闲的场所,实现音乐、电影的在线试听及收看,同时实现歌曲的下载及歌曲的搜索,会员之间的交流等功能。

4时尚音乐资源网站功能的设计与实现

4.1系统主要设计

4.1.1 系统主要功能

1.用户注册登录功能:只有登录注册后才能使用本网站功能;

2.在线视听:会员能在线收听音乐,在线收看电影;

3.下载功能:会员能下载音乐;

4.网站对歌曲进行分类,使会员根据自己喜爱试听或下载歌曲;

5.网站提供新歌推荐和音乐排行榜项目,使会员能第一时间找到热门歌曲;

6.搜索功能:会员能通过输入歌手或者歌曲名找到自己想听的音乐;

7.论坛:提供会员交流的平台;

8.管理员对歌曲的添加,修改,删除;

9.系统支持多种格式的音乐上传;

10.管理员账号管理。

4.1.2主要功能模块

1.后台管理模块

该模块只对管理员开放,管理员可以对歌曲进行添加,修改,删除。具体的添加功能是通过浏览把歌曲上传到网站;修改歌曲信息或者删除点击率的歌曲等功能。如图4.1所示。

图4.1 后台管理模块

2.前台管理模块

该模块用户注册后即成为会员,就可在网站上在线试听音乐,在线看电影,搜索歌曲以及下载歌曲。也可以在论坛上和其他会员进行交流。在线试听主要采用在用户端调用windows默认播放器media player从服务器数据库查询播放歌曲的路径,赋予播放器来实现的.而下载的功能是利用stream组件的读写操作,从服务器端打开并读取文件向浏览器端的stream写入数据,用户端再保存文件到本地计算机来实现的.搜索功能,主要采取的三模糊查询和精确查询两种.在搜索歌手的时候三用的精确查询,换句话说就是必须要正确输入想要查询的歌手的名字才能够查询到相应的歌曲,而对歌曲名称的搜索三模糊查询,用户可以输入相关的字段便可以从数据库里面找到相近或相似的歌曲.音乐论坛用到的计算就相对较简单一点,主要是对数据库执行插入、更新和查询的操作。详细模块的介绍如图4.2所示。

图4.2 前台管理模块图

4.2数据库的分析与设计

4.2.1数据库的需求分析

本课题开发的数据库包括三个方面。

1.论坛信息数据表:存储论坛有关数据及论坛留言,即论坛基本参数信息数据、论坛留言主题信息数据表。

2.歌曲数据表:存储歌曲基本参数信息,包括歌曲单曲存储表及歌曲专集存储表。

3.用户数据表:存储注册用户有关数据,包括注册用户信息数据表、用户登录账号管理存储表。

4.2.2数据库结构设计

本课题使用Access 2003作为数据库管理系统,现将数据库中包含的数据表及相应功能如下表4.1所示:

表4.1 数据库包含的数据库表及其功能

数据库包含的数据表的关系视图:

图4.3数据库表关系图

1.注册用户信息表vip

注册用户信息表用于存放注册用户的基本信息,包括用户名(name)、个人密码(pass)、邮箱地址(mail)、用户性别(sex)、注册时间(date)、用户类型(admin)。其中,name(用户姓名)字段作为该表的主关键字(primary key)。如表4.2所示:

表4.2 vip表设计

2.用户登录信息表 zhuce

该表用于记录用户登录的基本信息,包括用户名(name)、密码(password)及注册时间([date])。其中,name(用户姓名)做为该表的主关键字。如表4.3所示:

表4.3zhuce表设计

3.歌曲基本信息表information

该表存放歌曲的基本信息,包括歌曲ID(id)、歌手名字(singer)、歌曲名(song)、歌曲类型(type)、新歌推荐(class)、歌曲介绍(introduce)、点击率(hit)、歌曲URL(url)。其中id字段作为该表的主关键字,标识为“是”,标识种子为“1”,标识增量为“1”,惟一标识了一个歌曲基本信息。如表4.4所示:

4. 电影基本信息表 movie

该表存放电影的基本信息,包括主要电影ID(id)、演员姓名(name)、电影名字(moviename)、电影图片(moviephoto)、电影URL(movieurl)、电影简介(movieinform)、电影类型(type)、上传时间([date])。其中电影ID为主关键字。如下表所示:

表4.5 movie表设计

5. 专集基本信息表 zhuanji

该表存放歌曲专集的基本信息,包括专集ID(id)、专集类型(type)、专集名称(song)、点击率(hit)、专集介绍(introduce)、专集URL(url)、专集图片(photo)。其中专集ID为主关键字。如下4.6表所示:

6.论坛数据信息表BBS

该表存放论坛留言功能具体信息。包括论坛ID(id)、用户名(username)、留言(message)和留言时间([date])。其中论坛ID为主关键字。

4.3系统主要功能实现

4.3.1网站主页的实现

用户注册后登录网站,便进入主页,即可在首页上点相应导航链接,进行所需操作。未经注册的会员也能登录主页,但不能进行试听歌曲等其他操作。

主页是通过对其他页面进行链接实现的,本系统还实现各种分类功能,如:华语男歌手、华语女歌手、国外歌曲、动漫歌曲、音乐排行榜、新歌推荐等,还提供搜索功能,根据歌曲或歌手来实现搜索功能,主页页面如下图所示。

图4.4登录页面

登录功能的实现我们采用第一个表单页面让用户输入自己的会员账号和密码,然后发送到check.asp页面上查询数据库中保存的账号和密码进行身份验证,因为每一个用户登录系统都会自动分配一个session,所以我们把验证后的信息存储到session里面,方便后续页面的调用和认证:

<%

username=request.form("name")

password=request.form("pass")

exec="select * from vip where( name='"&username&"' and pass='"&password&"' )"

set rs=server.createobject("adodb.recordset")

rs.open exec,conn,1,1

if not rs.eof then

rs.close

conn.close

session("check")="checked"

session("name")=username

response.Redirect "index.asp"

else

session("check")=""

response.write ("出错拉,请你重新登录! 特别提醒: 账号和密码是您登录本系统的唯一认证,希望您妥善保管! ")

end if

%>

<%conn.close

set conn=nothing

%>

图4.5 主页页面

前台主页面显示了几个大块:一,音乐分类导航二,专集列表三,歌曲列表四,会员登录信息五,音乐搜索六,新歌推荐七,歌曲排行榜以及合作伙伴的链接。

主要代码如下:

首页

……

用户登录

<%

if session("name")="admin" then

%>

<%response.Write("管理")%>

<%else%>

<%response.write("你是游客身份!")

end if

%>

1.会员信息代码:

会员信息:欢迎您:

<%response.write(">>") & session("name")%>


你的登录时间:

<%response.write(now)%>

2.音乐搜索代码:

歌手:


歌曲:


3.新歌推荐代码:

    <%

    exec0="select * from information where class='new'"

    set rs0=server.CreateObject("adodb.recordset")

    rs0.open exec0,conn,1,1

    do while not rs0.eof

    %>

  • href="<%=rs0("url")%>"><%=rs0("song")%>----<%=rs0("singer")%>

  • <%

    rs0.movenext

    loop

    %>

4.歌曲列表模块代码:

<%

exec="select * from information where type='华语男歌手' order by hit desc"

set rs=server.createobject("adodb.recordset")

rs.open exec,conn,1,1

do while not rs.eof

%>

<%=rs("singer")%>

<%=rs("song")%>

<%=rs("hit")%>

" target="_blank">试听

" target="_blank">下载

<%rs.movenext

loop

%>

5.数据库关闭并且释放内存代码:

<%

rs.close

set rs=nothing

rs0.close

set rs0=nothing

rs1.close

set rs1=nothing

conn.close

set conn=nothing

%>

4.3.2歌曲试听下载页面

1.音乐在线视听的设计与实现

图4.6在线视听

会员根据喜好选择歌曲,点击即可在线试听歌曲或下载歌曲。在线视听功能采取的原理是在页面上嵌入一个windowns自带的播放器,获取上个页面请求的歌曲路径加入播放列表然后进行播放,页面代码如下:

<%

if session("check")="checked" then

%>

<%

song=Request.QueryString("filename")

exec="select * from information where song='"&song&"'"

set rs=server.CreateObject("adodb.recordset")

rs.open exec,conn,1,3

rs("hit")=rs("hit")+1

rs.update

%>

歌手:<%=rs("singer")%>

歌名:<%=rs("song")%>

类别:<%=rs("type")%>

试听:<%=rs("hit")%>次

CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"width="300""" height="100" align="absmiddle" id="WMPlayer.OCX.7">

">

<%else%>

<%end if

%>

2.音乐下载页面的设计与实现

图4.7 歌曲下载页面

音乐下载是本系统的最关键的模块,这个页面必须要是本站的会员才能够使用。他的主要实现的通过对asp对象Stream的读写操作实现的,为了安全性,我们禁止用户下载本站的程序文件和相关数据库文件,这样就很好的阻止了许多

不合法的操作。代码如下:

<%

if session("check")<>"checked" then%>

<%

else

%>

<%

Dim Stream

Dim Contents

Dim FileName

Dim FileExt

Const adTypeBinary = 1

FileName = Request.QueryString("filename")

if FileName = "" Then

Response.Write "无效文件名."

Response.End

End if

' 下面是不希望下载的文件

FileExt = Mid(FileName, InStrRev(FileName, ".") + 1)

Select Case UCase(FileExt)

Case "ASP", "ASA", "ASPX", "ASAX", "MDB"

Response.Write "受保护文件,不能下载."

Response.End

End Select

' 下载这个文件

Response.Clear

Response.ContentType = "application/octet-stream"

Response.AddHeader "content-disposition", "attachment; filename=" & FileName

Set Stream = server.CreateObject("ADODB.Stream")

Stream.Type = adTypeBinary

Stream.Open

Stream.LoadFromFile Server.MapPath("music/"&FileName)

While Not Stream.EOS

Response.BinaryWrite Stream.Read(5 * 1)

Wend

Stream.Close

Set Stream = Nothing

Response.Flush

Response.End

%>

<%end if%>

4.3.3论坛页面

网站论坛用于会员之间进行交流并对网站提出建议之类的平台,页面如下图。

图4.8 论坛页面

页面代码(后台写入和前台查询)如下:

1.后台留言写入数据库操作的主要代码:

<%

username=session("name")

messege=request.form("liuyan")

相关主题
相关文档
最新文档