动态WEB课程设计.docx
《动态WEB课程设计.docx》由会员分享,可在线阅读,更多相关《动态WEB课程设计.docx(47页珍藏版)》请在冰豆网上搜索。
动态WEB课程设计
1.网站简介………………………………………………………………1
2.网站开发平台和工具…………………………………………………1
3.网站结构设计…………………………………………………………1
4.网站功能模块…………………………………………………………3
5.数据库结构……………………………………………………………6
6.主要模块实现与代码摘要…………………………………………………7
7.课程设计总结……………………………………………………………………10
1网站简介
目前,网络的发展日新月异,尤其是许多的校园网、小区宽带、企业或其他单位内部网的建设已经可以满足人们对于带宽的要求。
于是在线视频点播技术越来越多地出现在人们的生活中。
本文中的在线视频点播网站,属于在线看视频类网站。
管理员可通过该系统为网友提供电影下载和其他在线视频服务;普通游客可以在线看视频,会员可以通过该系统在线看视频和下载视频。
2开发平台和工具
操作系统
WindowsXPProfessional
前台开发
Dreamweaver8、ASP
后台数据库
SQLServer2000
3网站结构设计
网站实现功能如下:
1.会员管理
(1)会员注册
(2)会员管理
2.视频信息显示
(1)显示全部视频信息
(2)按类别显示视频信息
(3)显示视频详细信息
3.视频信息搜索
(1)按关键字搜索
4.视频栏目管理
(1)一级栏目添加
(2)一级栏目改名
(3)一级栏目删除
(4)一级栏目子专题添加
(5)一级栏目子专题改名
(6)一级栏目子专题删除
5.视频信息管理
(1)视频信息添加
(2)视频信息修改
(3)视频信息删除
4网站功能模块
本文的在线点播系统共分为5个模块:
会员管理模块、视频信息显示模块、视频信息搜索模块、视频栏目管理模块和视频信息管理模块,功能模块划分如下图4.1所示:
图4.1系统功能模块图
5数据库结构
根据网站功能设计要求和模块划分,数据库主要用于存储用户信息、视频信息、一级栏目信息、二级栏目信息和管理员信息。
数据库结构如下:
(1)用户信息:
ID、用户名和密码。
(2)视频信息:
ID、下载类型、信息名称、信息描述、下载路径、二级栏目id、一级栏目id、语言种类、文件大小和浏览次数等。
(3)一级栏目信息:
Classid、栏目名称。
(4)二级栏目信息:
Nclassid、栏目名称和一级栏目id。
(5)管理员信息:
ID、管理员名称、管理员密码和管理员级别。
数据库逻辑设计如下:
1.管理员信息admin,如下图5.1所示:
图5.1管理员信息表
2.视频信息download,如下图5.2所示:
图5.2视频信息表
6主要模块实现与代码摘要
6.1视频信息显示模块
视频信息显示模块包含以下文件:
Index.asp、soft.asp、list.asp、download.asp、playwin.asp
6.1.1index.asp
1.主页面如下:
图6.11主页面
2.表单元素
主页面只有1个表单元素,如下表6.1所示
表6.1index.asp页面表单元素
名称
表单元素
含义
最大长度
Keyword
Text
关键字
50
3.涉及数据库表
使用了数据库表download
4.页面代码摘要
--#includefile="conn.asp"-->
<%
dimrs
setrs=server.createobject("adodb.recordset")
%>
‘Html页面显示
…………
<%'取得累计下载排行前30条记录
sql="selecttop30id,showname,bbfromdownload"
sql=sql&"orderbyhitsdesc"
rs.opensql,conn,1,1'打开记录集对象
ifrs.eofandrs.bofthen'没有记录则提示
response.write("没有下载")
else
'显示30条下载记录
dowhilenotrs.eof
'取下条记录
response.write("
id="&rs("id")&">"&rs("showname")&""&rs("bb")&"
")
rs.movenext
loop
endif
rs.close'关闭记录集
%>
‘Html页面显示
<%'取得10条精品视频记录
sql="selecttop10"
sql=sql&"download.id,download.showname,bb,download.dateandtime,download.images,download.hits,download.classid,download.Nclassid,Nclass.Nclass"
sql=sql&"fromdownload,Nclasswheredownload.stop=1anddownload.Nclassid=Nclass.Nclassid"
sql=sql&"orderbydownload.dateandtimedesc"
rs.opensql,conn,1,1'打开记录集对象
ifrs.eofandrs.bofthen'如果没有记录则提示
%>
还没有任何资料 |
<%else%>
'显示10条精品信息
<%dowhilenotrs.eof%>
id=<%=rs("id")%>">
<%
ifnotisnull(rs("images"))andrs("images")<>""then'有图片则显示图片
response.write""
endif
%>
|
id=<%=rs("id")%>"><%=rs("showname")%><%=rs("bb")%>
|
<%
rs.movenext'取下一条精品视频信息
loop
endif
rs.close
%>
'另外还有几个部分代码为:
'显示10条视频信息
'显示8条推荐视频信息
'由于操作类似,故此省略
6.1.2soft.asp
1.页面如下图,为视频类别页面效果图:
图6.12类别视频信息显示
2.表单元素
表6.2soft.asp表单元素
名称
元素类型
含义
最大长度
Keyword
Text
关键字
50
3.涉及数据库表
涉及数据库中download表
4.代码摘要
--#includefile="conn.asp"-->
--#includefile="inc/const.asp"-->
<%
dimtotalPut'记录总量变量
dimCurrentPage'页面变量
dimTotalPages'总页码变量
dimi,j'
dimkeyword
dimsql
dimrs
dimupdown
dimorder_name
order_name=Request("Order")
'分页代码,默认为第一页
ifnotisempty(request("page"))then
currentPage=cint(request("page"))
else
currentPage=1
endif
'排序方式默认为正序
ifrequest("updown")<>""then
updown="desc"
else
updown=""
endif
'根据要求,按关键字类别排序
selectcaseorder_name
case"showname"
order_name="showname"
case"hot"
order_name="hot"
case"dateandtime"
order_name="dateandtime"
case"hits"
order_name="hits"
case"orders"
order_name="orders"
case"size"
order_name="size"
caseelse
order_name="dateandtime"
updown="desc"
endselect
'创建记录集对象
setrs=server.createobject("adodb.recordset")
dimclassid,Nclassid
dimclassname,Nclassname
'如无要求显示的栏目id,则显示全部信息
ifrequest("classid")=""then
classid="classid=1and"
'取得一级栏目信息
sql="selectclassfromclasswhereclassid=1"
rs.opensql,conn,1,1'打开记录集对象
ifrs.bofandrs.eofthen
response.write"还没有任何栏目,请到管理页面添加"
response.end
else
classname=rs("class")
endif
rs.close'关闭记录集
else
'有要求显示的栏目id就显示该栏目名字信息
classid="classid="&cstr(request("classid"))&"and"
sql="selectclassfromclasswhereclassid="&cstr(request("classid"))
rs.opensql,conn,1,1
classname=rs("class")
rs.close
endif
ifrequest("Nclassid")=""then
Nclassid=""
Nclassname="所有影片"
Else
'要显示二级栏目id就显示该栏目名字信息
Nclassid="Nclassid="&cstr(request("Nclassid"))&"and"
sql="selectNclass.Nclass,class.classfromNclass,classwhereNclass.classid=class.classidandNclass.Nclassid="&cstr(request("Nclassid"))
rs.opensql,conn,1,1
classname=rs("class")'栏目名字信息
Nclassname=rs("Nclass")
rs.close
endif
%>
'其他代码……
6.1.3list.asp
1.下图为视频信息详细内容页面:
图6.13视频信息详细内容显示
2.表单元素
名称
元素类型
含义
最大长度
Keyword
Text
关键字
50
3.数据库信息表
涉及数据库中的记录表download
4.代码摘要
--#includefile="conn.asp"-->
<%'取得本地服务器名称
tmp="http:
//"&request.servervariables("SERVER_NAME")&_
left(request.servervariables("SCRIPT_NAME"),len(request.servervariables("SCRIPT_NAME"))-len("/list.asp"))
dimsql
dimrs
dimclassname,classid,Nclassname,Nclassid
dimlasthits
dimtitle
'视频信息id号为空则退出
ifrequest("id")=""then
response.write"您没有选择相关影片,请返回"
response.end
endif
'不为空则创建记录集对象
setrs=server.createobject("adodb.recordset")
'取得视频详细信息
sql="selectclass.class,Nclass.Nclass,download.showname,download.bb,download.classid,download.Nclassid,download.lasthitsfromdownload,class,Nclasswheredownload.classid=class.classidanddownload.Nclassid=Nclass.Nclassidanddownload.ID="&request("id")
rs.opensql,conn,1,1'打开记录集
ifnotrs.eofthen
showname=rs("showname")
bb=rs("bb")
classid=rs("classid")
Nclassid=rs("Nclassid")
classname=rs("class")
Nclassname=rs("Nclass")
lasthits=rs("lasthits")
endif
rs.close
'更新每周每日数据
tdate=year(Now())&"-"&month(Now())&"-"&day(Now())
iftrim(lasthits)=trim(tdate)then
sql="updatedownloadsetdayhits=dayhits+1whereid="&request("id")
conn.Execute(sql)
'response.write"success"
else
sql="updatedownloadsetdayhits=1whereid="&request("id")
conn.Execute(sql)
'response.write"error"
endif
'更新视频信息这周观看次数
sql="updatedownloadsethits=hits+1,lasthits='"&tdate&"'whereID="&request("id")
conn.Execute(sql)
p_year=CInt(year(Now()))-CInt(year(lasthits))
p_month=CInt(month(Now()))-CInt(month(lasthits))
p_day=CInt(day(Now()))-CInt(day(lasthits))
period_time=((p_year*12+p_month)*30+p_day)
ifcint(period_time)=sql="updatedownloadsetweekhits=weekhits+1whereid="&request("id")
conn.Execute(sql)
else
sql="updatedownloadsetweekhits=1whereid="&request("id")
conn.Execute(sql)
endif
%>
'其他代码略……
6.1.4download.asp
1.如下图所示,注意下载工具中的网址,说明当点击网站下载地址时,能成功激活下载连接:
图6.14视频下载显示
2.表单元素
此页不需要表单元素
3.涉及数据库表
使用数据库表download
4.代码摘要
--#includefile="conn.asp"-->
<%
setrs=server.createobject("adodb.recordset")
'取得视频信息的详细信息
sql="select*fromdownloadwhereid="&request("id")
rs.opensql,conn,1,1
%>
<%
'判断看视频的用户权限
ifsession("user")=""andrs("club")<>""then
%>
<%else
'取得视频下载地址
ifrequest("downid")="2"then
url=""&rs("filename1")&""
elseifrequest("downid")="3"then
url=""&rs("filename2")&""
else
url=""&rs("filename")&""
endif
'页面跳转到下载地址
response.redirect""&url&""
'页面停止执行
response.end
rs.close'关闭记录集对象
setrs=nothing
conn.close'关闭数据库连接对象
setconn=nothing%>
<%endif%>
6.1.5playwin.asp
1.页面效果
下图为视频播放时的页面效果,
图6.15视频播放
2.表单元素
无需HTML表单元素
3.涉及数据库表
使用了数据信息表download
4.代码摘要
--#includefile="conn.asp"-->
<%
setrs=server.createobject("adodb.recordset")'创建就记录集对象
sql="select*fromdownloadwhereid="&request("id")'取得详细信息
rs.opensql,conn,1,1
%>
<%
ifsession("user")=""andrs("club")<>""then
%>
alert('对不起!
此为会员影片,请在首页注册成我们的会员并登录!
');
//document.location="reg1.asp"
window.close();
<%else
ifrequest("downid")="2"then
url=rs("filename1")
elseifrequest("downid")="3"then
url=rs("filename2")
else
url=rs("filename")
endif
%>
'HTML代码……
<%rs.close
setrs=nothing
conn.close'关闭数据库连接
setconn=nothing%>
<%endif%>
6.2视频信息搜索模块
视频信息搜索模块包含以下文件:
Search.asp
6.21index.asp
1.搜索页面:
图6.21关键字搜索模块图
2.HTML表单元素
名称
元素类型
含义
最大长度
Keyword
Text
关键字
50
3.涉及数据库表信息
此页面为搜索页面,不涉及数据库表的操作。
4.代码摘要
‘提交关键字到search.asp页搜索视频信息
搜索:
Arial">
|
6.22search.asp
1.搜索结果页面
图6.22搜索引擎结果
2.HTML表单元素
此页面无需填写HTML表单元素
3.涉及的数据库表
此页是关键字搜索结果视频信息,涉及到视频信息表download的操作。
4.代码摘要
--#includefile="conn.asp"-->
--#includefile="inc/const.asp"-->
<%
dimtotalPut
dimCurrentPage
dimTotalPages
dimi,j
dimkeyword
dimsql
dimrs
dimfounderr
dimerrmsg
dimfindword
founderr=false
'取得关键字值
keyword=request("keyword")
'如果关键字为空则提示
ifkeyword=""then
errmsg=errmsg+"
"+"请输入查询条件。
"
founderr=true
else
'关键字搜索是按标题还是内容,默认是标题
ifreque
展开阅读全文
相关搜索
|