1、个人日志系统 的设计与 实现 摘 要 在互联网越来越普及的今天,信息在人们的日常生活中占据了非常重要 的地位, 个人日志系统 是 基于 ASP 和 SQL Server 的一种在 Internet 上公开发布的 快速更新的个人网站 系统 ,使用者可以 简单快速地 完成个人网页的创建、发布和更新 , 是一个方便的供广大互联网用户相互交流的平台。 它可以是单用户的,也可以是多用户的, 本文 主要研究单用户系统,主要包括前台浏览、评论日志功能,后台发表日志的功能、相关的管理功能和修改账户信息等功能。 本文 主要介绍了该 系统 的基本功能及具体设计实现方法: 系统 分析中系统的结构图分析了系统各模块的
2、功能;在系统设计中,详细 地 展现了系统各个功能模块 的 设计思路、所需的数据库表及表字段等;最后介绍系统的安全功能 账号密码加密的必要性及具体实现方法。 关键 词 : 个人日志系统 ; ASP; SQL; 加密 Design and Implementation of Personal Journal System Abstract Nowadays, with the increasingly popularity of the Internet, information has taken a main role in peoples daily life, Personal Journ
3、al System is a kind of quickly renewed personal website system based on ASP and SQL Server which can be publicly released in Internet. The user can easily and fleetly do the work such as establishing, publishing a personal website and renewing it. Its a convenient platform for largeness Internet use
4、rs to communicate with each other. It can be single-user system or multi-user system, in this article we mainly study the single-user system, and its functions mainly comprise browsing and commenting journals in foreground, publishing journals in background, correlative managing function and modifyi
5、ng users account information. This article mainly introduces basic functions of the system and specific realization methods of the design: The structure diagram of the system functions in system analyse part analyses different functions of each module; In the system designing part, it exhibits the d
6、esigning thought of every module and the required database forms in detail; in the end, it introduces the safety function of the system-the necessity of encrypting users password and specific realization methods. Key words: Personal Journal System; ASP; SQL; Encrypt 第 1 页 1 引言 个人日志系统 是一种十分简易的傻瓜 式 个人
7、信息发布方式 , 让任何人都可以像免费电子邮件的注册、 书写 和发 送一样, 简单快速地 完成个人网页的创建、发布和更新 ,用户可以通过该系统发布日志、 图片等 各种信息,是一个方便的供广大互联网用户相互交流的平台。 一般一个日志系统就是一个页面,它通常由简短而经常更新的日志文章构成,所有文章都是按照日期排列, 现在流行的博客就是日志系统的具体表现 。看上去平淡无奇,毫无可炫耀之处,但它可以让每个人零成本地创建自己的网络媒体,每个人都可以随时把自己的 想法 和灵感在日志系统站点上更新。它的人性化和平民视角使得它提供的消息更贴近人们的生活,而且它搜集的新闻资料大多是第一手资料。简言之, 该系统具
8、 有 友好的用户界面、 简单易懂的操作方式、强大的功能,有广泛的应用空间和无可比拟的价值 。 2 开发概述 2.1 开发背景 个人日志系统是近年来非常流行的一种 快速更新的个人 站点 , 最 初, 人们 将每天浏览网站的心得和意见记录下来,并予以公开,来给其它人参考。但随着 日志系统的 快速扩张,它的目的与最初 已 相去甚远。目前网络上数以千计的 日志系统用户 发表和张贴 网络日志 的目的有很大的差异 , 不过,由于沟通方式比电子邮件、讨论群组更简单和容易, 日志系统 已成为家庭、公司、部门和团队之间越来越盛行的沟通工具,因为它也逐渐被应用在企业内部网络 , 更有人 称 它 是继Email、
9、BBS、 ICQ 之后出现的第四种网络交流方式 。 2.2 系统概述 个人日志系统 基本上有下列三种 类型 : 1、 个人杂志型。作者针对某些主题,每天贴出最新报导,其中有个人观察、网络文章 链接 及读者响应等,其中也有很多跟技术有关的网络日志。 2、 传统日记型。作者随时写下每日生活中的所思所感,同时也加入生活照片, 是目前很多大学生等青年人群非常喜爱的一种网络工具 。 3、 网络导览型。作者以推荐当日值得一读的网络文章、网站、网络日志为主要任务,相当于过滤网络内容的义工,基本形式就是网络资源的连 接 ,并加入作者的观点与 评论,读者也可参与讨论。 当然也有以上 述 基本 类型 混合而成的网
10、络日志,总体而言,它们的特色都是个人化,更新快,有很多网络 链接。 网络日志 之所以 这么红 , 最主要的原因还是这种 工具非常方便,收费便宜、易于使用, 有的甚至完全免费 , 用户 从申请到建第 2 页 立 好自己的网络日志,只要 短短十数 分钟。 2.3 开发工具概述 本系统所用的开发工具是 ASP 和 SQL server 2000。 1、 ASP 最初,互联网的应用只局限于数据的共享,随着客户机 /服务器模式的引入,以及 Java 语言、 VBScript 和 JavaScript 等脚本语言和 ASP 技术的应用, 互联网的使用方式发生了根本的变革,网页也开始精彩起来,许多条理清晰、
11、交互性强、内容丰富的网页深深吸引着网络用户。 在网络程序设计中 ,ASP(Active Server Pages)是服务器端的一种未经编译的开放式程序。程序设计者可按 ASP 的要求来编写功能强大的网络应用程序,并实现服务器端的数据处理及数据上传与下载。这种程序通常被称作“ ASP 程序” (或“ ASP 网页” )。一个 ASP 程序通常包括 HTML 标签语句、文本和脚本程序等。由于这类程序是以“ .asp”为扩展名存放的,因此对应的文件可称作“ ASP 文件”。 网 络开发者使用脚本语言和 HTML 语言设计完成一个 ASP 程序后,可通过文本编辑器输入到机内,并将它保存在 Web 服务
12、器的外部存储器上 (文件的扩展名为 .asp)。准确地说,应当将 ASP 文件置于 Web 发布主目录 (C:Inetpubwwwroot)下,或者该主目录的一个子目录下。 当客户从浏览器上读 取 该 ASP 文件时,将向 Web 服务器发出 HTTP 请求,服务器收到该请求后调用 ASP,读取请求的文件,执行其中的脚本命令,生成标准的 Web 页回送给客户的浏览器。此过程如下图所示: 该图中,服务器与客户机可以通过互联网 络 连接起来,使它们成为互联网络的两个端点 , 实际上它们可 以 是同一局域网络内的两台计算机,或者是同一台计算机。 图 1 ASP 文件执行过程 传送 http 请求 传
13、送 http 响应 服务器 客户机 第 3 页 当我们在安装了 IIS 的 电脑 上打开浏览器,并在地址栏中输入 127.0.0.1 时,该计算机就已经扮演了两个角色:作为客户机发送浏览网页的请求、作为 Web服务器响应客户机的请求。 在 Windows XP 上安装 IIS 的过程: 将 Windows XP 的系统光盘放入机内,打开【控制面板】选择【添加 /删除程序】选项,在弹出的选项框中选择【添加 /删除 Windows 组件 】选项卡中点选,然后点击“下一步”进行安装。 安装完成后,在 c 盘下会出现 名为“ Inetpub”的 文件夹。 2、 SQL server 2000 SQL
14、Server 是一个关系数据库管理系统,是 Microsoft 推出 的 数据管理与分析软件。 SQL Server 2000 是为迅速提供可伸缩性电子商务、企业及数据仓库解决方案而开发的完整数据库与分析软件产品。 SQL Server 2000 定位于 Internet背景下的数据库应用,它为用户的 Web 应用提供了一款完善的数据管理和数据分析解决方案 , 极大地缩短了用户开发电子商 务、数据仓库应用的时间。 SQL Server 2000 还提供对 XML(Extensible Markup Language 扩展标示语言支持 )和HTTP 的全方位支持。 数据库 blog 登陆名 sa
15、 密码 hyde 第 4 页 3 系统分析 3.1 系统功能流程图 3.2 系统模块划分 该系统由前台 模块 和后台 管理模块 构成 : 图 2 个人 网上 日志系统功能流程图 游 客 否 访问主页 用户操作 登 陆 是 管理 图片 管理 链接 管理评论 数 据 库 用户 口令加密存放 管理日志 评论日志 第 5 页 表 1 功能模块 序号 功能模块类别 功能模块 1 前台模块 首页功能模块 浏览日志功能块 浏览链接功能块 公共模块 2 后台管理模块 登 录 功能块 日志管理功能块 评论管理功能块 图片管理功能块 链接管理功能块 因为个人日志是个人展现自己的一个网上舞台,在这里日志所有者可以
16、自由地把自己的个性和才能展现给大家,并能够同来访者交流,所以它的功能划分会相对比较简单些。 3.3 系统功能设计 前面已经介绍了系统的流程与模块划分,这里将 详细描述 各个功能模块: 表 2 前台功能列表 序号 功能列表 功能明细 1 首页 日志最新列表 2 浏览 日志 功能块 日志最新列表(最新日期的全天日志,列出每篇日志的浏览数、评论数,以及 进入日志内容页的链接) 日志内容页(包括日志全部内容和评论内容) 评论功能(发表评论) 3 浏览图片功能块 图片最新列表(最新日期的全天图片,列出每张图片的浏览数) 图片读取程序(图片被直接从数据库中读出) 图片查看页 4 浏览链接功能块 浏览链接列
17、表(把所有的链接在一页中列出) 5 公共模块 文章关键字查询(标题) 最新评论(列出对 日志 的最新评论,不超过 5条) 列出最新的链接(不超过 5 条) 列出日志、图片、链接的总数 日志列表页(所有日志列表页,提供 翻页功能) 图片列表页(所有图片列表页,提供翻页功能) 第 6 页 表 3 后台功能列表 序号 功能列表 功能明细 1 登 录 验证 验证用户身份 2 日志等 管理功能 写日志, 发图片 /链接, 管理日志 /图片 /链接等 (包括修改、删除) 3 系统设置 管理分类,用 于 划分日志、图片、链接 类型 管理评论 4 账号管理 修改个人信息及账号密码 5 退出登录 离开后台管理界
18、面 4 数据库设计 4.1 数据库表之间的关系 本系统需要设计的数据库表 单 有: 表 4 系统数据表 序号 数据库表 数据库存储内容 1 Blog 存储日志 系统所有者的信息 2 Article 存储发表日志的信息 3 Feedback 存储浏览者对日志的评论 4 Picture 存储日志中上传的图片信息 5 Href 存储链接信息 6 Category 存储日志空间上各版块所属类别的信息 这些数据表之间的关系如下: 第 7 页 4.2 数据库表的详细设计 表 5 用户信息表( blog) 序号 字段名 字段类别 说明 备注 1 BlogID Int 日志空间所有者的 ID 主键 2 Sub
19、ject Nvarchar(50) 日志的主题 扩充功能 3 Username Nvarchar(50) 日志空间所有者的账号名称 4 Password Nvarchar(50) 日志空间所有者的账号密码 5 Description Nvarchar(50) 日志空间的描述 6 Email Nvarchar(50) 日志空间所有者的 Email 7 Name Nvarchar(50) 日志空间所有者的真实姓名 8 AticleCount Int 发表的日志数 默认为 0 表 6 类别信息表( category) 序号 字段名 字段类别 说明 备注 1 CategoryID Int 类别关键字
20、ID 关键字 2 Name Nvarchar(50) 类别名 3 Description Nvarchar(50) 类别描述 图 3 数据表关系图 第 8 页 表 7 日志信息表( article) 序号 字段名 字段类别 说明 备注 1 ArticleID Int 日志关键字 关键字 2 Subject Nvarchar(50) 日志标题 3 Content Ntext 日志内容 4 CategoryID Int 日志所属 类别 5 Publishtime Datetime 日志发表时间 6 Viewnum Int 日志浏览数 默认为 0 7 Feedbacknum Int 日志 评论数 默
21、认为 0 表 8 日志评论信息表( feedback) 序号 字段名 字段类别 说明 备注 1 FeedbackID Int 评论信息关键字 关键字 2 Title Nvarchar(100) 评论标题 3 Content Ntext 评论内容 4 Publishtime Datetime 评论发表时间 5 Username Nvarchar(50) 评论发表者的名字 表 9 图片信息表( picture) 序号 字段名 字段类别 说明 备注 1 PictureID Int 图片信息关键字 关键字 2 Subject Nvarchar(100) 图片标题 3 Image Image 图片内容
22、4 CategoryID Int 图片所属类别 5 Filenamepath Nvarchar(200) 图片名字 6 Width Int 图片宽 7 Length Int 图片高 8 Publishtime Datetime 图片上传时间 9 Viewnum Int 浏览数 默认为 0 表 10 链接信息表( href) 序号 字段名 字段类别 说明 备注 1 HrefID Int 链接信息关键字 关键字 2 Name Nvarchar(50) 链接标题 3 Url Ntext 链接内容 4 Category Int 链接所属类别 5 Publishtime Nvarchar(50) 链接加入时间 5 系统实现 5.1 前台 的 实现 根据前面 的 描述,前台共有 4 个模块和相关的公共模块, 统一在首页导航 ,首页页面布置如下: