当前位置:文档之家› 《ASP程序设计》课程设计论文-个人空间网站设计

《ASP程序设计》课程设计论文-个人空间网站设计

《ASP程序设计》课程设计论文个人空间网站设计

前言

随着Internet的迅速发展,社会已经进入网络时代。网站已经成为Internet网上资源共享的主要载体,网站的作用越来越重要,被称之为继广播、报纸、杂志、电视后的第五种媒体——数字媒体,从而倍受人们所关注。

随着互联网的高速发展和web2.0时代的到来,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。因此网站建设在Internet应用上的地位显而易见,而在这其中,越来越多的网站如雨后春笋般涌现出来。个人网站也成为一种时尚,越来越多的人希望拥有自己的网站,开辟网络世界的一片天地,展示自己的才华和风格。根据中国互联网络信息中心发表的权威报告显示,截至09年6月底,我国网站数达到287.8万个。网站数量的剧增,导致竞争的加剧。建设具有特色的个人网站才能在竞争中前进。

本人的个人空间网站整个个性化页面生成系统主要由IIS+ASP 技术实现的,而且采用Flash的SWF文件类型构成动画网页,使网页具有灵动性。并且数据库服务器端采用了Microsoft Access数据库作为ODBC数据源,并以先进的ADO技术进行数据库存取等操作,使Web与数据库紧密联系起来。

1.需求分析

1.1 个人网站简介

个人网站是指因特网上一块固定的面向全世界发布消息的地方,个人网站由域名(也就是网站地址)、程序和网站空间构成,通常包括主页和其他具有超链接文件的页面。网站是一种通讯工具,就像布告栏一样,人们可以通过网站来发布自己想要公开的资讯,或者利用网站来提供相关的网络服务。个人网站是指个人或团体因某种兴趣、拥有某种专业技术、提供某种服务或把自己的作品、商品展示销售而制作的具有独立空间域名的网站。

1.2 目标与任务

当今世界发展得越来越快,如何才能紧跟时代的步伐,已成为越来越紧迫的问题。随着互联网的快速发展,也为我们找到了一个紧跟时代步伐的平台。为了更好地利用网络资源,使我们的信息电子化,也为了能与世界各地进行广泛地交流,丰富我们的知识和视野。因此网站就因运而生,网站最核心的价值在于给人们带来最有价值的信息或服务。

1、网站定位由于个人网站在资金、技术、人力等方面的不足,个人网站一定要避免去与大型的商业网站竞争。个人网站一定要从自身的优势、长处出发,做出自己的特色为目标。因此,个人网站的定位应突出小而精、要有自己的特色,要保证网站内容的质量。

2、网站规划争取那些喜欢聊天讨论、信息分享、交友的人群。新网民对网络更有新鲜感,先争取那部分新诞生的网民,然后再去争取那些老网民,同其他同类网站竞争。

2.个人网站系统设计环境

2.1 ASP简介

ASP是Active Server Pages的简称,是服务器端脚本编程环境。使用ASP 可以将HTML页、脚本命令和ActiveX组件组合起来,创建动态的、交互的Web 网页和基于Web的功能强大的应用程序

简单地讲,ASP是位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的、交互式的Web应用程序。

2.1.1 ASP的功能

从应用的层面看,ASP有如下的功能:

1、处理由浏览器传送到站点服务器的表单输入。

2、访问和编辑服务器端的数据库表。使用浏览器即可输入、更新和删除站点服务器的数据库中的数据。

3、读写站点服务器的文件,实现访客计数器、座右铭等功能。

4、提供广告轮播器、取得浏览器信息、URL表管理等内置功能。

5、由cookies读写用户端的硬盘文件,以记录用户的数据。

6、可以实现在多个主页间共享信息,以开发复杂的商务站点应用程序。

7、使用VBScript或JScript等简易的脚本语言,结合HTML码,快速完成站点的应用程序。通过站点服务器执行脚本语言,产生或更改在客户端执行的脚本语言。

8、扩充功能的能力强,可通过使用Visual Basic、Java、Visual C ++ 等多种程序语言制作ActiveX Server Component以满足自己的特殊需要。

2.2 Access数据库

2.2.1 数据库概述

数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系数据库和关系数据库。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,像标题、关键字等。

2.2.2 Access数据库特点

(1)面向对象。

(2)界面友好、易操作。

(3)集成环境、处理多种数据信息。

(4)能够利用Web检索和发布数据,实现与Internet的连接。Access主要适用于中小型应用系统,或作为客户机/服务器系统中的客户端数据库。

(5)Access支持ODBC(开发数据库互连,Open Data Base Connectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。Access还可以将程序应用于网络,并与网络上的动态数据相联接。利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用。作为Office套件的一部分,可以与Office集成,实现无缝连接。

2.3 脚本编程语言

2.3.1 VBScript

VBScript是Visual Basic Script的简称,即Visual Basic脚本语言,有时也被缩写为VBS。是asp动态网页默认的编成语言,配合asp内建对象和ADO对象,用户很快就能掌握访问数据库的asp动态网页开发技术。

1、VBScript主要的优点有:

(1)易学易用

如果了解了Visual Basic,就能够很快的掌握VBScript,只要学会VBScript,就能使用所有Visual Basic语言进行程序设计。

(2) ActiveX Script

VBScript使用ActiveX Script与宿主应用程序对话。使用ActiveX Script,浏览器和其他宿主应用程序不再需要每个Script部件的特殊集成代码。ActiveX Script使宿主可以编译Script、获取和调用入口点并管理开发者可用的命名空间。Microsoft支持VBScript的运行,与多个Internet组在一起定义ActiveX Scrip标准,以便使Script引擎可以进行交换。

(3)其他应用程序和浏览器中的VBScript

程序开发人员可以在产品中免费使用VBScript的源实现程序。在其他应用程序中,VBScript和ActiveX Script也可以作为普通的脚本语言使用。

2.3.2 JavaScript

Javascript是一种由Netscape的LiveScript发展而来的面向对象的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是Netscape的浏览器Navigator 加入了Javascript,提供了数据验证的基本功能。

Javascript主要特点有:

(1)JavaScript使网页增加互动性。JavaScript使有规律地重复的HTML文段简化,减少下载时间。

(2)JavaScript能及时响应用户的操作,对提交表单做即时的检查,无需浪费时间交由CGI验证。

3.1 个人空间网站的主要功能

本网站系统是一个基于Internet的个人空间,用户可以通过Internet登陆系统,浏览网站中的相关资源。个人空间网站系统主要使用ASP实现的,程序结构为B/S结构。本系统要设计的基本功能主要包括以下几大模块:个人档案、个人日志、摄影集、图片欣赏、用户登录、用户注册、用户发表日志、显示相关日志、用户注销、聊天功能、还有数据库的设计。

3.2 个人网站系统的整体结构图

4.1 数据库结构设计

4.1.1 数据库表创建与设计

根据总体设计的分析,建立如下数据表:

用户信息表(us):如表所示

表4-1-1

字段名称数据类型长度允许空说明zh varchar 50 Not null 会员帐号mima varchar 50 Not null 会员密码name varchar 50 Not null 会员姓名

age varchar 50 Not null 会员年龄

qq varchar 50 Not null 会员QQ号码zp varchar 50 Not null 会员头像

网站日志表(log):如表所示

表4-1-2(其中id为自增长列)

字段名称数据类型长度允许空说明id char 4 Not null 自动编号title varchar 50 Not null 日志标题content varchar 50 Not null 日志内容author varchar 50 Not null 发表作者shijian varchar 50 Not null 发表时间

留言信息表(ly):如表所示

表4-1-3(其中id为自增长列)

字段名称数据类型长度允许空说明id char 4 Not null 自动编号Author varchar 50 Not null 留言者content varchar 50 null 留言内容

tm varchar 50 Not null 留言时间

4.1.2 连接个人网站数据库数据

动态网页中嵌入数据库能够及时更新,交换网页中的信息内容数据。也能够存储和收集相关信息,提供搜索功能方便网站内容的查找,开发具有特殊功能的网站。为了保护用户信息的安全性,并且对用户的密码进行md5加密。

<%

dim conn

on error resume next

set conn=server.CreateObject("adodb.connection")

conn.open("driver={microsoft access driver (*.mdb)};dbq=" & server.MapPath("db.mdb"))

if err.number<>0 then

response.Write"打开数据库出错!"&"
"

response.write"错误代码:"&err.number&"
"

response.write"错误描述:"&err.description&"
"

response.write"错误对象或应用程序名称:"&err.source

err.clear

response.End()

end if

%>

4.2 个人空间网站模块设计

4.2.1 个人空间网站首页界面

网站主页的设计比较简单,给人以一目了然的感觉。网站主页基本上由SWF 文件构成,如:带有树叶的时钟、导航文字等。在登录浏览首页时有背景音乐可以随机更换,一共有4首不同的背景音乐,给人以不一样的感觉。界面如图4-1所示

图4-2-1

4.2.2 用户登陆界面

如图所示

图4-2-2

若已经是本网站的会员,可以通过此界面进行登录.登录成功之后就可以浏览本网站的相关资源和进行相关操作。版主帐号是07A05131,密码为123。代码如下:

<%

a=trim(request("zh"))

b=trim(request("psw"))

if a="" or b="" then

response.write("")

response.end()

end if

b=md5(b)

set rs=conn.execute("select * from us")

rs.movefirst()

while not rs.eof

if a=rs(0) and b=rs(1) then

session("zh")=rs(0)

session("name")=rs(2)

response.write("")

response.end()

end if

rs.movenext()

wend

response.write("")

response.end()

rs.close

set rs=nothing

conn.close

set conn=nothing

%>

4.2.3 用户注册界面

如图所示

图4-2-3

若还不是本网站的会员,可以进行注册,待注册完成之后便可以拥有相关权限。代码如下:

<%

a=trim(request("tf1"))

b=trim(request("tf2"))

c=trim(request("tf3"))

d=trim(request("tf4"))

e=trim(request("tf5"))

f=trim(request("tf6"))

g=trim(request("cb"))

h=trim(request("sex"))

if b<>c then

response.write("")

response.end()

else if a=""or b=""or c=""or d=""or e="" or f="" then

response.write("")

response.end()

else if g="" then

response.write("")

response.end()

end if

end if

end if

Function isPass(string01,string02,ErrMsg)

Dim regEx,RegExpTest

Set regEx = New RegExp

regEx.Pattern = "^[0-9a-z]+$"

regEx.IgnoreCase = False

RegExpTest01= regEx.Test(string01)

RegExpTest02= regEx.Test(string02)

Set regEx = Nothing

If not RegExpTest01 or not RegExpTest02 then

Dim Msg

Msg=ErrMsg

response.write("") response.End()

Exit Function

End if

End Function

response.write isPass(a,b,"帐号和密码只能由数字与字母组成,请重新输入!") if not IsNumeric(e) or not IsNumeric(f) then

response.write("")

response.end()

end if

set rs=conn.execute("select * from us")

rs.movefirst()

while not rs.eof

if a=rs(0) then

response.write("")

response.end()

end if

rs.movenext()

wend

b=md5(b)

set cmd=server.createobject("https://www.doczj.com/doc/8814849677.html,mand")

cmd.activeconnection=conn

sql="insert into us(zh,mima,name,age,qq,zp) values('" & a & "'" & ",'" & b & "','" & d & "','" & e & "','" & f & "','"& h &"')"

https://www.doczj.com/doc/8814849677.html,mandtext=sql

'response.write(sql)

'rs=cmd.execute()

cmd.execute()

response.write("")

rs.close

set rs=nothing

conn.close

set conn=nothing

%>

4.2.4 日志浏览界面

如图所示

图4-2-4

日志进行分页显示,以表格的循环形式显示在WEB中,其中以标题、作者、日期、操作进行类别显示。单击标题可以浏览发表的日志内容,只有版主才可以进行删除日志操作。代码如下:

<%set rs =server.CreateObject("adodb.Recordset")

sql="select * from log order by id desc"

rs.open sql,conn,3

rs.pagesize=6

if request("page")<>"" then

ipage=cint(request("page"))

if ipage<1 then ipage=1

if ipage >rs.pagecount then ipage=rs.pagecount

else

ipage=1

end if%>

<%response.Write("当前第"&ipage&"页,共"&rs.pagecount&"页")%>


<%rs.absolutepage=ipage%>

<%

for i=0 to rs.pagesize -1

if rs.eof or rs.bof then exit for%>

<%response.Write("

")

response.Write("

")

response.Write("

")

response.Write("

")

response.Write("

")

response.Write("

")

response.Write("

")

rs.movenext()

next

%>

      

标题

作者

日期

操作


 

<%=rs("title")>

"&"

src='images/rzpic03.gif'>"&" "&rs("author")&"

"&rs("shijian")&"")%>

删除

<%response.write("

")

response.Write("


")

response.Write("


<%if ipage<>1 then %>

第一页

上一页

<% end if

if ipage<>rs.pagecount then %>

下一页

最后一页

<% end if

conn.close()

4.2.4 发表日志界面

如图所示

图4-2-4

若是本站会员用户可以发表日志,增加大家的情感交流。代码如下:

<%

a=request("title")

b=request("content")

tm=date()&"/"&hour(now())&":"&minute(now())

if a="" or b="" then

response.Redirect("xrz.asp?errid=1")

response.End()

end if

set rs=conn.execute("select top 1 * from us")

rs.movefirst()

if session("zh")=rs(0) then

c="版主"

else

c=session("name")&"(会员)"

end if

'conn.begintrans

sql="insert into log(title,content,author,shijian) values('" & a & "'" & ",'" & b & "','" & c & "','" & tm & "')"

conn.execute(sql)

if conn.errors.count=0 then response.Redirect("xrz.asp?errid=2") response.End()

else

response.Redirect("xrz.asp?errid=3") response.End()

end if

'if conn.errors.count=0 then

'https://www.doczj.com/doc/8814849677.html,mittrans()

'response.Redirect("xrz.asp?errid=2") 'response.End()

'else

'Db.RollbackTrans()

'response.Redirect("xrz.asp?errid=3") 'response.End()

'end if

conn.close

%>

4.2.5 注销用户

如图所示

为了保护用户帐号的安全,在用户关闭网页时或者单击注销时,可以进行对用户帐号和密码进行清除操作。代码如下:

<%

session("name")=""

session("zh")=""

session.abandon

Response.Buffer = True

Response.ExpiresAbsolute = Now() - 1

Response.Expires = 0

Response.CacheControl = "no-cache"

Response.AddHeader "Pragma", "No-Cache"

Response.Write("")

%>

5.结束语

通过一学期的ASP程序设计课程的学习,至此个人网站的设计已经完成,本次设计提高了自己的动手,动脑能力,丰富了自我知识,增强了克服困难的勇气和能力,使我获益匪浅。介于设计时间问题,系统还有许多不尽人意的地方,功能不够全面等方面问题,这些都有待于进一步改善。在设计过程中,我发现网站设计的设计语言也很重要,不同的编程语言实现功能的方法都有所不同的,实现的效果也不尽相同,在今后的学习中会不断提高自己的能力。

相关主题
文本预览