程序代码见文件user_blog.asp
6.2系统管理子模块
6.2.1模块简介
该模块用于对系统设置进行管理,这些设置包括系统的风格、系统的上传文件、系统的数据库文件、博客浏览页面的模版类型文件、系统的站点信息。因此,在管理上就包括如下功能:
设置系统的风格(即对系统的样式单文件.css文件的内容进行设置)
备份系统的数据库文件和上传的文件
添加/管理系统模版类型文件
管理(即决定删除与否)上传文件
统计站内信息数据(即系统的日志总数和系统用户数)
6.2.2模块体系结构
为实现上述功能并且便于管理,设计时将该模块分为了六个子模块分别实现上述功能。这些模块包括:设置系统风格模块、备份数据库文件模块、添加模版模块、管理模版模块、统计站内数据模块、获取调用脚本模块、管理上传文件模块。
各模块之间关系如下:
6.2.3设计说明
1管理博客系统页面模板子模块
管理系统模板子模块是博客管理的组成部分,为此设计了一个修改系统模板页面admin_sysskin.asp,同时设计了一个系统模板样式文件Admin_STYLE.CSS,和相应的数据库文件style(系统模板数据表)表。此部分的信息是由系统管理员提交的,当管理员提交相应的模版样式文件时,系统会修改数据库表中模板的数据。
(1).管理系统模板运行过程
系统管理员在后台页面中可以直接修改系统模板样式文件的代码,再通过文件上传的方法将管理员提交的模板信息数据存入style系统模板数据表中。
程序流程如下左图:
(2).管理系统模板程序的实现部分:
添加新模板和修改模板就是上传一个文件到服务器上去,因为要上传文件,所以要将前台表单ENCTYPE属性设置成multipart/form-data值。这样就把表单的MIME编码设置成了允许上传文件的格式。
为了能够适应各种服务器,我们的博客系统采用了无组件上传的方式。所谓的无组件上传就是不需要在服务器安装什么上传足见,而是通过一个ASP页实现上传对象,代码文件upload.asp就是实现上传对象的ASP页。
这样只要在admin_addsysskin.asp中包含upload.asp,我们就可以通过:
Setupload=newupload_blog
建立上传对象了。上传对象通过Stream对象得到后台传来的二进制数据流,并且将其保存成相应的文件。
2数据库备份与还原子模块
数据备份对于一个博客网来说很重要。当博客系统运行了一段时间之后不小心数据库被删除了,或者数据被破坏了,这时候备份数据库就非常的重要了,所以本系统要时刻注意数据库的备份。
(1).数据库备份与还原功能运行图:
在这个模块系统管理员发出对数据库的操作命令,系统将调用admin_database.asp页面然后对数据库进行备份或还原。
(2).管理数据库程序的实现部分:
数据库备份程序(admin_data.asp)
Dimfso,Engine,strDBPath
strDBPath=left(dbPath,instrrev(DBPath,"\"))
Setfso=Server.CreateObject("Scripting.FileSystemObject")
Iffso.FileExists(dbPath)Then
SetEngine=CreateObject("JRO.JetEngine")
Engine.CompactDatabase"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&dbpath,"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&strDBPath&"temp.mdb"
fso.CopyFilestrDBPath&"temp.mdb",dbpath
fso.DeleteFile(strDBPath&"temp.mdb")
Setfso=nothing
SetEngine=nothing
这是一段关键的代码,从中我们可以看到一个处理文件上非常重要的对象--FSO,也就是FileSystemObject对象。
FileSystemObject对象提供对计算机文件系统的访问。
Scripting.FileSystemObject
下面的代码是使用FileSystemObject对象返回一个TextStream对象,此对象可以被读取或写入:
Setfso=Server.CreateObject("Scripting.FileSystemObject")
Seta=fs.CreateTextFile("c:\testfile.txt",True)
a.WriteLine
a.Close
在以上代码中,CreateObject函数返回FileSystemObject对象(fs)。使用CreateTextFile方法创建一个文件,作为TextStream对象(a),然后使用WriteLine方法在此文件中写入一行文本。最后使用Close方法刷新缓冲区并关闭文件。
在这个模块中为了实现对数据库的管理功能在程序中使用了FSO对象的大量方法:BuildPath方法在现有路径后附加名称;CopyFolder方法将文件夹从某位置递归复制到另一位置;CreateFolder方法创建文件夹;CreateTextFile方法创建指定文件并返回TextStream对象;DeleteFile方法删除指定的文件;DeleteFolder方法删除指定的文件夹和其中的内容;
GetAbsolutePathName方法从提供的指定路径中返回完整且含义明确的路径;GetFile方法返回与指定路径中某文件相应的File对象;GetTempName方法返回随机生成的临时文件或文件夹的名称,用于执行要求临时文件或文件夹的操作;MoveFile方法将一个或多过文件从某位置移动到另一位置;OpenTextFile方法打开指定的文件夹并返回一个TextStream对象,可以读取此对象或将其追加到文件。
7博客浏览系统模块
博客浏览系统提供了浏览日志、阅读和搜索、系统登陆功能,因此在系统设计上将此模块分为了四个模块来完成这些功能,即系统登陆模块、博客浏览模块、日志阅读模块和搜索模块。现在就博客浏览模块和搜索模块介绍如下:
7.1博客浏览模块
7.1.1模块简介
此模块提供了给所有用户浏览博客的功能。系统启动后即可进入该模块,因此用户在系统启动时即可使用该模块浏览系统中的日志列表和博客列表。在设计上分为了两部分,一部分为系统所有博客列表和日志列表的总体浏览,另一部分为具体类型的博客浏览。
7.1.2模块体系结构
7.1.3运行流程
7.1.4设计说明
浏览模块是博客访问者接触最多的部分,为此设计了几个浏览页面,有系统主页面,博客列表浏览页面,日志列表浏览页面,同时为了实现这个功能而设计了相应的数据库文件sysskin(系统模版表)表,classname(博客专题表)表,blog(日志信息表)表,usertype(用户类型表)表。系统启动时会从sysskin表中查找博客系统的模版类型,然后启动主页面,之后的操作信息是由用户提交的,当用户点击相应的链接时,系统会从相应的表中查找数据,若有符合条件的博客信息则将结果显示于客户端的页面上。比如:点击日志,系统则从blog表中查找日志内容,然后显示在页面上。
List.asp是将符合要求的日志列表显示出来的页面。在这个页面里,用户可以看到列表显示的日志题目和发表时间。
这个模块中采用RecommendColumn而不是Columaid作为文章所属关系的判断,因为在这个系统里一篇日志可以被推荐到多个栏目,为了使数据结构清晰,我们认为日志实际属于的栏目也是一个被推荐的栏目,并且是一个被推荐到的栏目,因此本系统采用RecommendColumn作为日志所属关系的判断。
此客户端文件为index.asp文件,bloggerlist.asp文件,list.asp文件和newtopic.asp文件。
7.2访问量统计模块
对博客系统管理员来说,要想准确的知道浏览者喜欢哪类博客不喜欢哪类博客从而更好的管理好博客系统,就必须获得页面访问的准确数据,虽然可以利用网络日志得到这些数据,但毕竟不太方便,所以要为博客系统设计访问量统计的功能。
下面是一段增加日志访问数的程序:
FunctionAddVistCount(blogID)
DimsqlAddVistCount
sqlAddVistCount="updatetbl_PubBlogInfosetBlogTo
上一篇:
asp医药连锁店管理系统ASP+源代码+可执行程序+论文(论文和程序)
下一篇:
密切医患护患关系,开展健康教育