资源描述
南京人口管理干部学院ASP程序设计课程设计论文题 目:个人空间网站设计学 号:专 业:计算机科学与技术姓 名:任课老师:完成日期:2010年12月10日南京人口管理干部学院 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 VBScriptVBScript是Visual Basic Script的简称,即 Visual Basic 脚本语言,有时也被缩写为VBS。是asp动态网页默认的编成语言,配合asp内建对象和ADO对象,用户很快就能掌握访问数据库的asp动态网页开发技术。1、VBScript主要的优点有:(1)易学易用如果了解了Visual Basic,就能够很快的掌握VBScript,只要学会VBScript,就能使用所有Visual Basic语言进行程序设计。(2) ActiveX ScriptVBScript使用ActiveX Script与宿主应用程序对话。使用ActiveX Script,浏览器和其他宿主应用程序不再需要每个Script部件的特殊集成代码。ActiveX Script使宿主可以编译Script、获取和调用入口点并管理开发者可用的命名空间。Microsoft支持VBScript的运行,与多个Internet组在一起定义ActiveX Scrip标准,以便使Script引擎可以进行交换。(3)其他应用程序和浏览器中的VBScript程序开发人员可以在产品中免费使用VBScript的源实现程序。在其他应用程序中,VBScript和 ActiveX Script也可以作为普通的脚本语言使用。2.3.2 JavaScriptJavascript是一种由Netscape的LiveScript发展而来的面向对象的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能。 Javascript主要特点有:(1)JavaScript 使网页增加互动性。JavaScript 使有规律地重复的HTML文段简化,减少下载时间。(2)JavaScript 能及时响应用户的操作,对提交表单做即时的检查,无需浪费时间交由CGI验证。3.个人空间网站总体设计3.1 个人空间网站的主要功能 本网站系统是一个基于Internet的个人空间,用户可以通过Internet登陆系统,浏览网站中的相关资源。个人空间网站系统主要使用ASP实现的,程序结构为B/S结构。本系统要设计的基本功能主要包括以下几大模块:个人档案、个人日志、摄影集、图片欣赏、用户登录、用户注册、用户发表日志、显示相关日志、用户注销、聊天功能、还有数据库的设计。3.2 个人网站系统的整体结构图4.个人空间网站具体实现4.1 数据库结构设计4.1.1 数据库表创建与设计根据总体设计的分析,建立如下数据表:用户信息表(us):如表所示表4-1-1字段名称数据类型长度允许空说明zhvarchar50Not null会员帐号mimavarchar50Not null会员密码namevarchar50Not null会员姓名agevarchar50Not null会员年龄qqvarchar50Not null会员QQ号码zpvarchar50Not null会员头像网站日志表(log):如表所示表4-1-2(其中id为自增长列)字段名称数据类型长度允许空说明idchar4Not null自动编号titlevarchar50Not null日志标题contentvarchar50Not null日志内容authorvarchar50Not null发表作者shijianvarchar50Not null发表时间留言信息表(ly):如表所示表4-1-3(其中id为自增长列)字段名称数据类型长度允许空说明idchar4Not null自动编号Authorvarchar50Not null留言者contentvarchar50null留言内容tmvarchar50Not null留言时间4.1.2 连接个人网站数据库数据动态网页中嵌入数据库能够及时更新,交换网页中的信息内容数据。也能够存储和收集相关信息,提供搜索功能方便网站内容的查找,开发具有特殊功能的网站。为了保护用户信息的安全性,并且对用户的密码进行md5加密。% dim conn on error resume nextset conn=server.CreateObject(adodb.connection) conn.open(driver=microsoft access driver (*.mdb);dbq= & server.MapPath(db.mdb) if err.number0 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-14.2.2 用户登陆界面如图所示图4-2-2若已经是本网站的会员,可以通过此界面进行登录.登录成功之后就可以浏览本网站的相关资源和进行相关操作。版主帐号是07A05131,密码为123。代码如下:%a=trim(request(zh)b=trim(request(psw)if a= or b= then response.write(alert(帐号和密码不能为空,请输入!);javascript:history.back();) response.end()end ifb=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(alert(恭喜您已成功登录!);javascript:location.href=mainindex.asp;) response.end() end if rs.movenext()wendresponse.write(alert(帐号或密码错误,请重新输入!);javascript:history.back();)response.end()rs.closeset rs=nothingconn.closeset 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 bc then response.write(alert(两次密码不一致,请重新输入!);javascript:history.back();) response.end() else if a=or b=or c=or d=or e= or f= then response.write(alert(所填内容不能为空,请输入!);javascript:history.back();) response.end() else if g= then response.write(alert(请勾选服务条款,谢谢合作!);javascript:history.back();) 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(alert(&Msg&);javascript:history.back();)response.End()Exit FunctionEnd ifEnd Functionresponse.write isPass(a,b,帐号和密码只能由数字与字母组成,请重新输入!)if not IsNumeric(e) or not IsNumeric(f) then response.write(alert(QQ号码和年龄只能为数字,请重新输入!);javascript:history.back();) response.end()end ifset rs=conn.execute(select * from us) rs.movefirst() while not rs.eof if a=rs(0) then response.write(alert(此帐号已被注册,请重新输入!);javascript:history.back();) response.end() end ifrs.movenext() wend b=md5(b)set cmd=server.createobject(mand)cmd.activeconnection=connsql=insert into us(zh,mima,name,age,qq,zp) values( & a & & , & b & , & d & , & e & , & f & ,& h &)mandtext=sqlresponse.write(sql) rs=cmd.execute() cmd.execute() response.write(alert(恭喜您已成功注册!);javascript:location.href=index.asp;) 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 ipagers.pagecount then ipage=rs.pagecount else ipage=1 end if% 标 题作 者日 期操 作 A href=rz.asp?id=_&page=target=_self%response.Write( &rs(author)&) response.Write(&rs(shijian)&) response.Write()% A href=delrz.asp?id=_&page=onClick=javascript:return confirm(确定删除此日志吗!?)删 除 %response.write() response.Write() response.Write() response.Write() response.Write() response.Write() response.Write() rs.movenext()next % %if ipage1 then % 第一页A href=wdrz.asp?page=上一页% end ifif ipagers.pagecount then %A href=wdrz.asp?page=下一页A href=wdrz.asp?page=最后一页% end ifconn.close()4.2.4 发表日志界面如图所示图4-2-4若是本站会员用户可以发表日志,增加大家的情感交流。代码如下:4.2.5 注销用户如图所示为了保护用户帐号的安全,在用户关闭网页时或者单击注销时,可以进行对用户帐号和密码进行清除操作。代码如下:%session(name)=session(zh)=session.abandonResponse.Buffer = True Response.ExpiresAbsolute = Now() - 1 Response.Expires = 0 Response.CacheControl = no-cache Response.AddHeader Pragma, No-Cache Response.Write(alert(已经成功退出!);javascript:location.href=index.asp)%5.结束语通过一学期的ASP程序设计课程的学习,至此个人网站的设计已经完成,本次设计提高了自己的动手,动脑能力,丰富了自我知识,增强了克服困难的勇气和能力,使我获益匪浅。介于设计时间问题,系统还有许多不尽人意的地方,功能不够全面等方面问题,这些都有待于进一步改善。在设计过程中,我发现网站设计的设计语言也很重要,不同的编程语言实现功能的方法都有所不同的,实现的效果也不尽相同,在今后的学习中会不断提高自己的能力。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
展开阅读全文