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

摘  要

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

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

目  录

 

1 引言

1.1 课题背景

1.2 本课题研究的意义

1.3 本课题研究的方法

2 系统采用技术

2.1 开发语言

2.1.1 ASP语言

2.1.2 SQL介绍

2.2   B/S模式介绍

3 需求分析

3.1   系统主要工作流程图

3.1.1  后台管理模块程序流程

3.1.2  前台管理模块程序流程

3.2   系统实现采用环境

3.3   系统功能需求

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

4.1 系统主要设计

4.1.1  系统主要功能

4.1.2  主要功能模块

4.2   数据库的分析与设计

4.2.1  数据库的需求分析

4.2.2  数据库结构设计

4.3   系统主要功能实现

4.3.1  主页index.asp的实现

4.3.2  歌曲试听下载页面

4.3.3  论坛页面

4.3.4  后台添加歌曲页面

5 系统测试

5.1   测试方法

5.2   预期测试结果

5.3   测试结果

    论

参考文献

    谢

    明

  1. 引言
    1. 课题背景

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

    1. 本课题研究的意义

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

    1. 本课题研究的方法

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

  1. 系统采用技术
    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的所有信息,仅适用于一个用户。
      1.  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)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。

  1. 需求分析

在数字化的网络环境下,人们希望在忙碌工作后能有闲暇时间听音乐放松一下心情,根据自己的情况听到想听的音乐,而不会再为了能听一首歌翻箱倒柜或者四处奔波找寻;服务企业也希望能给人们提供全面的灵活的服务,同时希望人们能在网站上找到自己喜欢的音乐。所以时尚音乐资源网站下载软件正是迎合这一市场需求而开发的,它旨在探索一种以互联网为基础的音乐交流平台。通过这种模式,为网民创造一种享受音乐的环境,使音乐突破时空限制,让音乐更加贴近,充实生活。本课题设计实现了用户在线收听,下载,搜索音乐及提供交流平台等功能,具有操作简便,界面友好等特性。贴近现实需求。

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 系统功能需求

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

  1. 时尚音乐资源网站功能的设计与实现
    1. 系统主要设计

4.1.1 系统主要功能

  1. 用户注册登录功能:只有登录注册后才能使用本网站功能;
  2. 在线视听:会员能在线收听音乐,在线收看电影;
  3. 下载功能:会员能下载音乐;
  4. 网站对歌曲进行分类,使会员根据自己喜爱试听或下载歌曲;
  5. 网站提供新歌推荐和音乐排行榜项目,使会员能第一时间找到热门歌曲;
  6. 搜索功能:会员能通过输入歌手或者歌曲名找到自己想听的音乐;
  7. 论坛:提供会员交流的平台;
  8. 管理员对歌曲的添加,修改,删除;
  9. 系统支持多种格式的音乐上传;
  10. 管理员账号管理。

4.1.2主要功能模块

  1. 后台管理模块

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

图4.1 后台管理模块

  1. 前台管理模块

该模块用户注册后即成为会员,就可在网站上在线试听音乐,在线看电影,搜索歌曲以及下载歌曲。也可以在论坛上和其他会员进行交流。在线试听主要采用在用户端调用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 数据库包含的数据库表及其功能

数据表

功能

BBS

存放用户论坛留言基本信息

information

存放歌曲的基本信息

movie

存放电影的基本信息

vip

存放用户注册基本信息

zhuanji

存放歌曲专集信息

zhuce

存放用户登录的基本信息

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

图4.3数据库表关系图

  1. 注册用户信息表vip

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

表4.2 vip表设计

字段名

数据类型及长度

说明

备注

name

char(100)

用户姓名

主关键字

pass

char(100)

用户密码

not null

mail

char(200)

电子邮件

null

sex

char(50)

用户性别

null

[date]

datetime(8)

注册时间

not null

admin

text(16)

用户类型

null

  1. 用户登录信息表 zhuce

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

表4.3zhuce表设计

字段名

数据类型及长度

说明

备注

name

char

用户姓名

主关键字

password

char

用户密码

not null

[date]

datetime

注册时间

not null

  1. 歌曲基本信息表 information

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

表4.4 information表设计

字段名

数据类型及长度

说明

备注

id

int(4)

歌曲ID

主关键字

singer

char(100)

歌手姓名

null

song

char(500)

歌曲名字

null

type

char(100)

歌曲类型

null

class

char(100)

新歌推荐

null

introduce

char(1000)

歌曲介绍

null

hit

int(4)

点击率

null

url

char(3000)

歌曲url

null

4. 电影基本信息表 movie

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

表4.5 movie表设计

字段名

数据类型及长度

说明

备注

id

int(4)

电影ID

主关键字

name

char(1000)

演员姓名

null

moviename

char(1000)

电影名字

null

moviephoto

char(1500)

电影图片

null

moveurl

char(2000)

电影URL

null

movieinform

char(1000)

电影简介

null

type

char(500)

电影类型

null

[date]

int(8)

上传时间

null

5. 专集基本信息表 zhuanji

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

表4.6zhuanji表设计

字段名

数据类型及长度

说明

备注

id

int(4)

专集ID

主关键字

type

char(100)

专集类型

null

song

char(700)

专集名称

null

hit

char(100)

点击率

null

introduce

char(5000)

专集介绍

null

url

char(1000)

专集URL

null

photo

char(1000)

专集图片

null

  1. 论坛数据信息表BBS

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

表4.7 BBS表设计

字段名

数据类型及长度

说明

备注

id

int(4)

论坛ID

主关键字

username

char(50)

用户名

null

message

varchar(5000)

留言

null

[date]

int(8)

留言时间

not null

4.3系统主要功能实现

4.3.1网站主页的实现

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

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

图4.4登录页面

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

<!--#include file="conn.asp"-->

<center>

  <img src="img/error.GIF" /><span class="STYLE1">

  <%

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

%>

  </span>

</center>

图4.5 主页页面

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

主要代码如下:

<!--#include file="conn.asp"-->

<td height="25"><div align="center" ><a href="./index.asp" >首页</a></div></td>

……

<td><div align="center"><a href="./login.asp" target="_parent">用户登录</a></div></td>

<td><div align="center">

<%

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

%>

<a href="http://localhost/biyesheji/admain/windowns.asp">

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

</a></div>

<%else%>

<span class="STYLE19">

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

end if

%>

  1. 会员信息代码:

<tr>

<td bordercolor="#FFFFFF">会员信息:欢迎您:

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

<br>

你的登录时间:<br>

<%response.write(now)%></td>

</tr>

  1. 音乐搜索代码:

<form action="search1.asp" method="post">

歌手:

<input name="singer" type="text" style="width:120px" />

<br />

歌曲:

<input type="text" name="song"style="width:120px" />

<br />

<input type="submit" value="ok.." />

</form>

  1. 新歌推荐代码: 

<ul>

<%

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

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

rs0.open exec0,conn,1,1

do while not rs0.eof

%>

<li><a href="<%=rs0("url")%>"><%=rs0("song")%>----<%=rs0("singer")%></a></li>

<%

rs0.movenext

loop

%>

</ul>

  1. 歌曲列表模块代码

<%

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

%>

</span> </td>

</tr>

<tr>

<td><span class="STYLE25"><%=rs("singer")%></span> </td>

<td><span class="STYLE25"><%=rs("song")%></span> </td>

<td><span class="STYLE25"><%=rs("hit")%></span> </td>

<td><span class="STYLE9"></span> <a href="music.asp?filename=<%=rs("song")%>" target="_blank">试听</a></td>

<td><a href="download.asp?filename=<%=rs("song")%>" target="_blank"><span class="STYLE25">下载</span></a>

<%rs.movenext

loop

%>

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

<%

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自带的播放器,获取上个页面请求的歌曲路径加入播放列表然后进行播放,页面代码如下:

<!--#include file="conn.asp"-->

<%

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

%>

<table width="308" border="1" bordercolor="#999999">

<tr><td bordercolor="#FFFFFF">歌手:<%=rs("singer")%>

<tr><td bordercolor="#FFFFFF">歌名:<%=rs("song")%>

<tr><td bordercolor="#FFFFFF">类别:<%=rs("type")%>

<tr><td bordercolor="#FFFFFF">试听:<%=rs("hit")%>次

<tr><td height="117" bordercolor="#FFFFFF">

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

<param name="url" value="<%=rs("url")%>">

<param name="rate" value="1">

<param name="balance" value="0">

<param name="currentposition" value="0">

</object>

</table>

<%else%>

<script>

alert("打扰了,管理员提醒你登录后重试!");

</script>

<%end if

%>

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

图4.7 歌曲下载页面

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

<!--#include file="conn.asp"-->

<%

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

<script>

alert("对不起,管理员提醒你登录!")

</script>

<%

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. 后台留言写入数据库操作的主要代码:

<!--#include file="conn.asp"-->

<%

username=session("name")

messege=request.form("liuyan")

exe="select * from BBS"

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

rs.open exe,conn,1,1

exec="insert into BBS(username,messege) values('"&username&"','"&messege&"')"

conn.execute(exec)

conn.close

set conn=nothing

response.redirect"bbs.asp"

%>   

  1. 前台页面显示的主要代码:

<!--#include file="conn.asp"-->

……

<%

exec="select * from BBS order by id desc"

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

rs.open exec,conn,1,1

%>

……

<%do while not rs.eof %>

<tr>

<td width="74" height="55" bordercolor="#000000"><span class="STYLE13">职员:</span> <span class="STYLE13"><%=rs("username")%><br />

</span> </td>

<td width="614" bordercolor="#000000"><span class="STYLE6"><span class="STYLE7">话题:</span><%=rs("messege")%><br />

文章发表于:<%=rs("date")%></span></td>

</tr>

<%

rs.movenext

loop

%>

<form action="bbs1.asp" method="post" class="STYLE6">

<div align="left">

<textarea name="liuyan" cols="50" rows="6"></textarea>

<input name="submit2" type="submit" value="提交" />

<input name="reset" type="reset" value="重写" />

</div>

</form>

……

4.3.4后台添加歌曲页面

管理员在后台进行对歌曲的添加、修改、删除等功能。在添加歌曲时通过本地浏览将歌曲上传到网站,并对歌曲进行分类。页面是模仿windowns超做系统的界面制作的,给大家一中熟悉和友好的效果。如下图。

图4.9 后台管理

图4.10后台添加歌曲页面

添加的实现主要是接收表单信息和存储上传文件的操作,其具体代码如下:

<%

Set conn=Server.CreateObject("ADODB.Connection")

biyesheji = "Provider=SQLOLEDB;data source=(local);User ID=biyesheji;Password=19841029;Initial Catalog=biyesheji"

conn.open biyesheji

singer=request.form("singer")

song=request.form("song")

type1=request.form("type")

class1=request.form("class")

url=request.form("url")

introduce=request.form("introduce")

hit=request.form("hit")

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

exec0="select * from information where song='"+song+"'"

rs0.open exec0,conn,1,3

if rs0.eof then

exec1="insert into information(singer,song,type,class,introduce,hit,url) values('"+singer+"','"+song+"','"+type1+"','"+class1+"','"+introduce+"','"+hit+"','"+url+song+"')"

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

rs1.open exec1,conn, 1,3

response.write("添加成功,请返回继续添加")

else if singer="" or song="" or cla="" then

response.redirect"addinform.asp"

else

response.write("你要添加的歌曲已经存在,不用再添加!")

end if

end if

conn.close

set conn=nothing

%>

<%

Function GetFileName(strFile)

If strFile <> "" Then

GetFileName =mid(strFile,InStrRev(strFile, "\")+1)

Else

GetFileName = ""

End If

End function

strFileName = Request.Form("file1")

Set objStream = Server.CreateObject("ADODB.Stream")

objStream.Type = 1 ' adTypeBinary

objStream.Open

objStream.LoadFromFile strFileName

objStream.SaveToFile Server.MapPath("../music/"&GetFileName(strFileName)),2

objStream.Close

%>

图4.11用户密码修改

用户密码修改,是本系统在安全的一个重要保障。如果用户发觉自己的密码有被盗窃的情况,可以输入旧密码确认,然后更改为其他的密码!实现主要用到数据库的更新操作。

<%

连接和打开数据库(和上文相同)

name=request.form("name")

password0=request.form("pass0")

password=request.form("password")

exec="select * from vip where name='"&name&"' and pass='"&password0&"'"

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

rs.open exec,conn,1,3

if not rs.eof then

selec="select * from vip where name='"&name&"'"

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

sele.open selec,conn,1,3

sele("name")=name

sele("pass")=password

sele.update

sele.close

set sele=nothing

conn.close

set conn=nothing

response.write("恭喜你,密码修改成功!")

else

response.redirect("pass.asp!")

%>

5 系统测试

5.1 测试方法

  1. 首先在IIS里建立虚拟目录,建个网站;
  2. 在浏览器上对网站进行浏览;
  3. 对系统里的各个部分进行测试。

5.2 预期测试结果

  1. 实现会员注册登录进行歌曲的试听、下载、搜索及新歌推荐等功能;
  2. 实现后台管理员对歌曲的添加、删除、修改等功能。

5.3 测试结果

  1. 能实现会员注册登录;
  2. 会员能进行歌曲的试听、下载、搜索及新歌推荐等功能;
  3. 并实现了电影的在线收看;
  4. 实现了论坛,提供会员在线交流平台;
  5. 实现了后台管理员对歌曲的添加、修改、删除及账号管理等功能。

结  论

本项目开发的过程,是一个学习和进步的过程。这样的实践项目对曾经学过知识与课程都是一次重要的挑战和提高。在此期间我查阅了相关大量的书籍和资料,综合完成了本次毕业设计,实现了歌曲的试听、下载、搜索及新歌推荐等功能,得到了老师们的认可,自己也很高兴。与此同时我更加深入的进一步研究,发现系统还存在一定的不足。比如下载虽然是实现了,但是还不能够向世面上大多数下载软件那样支持断点续传。还有就是系统和人一样,要随着时代的变化不断地充实,不断地完善。本系统的代码的优化程度还不是很高,需要在以后的时间里面进一步的完善。

经过这次实训,我学到很多,也成熟许多,考虑事情的逻辑也没以前那么简单了。在这次实训过程中指导老师和同学都帮助我很多,特别是指导老师郭涛,对我们尽心尽责,为我们操了不少心,真的很感激他。



参考文献

[1].瀚文工作室.Java/Javascript网页设计活学活用300问[M].北京:机械工业出版社. 2005。

[2].风火轮小组.Asp建站编程高手指南[M].北京:大恒电子出版社.2002。

[3].石志国,王志良.ASP精解案例教程[M].北京:清华大学出版社/北方交通大学出版社. 2004。

[4].方睿,刁仁宏.网络数据库原理及应用[M].成都:四川大学出版社.2005。

[5].黄明,梁旭.Asp信息系统设计与开发实例[M].北京:机械工业出版社.2005。

[6].马凡.Javascript实例应用[M].北京:中国铁道出版社.2005。

[7].李蟠.Asp高级编程[M].北京:清华大学出版社.2004。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

等天晴i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值