基于ASP的个人博客系统设计与实现 下载本文

内容发布更新时间 : 2024/5/20 23:23:29星期一 下面是文章的全部内容请认真阅读。

基于ASP的个人博客系统设计与实现

摘要:在互联网越来越普及的今天,信息在人们的日常生活中占据了非常重要的地位。个人博客系统可以看作是一种在Internet上公开发布的、快速更新的个人网站系统,使用者可以简单快速地完成个人网页的创建、发布和更新,是一个方便的供广大互联网用户相互交流的平台。使用ASP技术从系统需求分析、系统功能模块设计、系统数据库设计3个方面对个人博客系统进行了设计与实现,并进行了测试,系统运行稳定,测试效果良好。 关键词:博客;ASP;SQL Server;日志 0、引言

个人博客系统是近年来非常流行的一种快速更新的个人站点。最初,人们将每天浏览网站的心得和意见记录下来,并予以公开,供他人参考。但随着博客系统应用的快速扩张,它的目的与最初已相去甚远,用户发表和张贴网络日志的目的有着很大的差异。不过,由于其沟通方式比电子邮件、讨论群组更简单和容易,博客系统已成为家庭、公司、部门和团队之间越来越盛行的沟通工具,它也逐渐被应用在企业内部网络,更有人称它是继Email、BBS、即时交流软件之后出现的第4种网络交流方式。 1、系统需求分析

个人博客系统主要有下列3种类型:

(1)杂志型。用户针对特定主题,每天贴出最新报导,其中有

个人观察、网络文章链接及读者响应等,也有很多跟技术有关的网络日志。

(2)日记型。用户随时写下每日生活中的所思所感,同时加入生活照片,这是目前很多大学生等青年人群非常热衷的一种网络行为。

(3)导览型。用户以推荐当日值得一读的网络文章、网站、网络日志为主要任务,相当于过滤网络内容的义工。其基本形式是发表网络资源的连接,并加入用户的观点与评论,读者也可参与讨论。 本文所设计的个人博客系统主要围绕日记型和导览型,使用ASP和SQL Serever2005作为基本开发工具,将其功能分为前台浏览和后台登录两个模块进行开发设计。

管理员用户主要使用后台系统进行登录,主要完成如下功能:①用户管理,主要用于实现用户的添加与删除;②日志管理,主要用于实现日志文章的编辑、修改、分类、添加以及删除;③相册管理,主要用于实现相册的创建和删除、相片的添加和删除以及分类;④资料管理,主要用于实现个人信息的修改、浏览。

普通用户使用前台系统进行登录,主要完成如下功能:①阅读留言信息;②阅读管理员发布的最新文章及消息;③发表评论。 根据以上功能模块划分,系统功能模块如图1所示。 2、系统数据库设计

根据功能模块的划分,为本系统设计以下6个数据库表:①Blog:用于存储日志系统的所有者的信息;②Arti-cle:用于存储发表日志的

信息;③Feedback:用于存放浏览者对日志的评论;④Picture:用于存储日志中上传的图片信息;⑤Href:存储链接信息;⑥Category:存储日志空间上的所属类别信息。 3、系统实现 3.1 前台主界面实现

根据前面的分析,本系统的前台主要用于实现阅读留言信息、阅读管理员发布的最新文章及消息、发表评论等功能。因此,为前台界面设计如下4个功能模块:

(1)日志功能模块。日志版块是本系统里最复杂的一个前台功能模块,首页程序要求把最近的日志时间计算出来,然后把此时间段的日志列出。在首页还列出了日志评论、全部浏览的入口和访问量。在日志版块的功能中,还有日志详细内容页、日志发表评论和日志列表页。该模块包括日志首页、日志内容显示页、日志评论显示页等页面。

(2)图片功能模块。图片功能模块同日志功能模块很相似,也分为首页、图片内容查看、图片列表页,但没有搜索程序,可以通过在首页单击直接进入图片内容页。

(3)链接功能模块。链接功能模块比较简单,只有一个列表程序页,它提供了日志空间用户感兴趣的网站的链接,与访问者共享,因此只需要一个页面把所有的链接列出来即可。

(4)公共程序模块。公共程序块的内容包括:日志空间的标识Logo和一级菜单,这在前面的程序页面规划中已经提到过了;另外,

日志空间页面左边的搜索、热点评论、日志统计和最新链接,这4个部分分别放在不同的程序文件中。 3.2 后台主界面实现

系统的后台主要体现管理的功能,是对前台显示信息的管理。个人网上日志系统源于个人使用的需求,因此,本系统是以单用户为研究对象,如有需要以后可扩展为多用户系统。

单用户的日志系统重点在于完成信息的管理、分类和思想交流,不需要复杂的权限验证,所以后台功能包括发表信息和系统设置两大部分:①发表信息:发表日志、链接、图片及相关的管理;②系统设置:管理分类、管理评论、管理账号、退出登录。

在首页点击【登录】,输入正确的用户名和密码进入后台管理界面。

博客系统管理者进入后台时,需要验证身份。输入用户名和密码后,单击【Login】按钮完成登录。在提交表单时,通过js脚本验证不能提交空的用户名和密码:

Function EW_onError(form_object,input_object,object_type,error_message)

alert(error_message);

if(object_type==“RADIO”||object_type==“CHECKBOX”){ if(input_object[O]) input_object[O].focus( ); else

input_object.focus( );}else if(!(document.all&&document.aU[”_”+input_object.name+”editor”])) input_o bject.focus( );

if(object_type==“TEXT”||object_type==“PASSWORD”|| object_type==“TEXTAREA”||object_type==“FILE”) {

if(!(document.all&&document.all[“_”+input_object.name+“_editor”]))input_object.select( ); }

return false; }

密码验证程序是通过验证数据库表B10g中的账号来判断是否是系统用户:

userid=Request.Form(“userid”)

passwd=md5(Request.Form(“passwd”))

Set rs=conn.Execute(“Select*from[Blog]where[Username]=“&userid&””)If Not rs.EofThen

If UCase(rs(“Password”))=UCase(passwd)Then Session(”blog_status_User”)=rs(“Username”) Session(“blog_status_UserID”)=rs(“BloglD”) validpwd=True End If

End lt rs.Close Set rs=Nothing conn.Close Set conn=Nothing End If 4、系统测试

测试时依据各个阶段的需求、设计等文档或者是程序的内部结构精选测试实例来测试程序。本文主要针对以下3个方面进行测试:①添加或者修改日志/图片/链接;②普通用户对日志的评论管理功能;③用户账号的管理功能。

经过测试,该系统运行正常,能实现所设计的功能,包括浏览、评论日志、用户登录、修改用户信息和相关的日志/图片/链接管理等功能,且运行状态良好,达到了预期目标。