基于ASP的博客系统的设计与实现论文.docx
《基于ASP的博客系统的设计与实现论文.docx》由会员分享,可在线阅读,更多相关《基于ASP的博客系统的设计与实现论文.docx(46页珍藏版)》请在冰豆网上搜索。
基于ASP的博客系统的设计与实现论文
摘要
随着Internet的广泛应用,动态网页技术也应运而生。
本文介绍了应用ASP动态网页技术开发博客系统的设计与实现。
本系统的开发设计实现采用ASP技术,系统后台使用Microsoft的Access2000数据库,并通过使用ODBC技术访问。
本文对博客系统进行整体分析,明确了系统的可行性和用户需求;根据模块化原理,规划设计了系统功能模块;在数据库设计部分,详细说明了系统数据库的结构和数据库的完整性、安全性措施;程序设计则采用面向对象的程序设计思想,提出系统的程序设计思路,对前台与后台功能的程序实现进行了详细论述;系统测试部分,具体分析测试过程中出现的主要问题,并提出了解决方案,实现系统功能。
最后,对系统作以客观、全面的评价,并对进一步改进提出了建议。
关键词:
博客;ASP;Access2000;ODBC
ABSTRACT
WiththeextensiveapplicationoftheInternet,dynamicwebtechnologyhasemerged.ThistextdescribestheapplicationofASPdynamicwebtechnologyanddevelopmenttheblogsystem.
ThesystemisdesignedbyASPtechnology,backstageadoptionAccess2000database,andusetheODBCtechnologytovisit.
Inthistext,itanalysistheblogsystembyfeasibilityandthedemandoftheuser.Underthemodulartheory,planninganddesignofthesystemfunctionalmodules;Inthedatabasedesign,adetaileddescriptionofthedatabasestructureanddatabaseintegrity,securitymeasures;Programmingisusedobject-orientedprogrammingdesign,systemdesignideas,backgroundforthefutureandfunctionoftheprogramindetail;Systemtesting,Analysisofthespecificcourseoftestingthekeyissuesandproposedsolutionstoachievesystemfunction.Finally,thesysteminanobjective,comprehensiveevaluation,aswellasfurtherimprovementsmade.
Keywords:
Blog;ASP;Access2000;ODBC
第1章引言
1.1项目背景
Blog,是Weblog的简称。
Weblog,其实是Web和Log的组合词。
Web,指WorldWideWeb,当然是指互连网了;Log的原义则是“航海日志”,后指任何类型的流水记录。
合在一起来理解,Weblog就是在网络上的一种流水记录形式或者简称“网络日志”。
Blogger或Weblogger,是指习惯于日常记录并使用Weblog工具的人。
虽然在大陆早些时候或者台湾等地,对此概念的译名不尽相同(有的称为“网志”,有的称之为“网录”等等),但目前已基本统一到“博客”一词上来。
该词最早是在2002年8月8日由著名的网络评论家王俊秀和方兴东共同撰文提出来的。
博客也好,网志也罢,仅仅是一种名称而已,它的本义还是逃不过Weblog的范围。
只是,通常我们所说的“博客”,既可用作名词Blogger或weblogger——指具有博客行为的一类人;也可以作动词用(相当于英文中的Weblog或blog),指博客采取的具有博客行为反映、是第三方可以用视觉感受到的行为,即博客们所撰写的Blog。
因此,“他/她是一位博客,他/她天天在博客”及“博客博什么客?
”在中文语法与逻辑上都是正确。
只是不同场合的用法不同罢了。
Blog究竟是什么?
说了半天,其实一个Blog就是一个网页,它通常是由简短且经常更新的帖子(Post)所构成,这些张贴的文章都按照年份和日期倒序排列。
Blog的内容和目的有很大的不同,Blog的内容和目的有很大的不同,从对其他网站的超级链接和评论,有关公司、个人、构想的新闻到日记、照片、诗歌、散文,甚至科幻小说的发表或张贴都有。
许多Blogs记录着blog个人所见、所闻、所想,还有一些Blogs则是一群人基于某个特定主题或共同利益领域的集体创作。
撰写这些Weblog或Blog的人就叫做Blogger或Blogwriter。
博客存在的方式,一般分为三种类型:
一是托管博客,无须自己注册域名、租用空间和编制网页,博客们只要去免费注册申请即可拥有自己的博客空间,是最“多快好省”的方式。
如英文的、及多种语言的博客室()等都提供这样的服务;二是自建独立网站的博客,有自己的域名、空间和页面风格,需要一定的条件。
如方兴东建立的“博客中国”站();三是附属博客,将自己的博客作为某一个网站的一部分(如一个栏目、一个频道或者一个地址)。
这三类之间可以演变,甚至可以兼得,一人拥有多种博客网站。
目前进行网站开发的语言很多,如ASP、PHP、JSP、ASP.NET等。
究竟应该选择什么语言来开发一个BLOG网站呢,对于一个中小型的网站来说,ASP无疑是最好的选择,利用简单的HTML代码与脚本融合而成的ASP技术可以开发强大的Web应用程序。
ASP(ActiveSeverPages)是Microsoft推出的一种服务器端脚本环境,ASP内嵌于IIS中,让用户可以轻松的结合HTMLWeb页面、脚本和ActiveX组件建立或执行动态的、交互的Web服务器应用程序。
ASP并不单指某一种编程语言,而是一门把HTML代码与VBScript和JavaScript等脚本语言融合在一起的技术,ASP技术的诞生,应该说是一项成功的技术,它开创了非专业人员开发高水平网站的历史。
1.2系统开发的意义
1.2.1发布想法
博客能让个人在互联网上表达自己的心声。
这是一个收集和共享任何感兴趣的事物的地方--可以是政治评论、个人日记或是指向您想记住的网站的链接。
许多人使用博客只是要组织自己的想法,而有些人则在全球成千上万的浏览者中赢得影响力。
职业和业余新闻记者使用博客发布特发新闻,而有写日记习惯的人则会在博客中宣示自己内心的想法。
而摄影和美术发烧者,可以通过博客系统的管理自己的作品,无论您要发表什么意见,博客都可以帮您表达出来。
博客作为一种新表达的方式,它的传播不仅情绪,包括大量的智慧、意见和思想。
某种意义上说,它也是一种新的文化现象,博客的出现和繁荣,真正凸现网络的知识价值,标志着互联网发展开始步入更高的阶段。
1.2.2博客的用途
(1)促进学习。
写blog可以促进学习,想写出文章来,自然不能是泛泛的了解就可以的,要理解了才能写得出来的。
这就促进了对某些领域的不断学习和思考。
(2)记录收获。
blog中,常常是记录下来都是瞬间的灵感,对事物的感悟,经过多日思考和实践的结果,对某个问题的解决方案等等,这些都是财富,要记录下来。
(3)反映成长。
写blog,可以反映出人的思考过程,而不仅仅是思考结果。
对一个问题或领域,从不了解到了解,从了解到熟悉,从熟悉到精通。
这纪录了一个人思考和解决问题的成长过程。
很久之后,看到自己之前的文章,你将会觉得自己进步了。
(4)结交朋友。
写了blog,自然会有许多志趣相同的朋友来阅读,这可以认识许多朋友。
大家有共同的兴趣爱好,自然谈得来。
(5)共享知识。
blog给大家看,大家的blog也给你看。
这个问题我解决了,那个问题他解决了。
大家互通有无,建立起一个社群。
(6)交流看法。
回复的人对blog的观点或赞同,或反对,大家一起讨论,听听别人的思想,可以促进双方的共同进步。
(7)包装自己。
看到一篇篇用心写出的文章,自然是对自己知识技能的最好宣传。
1.3系统开发的目标
1.3.1任何拥有博客的人都可以做到
(1)登录博客系统浏览文章
(2)管理自己博客的基本信息
(3)撰写个人随笔
(4)处理留言、文章评论等内容
1.3.2访问博客系统的人,可以做到
游览博客系统中的随笔目录、文章目录博客系统中的内容,只有博客管理员登录系统之后,才能进行管理。
而博客系统的访问者不需要注册,也不需要登录就可以访问博客系统中的内容。
1.4系统概述
一个博客其实就是由一序列网页组成的,它通常是由简短且经常更新的帖子所构成的,这些张贴的文章都按照年份和日期倒序列排列,能按照日期和主题检索。
博客的内容和目的有很大的不同,有到其他网站的超级链接;有对其他网站的评论;有个人的日记,日常所思所想;有个人照片、诗歌、散文,甚至科幻小说的发表。
正是由于博客能收容这些不拘于个人思想的表达,使博客这种交流和表达方式日益红火起来,博客秉承了个人网站的自由精神,也开拓了激发创造的新模式,能张扬人的个性,从这个意义上说,博客将会变得越来越普及,越来越为更多的人接受。
本系统主要完成以下功能:
表1-1系统功能表
界面名称
按键名称
按键功能
客户界面部分
我的文章
首页显示已发布的文章名称
给我留言
留言版功能
用户注册/登录
博客用户登录、新用户注册
首页
文章分类,最新评论,最新文章,最新加入
管理界面部分
添加分类
文章分类功能
分类管理
对已分类别进行删除、修改
文章管理
对已发布文章删除、修改
留言管理
留言的删除、回复功能
基本设置
博客名称、公告等的设置
1.5系统的开发方法
本系统主要采用ASP技术进行开发,ASP是服务器端的脚本执行环境,可用来产生和执行动态的高性能的WEB服务器程序。
当用户使用浏览器请求ASP主页时,WEB服务器响应,调用ASP引擎来执行ASP文件,并解释其中的脚本语言(JScript或VBScript),通过ODBC连接数据库,由数据库访问组件ADO(ActiveXDataObjects)完成数据库操作,最后ASP生成包含有数据查询结果的HTML主页返回用户端显示。
由于ASP在服务器端运行,运行结果以HTML主页形式返回用户浏览器,因而ASP源程序不会泄密,增加了系统的安全保密性。
此外,ASP是面向对象的脚本环境,用户可自行增加ActiveX组件来扩充其功能,拓展应用范围。
本系统的前台开发采用Dreamweaver,Dreamweaver是美国MACROMEDIA公司开发的集网页制作和管理网站于一身的所见即所得网页编辑器,它是第一套针对专业网页设计师特别发展的视觉化网页开发工具,利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页。
Dreamweaver特点:
1.最佳的制作效率
Dreamweaver可以用最快速的方式将Fireworks,FreeHand,或Photoshop等档案移至网页上。
使用检色吸管工具选择荧幕上的颜色可设定最接近的网页安全色。
对于选单,快捷键与格式控制,都只要一个简单步骤便可完成。
Dremweaver能与您喜爱的设计工具,如PlaybackFlash,Shockwave和外挂模组等搭配,不需离开Dremweaver便可完成,整体运用流程自然顺畅。
除此之外,只要单击便可使Dreamweaver自动开启Firework或Photoshop来进行编辑与设定图档的最佳化。
2.网站管理
使用网站地图可以快速制作网站雏形、设计、更新和重组网页。
改变网页位置或档案名称,Dreamweaver会自动更新所有连结。
使用支援文字、HTML码、HTML属性标签和一般语法的搜寻及置换功能使得复杂的网站更新变得迅速又简单。
3.无可比拟的控制能力
Dreamweaver是唯一提供RoundtripHTML、视觉化编辑与原始码编辑同步的设计工具。
它包含HomeSite和BBEdit等主流文字编辑器。
帧(frames)和表格的制作速度快的令您无法想像。
进阶表格编辑功能使您简单的选择单格、行、栏或作未连续之选取。
甚至可以排序或格式化表格群组,Dreamweaver支援精准定位,利用可轻易转换成表格的图层以拖拉置放的方式进行版面配置。
所见即所得Dreamweaver成功整合动态式出版视觉编辑及电子商务功能,提供超强的支援能力给Third-party厂商,包含ASP,Apache,BroadVision,ColdFusion,iCAT,Tango与自行发展的应用软体。
当您正使用Dreamweaver在设计动态网页时,所见即所得的功能,让您不需要透过浏览器就能预览网页。
梦幻样版和XMLDreamweaver将内容与设计分开,应用于快速网页更新和团队合作网页编辑。
建立网页外观的样版,指定可编辑或不可编辑的部份,内容提供者可直接编辑以样式为主的内容却不会不小心改变既定之样式。
您也可以使用样版正确地输入或输出XML内容。
全方位的呈现利用Dreamweaver设计的网页,可以全方位的呈现在任何平台的热门浏览器上。
对于cascadingstylesheets的动态HTML支援和鼠标换图效果,声音和动画的DHTML效果资料库可在Netscape和Microsoft浏览器上执行。
使用不同浏览器检示功能,Dreamweaver可以告知您在不同浏览器上执行的成效如何。
当有新的浏览器上市时,只要从Dreamweaver的网站在下载它的描述档,便可得知详尽的成效报告。
本系统的后台数据库采用Access2000,Access2000一个最突出的功能就是将Access数据库中的数据动态地提供给Web页。
Access2000另一个突出的优点就是使用起来特别简单,就和你使用“窗体”一样,非常的简单。
而且这种联接是动态的,不需要创建很多的页面,一切繁琐的工作Access都自己包了。
掌握这个对象的用法,以后往Internet发布数据就更加得心应手了。
第2章系统分析
2.1可行性分析
可行性分析(FeasibilityAnalysis)也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
为了确定开发具有可行性,对本系统主要进行了以下四个方面的分析。
(1)经济可行性。
经济可行性主要是对项目的经济效益进行评价。
本系统对系统开发者来说并不需要太高的成本支出,只是对系统的管理者付出管理报酬即可,而且开发周期不需要太长,节省了人力、物力、财力资源,所以本系统在经济上是可行的。
(2)技术上的可行性。
技术上的可行性分析主要是分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。
在软件方面,本系统采用的是ASP(ActiveSeverPages)进行开发,前台网页设计使用的是DreamweaverMX,而数据库系统采用的是MicrosoftAccess2000。
通过分析,在软、硬件方面现有工具与环境完全可以实现系统的开发,因此具有技术上的可行性。
(3)时机可行性。
时机可行性是分析系统开发时机是否成熟。
目前越来越多的应用程序都已经是转向基于Web的开发,并且Internet已经广泛使用,因此系统的设计具有时机可行性。
(4)管理上的可行性:
主要是管理人员是否支持,现有的管理制度和方法是否科学,规章制度是否齐全,原始数据是否正确等。
系统的开发主要就是为了方便校友信息的管理,补充现在传统管理方式的不足,因此具备了管理上的可行性。
综上所述,本系统开发目标已明确,在技术和经济等方面具备可行性,并且投入少、见效快,因此系统的开发是完全可行的。
2.2需求分析
在可行性分析阶段已经简要地分析和研究了本系统的基本需求,也论证了开发平台及软件的可行性,但为了明确系统设计的目标,了解用户的需求,现对用户需求作以调研,从而进一步明确了设计所实现子系统的功能。
2.2.1管理员登录
在调研中了解到,用户想要使用系统,首先要有一个友好的用户注册界面,其次,用户需要经历登录验证过程,只有合法的拥有管理员身份的用户才可以使用系统中的管理功能,这样做可以防止非法用户登录并使用本系统,妨害数据安全。
用户登录。
通过系统登录验证,用户成功进入系统并开始使用其中功能。
2.2.2文章管理
文章管理是用户所有文章的信息,用户可以进入此处进行相关文章的管理。
这部分主要包括以下方面:
(1)文章信息显示。
显示出所有文章的大概信息。
(2)发表新文章。
可以发表新的文章,以供网友浏览。
(3)修改文章。
可以修改已有的文章的内容。
(4)删除文章。
允许用户对文章信息进行删除操作。
2.2.3系统信息管理
系统开始运行之后,随着时间的变化会有想要更改系统的相关信息的要求,比如:
修改博客的标题、联系的Email地址,因此需要提供信息修改的功能。
同时,为了保证数据使用系统的安全性,管理员也应该经常修改登录密码信息。
2.3系统的主要技术分析
2.3.1ASP技术概论
MicrosoftActiveServerPages即我们所称的ASP,其实是一套微软开发的服务器端脚本环境,ASP内含于IIS3.0和4.0之中,通过ASP我们可以结合HTML网页、ASP指令和ActiveX元件建立动态、交互且高效的WEB服务器应用程序。
有了ASP你就不必担心客户的浏览器是否能运行你所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。
当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。
2.3.2ASP工作原理
ASP的执行过程
(1)用户在浏览器的地址栏中键入ASP文件,并回车触发这个ASP的申请。
(2)浏览器将这个ASP的请求发送到给Web服务器。
(3)WebServer接收这些申请并根据.asp的后缀名判断这是ASP要求。
(4)WebServer从硬盘或内存中读取正确的ASP文件。
(5)WebServer将这个文件发送到ASP.DLL的特定文件中。
(6)ASP文件将会从头至尾执行并根据命令要求生成相应的HTML文件。
(7)HTML文件被送回浏览器。
(8)用户的浏览器解释这些HTML文件并将结果显示出来。
图2-1ASP工作原理
2.3.3ODBC技术
ODBC的基本思想是为用户提供简单、标准、透明的数据库连接的公共编程接口,开发厂商根据ODBC的标准去实现底层的驱动程序,这个驱动对用户是透明的,并允许根据不同的DBMS采用不同的技术加以优化实现,这就利于不断吸收新的技术而趋完善。
这同时也就是数据库驱动的思想,它很类似于Windows中打印驱动的思想。
在Windows中,用户安装不同的打印驱动程序,使用同样一条打印语句或操作,就可很容易地实现在不同打印机上打印输出,而不需要了解内部的具体原理。
2.4数据分析
博客系统中,主要是管理用户的文章、留言、系统信息等数据。
数据的类型决定了程序对数据的处理方式也就是算法,因此,数据是系统实现分析的起点。
现通过数据流图的方式分析系统中数据的流动和处理。
对系统的管理员,在登录系统后,本系统接受管理员的修改、添加、删除请求,通过分析将这种请求转化成相应的SQL语句执行对数据库的相关的操作,并将执行的相应结果送回系统中。
系统接收到数据库返回的结果集,经过一定的分析处理,将其转化成ASP页面,返回到客户端显示给用户。
2.5数据流图
系统运行过程中,主要涉及到两部分的数据流向,一部分是管理员在系统后台管理界面上发出的对数据库操作的数据流,另一部分是用户在应用前台使用系统时所产生的数据流。
图2-2博客系统总体图
对于每一个管理,可以细分为添加、修改、删除、浏览等操作,现以文章管理为例,其具体细节图如图2-3所示。
图2-3文章管理细节图
第3章数据库设计
3.1数据库选择
本系统所采用的数据库是Access2000
Access数据库管理系统是MicrosoftOffice套件的重要组成部分,是Access的最新版本,可在Windows95环境下运行。
Access适用于小型商务活动,用以存贮和管理商务活动所需要的数据。
Access不仅是一个数据库,而且它具有强大的数据管理功能,它可以方便地利用各种数据源,生成窗体(表单),查询,报表和应用程序等。
数据库是有结构的数据集合,它与一般的数据文件不同,(其中的数据是无结构的)是一串文字或数字流。
数据库中的数据可以是文字、图象、声音等。
MicrosoftAccess是一种关系式数据库,关系式数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复。
表与表之间可以建立关系(或称关联,连接),以便查询相关联的信息。
Access数据库以文件形式保存,文件的扩展名是MDB。
Access的6种对象:
Access数据库由六种对象组成,它们是表、查询、窗体、报表、宏和模块。
表(Table)——表是数据库的基本对象,是创建其他5种对象的基础。
表由记录组成,记录由字段组成,表用来存贮数据库的数据,故又称数据表。
查询(Query)——查询可以按索引快速查找到需要的记录,按要求筛选记录并能连接若干个表的字段组成新表。
窗体(Form)——窗体提供了一种方便的浏览、输入及更改数据的窗口。
还可以创建子窗体显示相关联的表的内容。
窗体也称表单。
报表(Report)——报表的功能是将数据库中的数据分类汇总,然后打印出来,以便分析。
宏(Macro)——宏相当于DOS中的批处理,用来自动执行一系列操作。
Access列出了一些常用的操作供用户选择,使用起来十分方便。
模块(Module)——模块的功能与宏类似,但它定义的操作比宏更精细和复杂,用户可以根据自己的需要编写程序。
Access是一种关系型数据库管理系统,其主要特点如下:
(1)存储方式单一
Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放
在后缀为(.mdb)的数据库文件种,便于用户的操作和管理。
(2)面向对象
Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。
它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性。
通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。
同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。
(3)界面友好、易操作
Access是一个可视化工具,是风格与Windows完全一样