个人博客制作报告

更新时间:2024-06-03 12:03:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

目 录

第一章 绪论 ····················································································· 1

1.1 系统开发背景 ········································································· 1 1.2课题研究的意义 ······································································ 1 第二章 Blog系统开发技术 ······························································ 2

2.1 ASP.NET介绍 ········································································· 2 2.2 MVC开发模式 ········································································· 3 2.3Ajax介绍·················································································· 4

2.3.1什么是Ajax····································································· 4 2.3.2 Ajax相关技术介绍 ························································· 4 2.3.3 Ajax技术在系统中的应用 ·············································· 5 2.4 数据库 ··················································································· 5

2.4.1 SQL SERVER 2000 ························································· 5 2.4.2 ADO.NET ········································································ 5 2.5 ASP.NET配置 ········································································· 6 2.6 XML ····················································································· 7 第三章 BLOG系统分析 ···································································· 8

3.1 系统设计方案 ········································································· 8 3.2 系统功能模块 ········································································· 8 3.3 数据库需求分析 ··································································· 10 3.4 系统操作流程 ······································································· 10 3.5组件和样式分析 ·····································································11 3.6 用户控件················································································11 第四章 BLOG系统设计 ·································································· 12

4.1后台功能模块详细设计 ························································· 12

4.1.1 身份验证 ······································································ 12 4.1.2 后台文章添加管理 ······················································· 13 4.1.3 后台文章类别管理 ······················································· 14 4.2前台功能模块详细设计 ························································· 15

4.2.1前台主界面 ··································································· 15 4.2.2 前台用户回复评论文章模块 ········································ 16 4.2.3 在线聊天登录界面模块 ················································ 17 4.2.4 在线聊天模块······························································· 18 4.3 数据库的详细设计································································ 19

4.3.1 数据表设计 ·································································· 19 4.3.2数据库访问 ··································································· 21

第五章 结束语 ··············································································· 22

5.1 不足之处与改进 ··································································· 22

5.1.1 权限分配 ······································································ 22 5.1.3 界面美观化 ·································································· 22

5.2 结论 ······················································································ 23 参考文献····························································· 错误!未定义书签。 致 谢 ································································ 错误!未定义书签。

具有聊天功能的Blog实现 第一章 绪论

第一章 绪论

1.1 系统开发背景

随着计算机技术的发展和普及,blog得到了极大的发展。Blog,是Weblog的简称。blog是一种新的生活方式、新的工作方式、新的学习方式和交流方式。它是继E-mail、BBS、ICQ、之后出现的第4种网络交流方式。Blog主要应用于3个方面:一是新的人际交流方式;二是以个人为中心的信息摘选和知识管理;三是以个人为中心的传播出版。blog作为个人的一种学习工具,简单易用,吸引人的兴趣。Blog在教育方面得到了很大的发展,它将互联网从过去的通讯功能,资料功能、交流功能等进一步强化,使其更加个性化、开放化、实时化、全球化,把信息共享发展到资源共享、思想共享、生命历程共享。Blog已经成为一种继课件、积件、资源库、教育主题网站等信息化教学模式之后,新的网络应用模式。它是应时代的需求而兴起的,也是应时代需求不断进步的。

1.2课题研究的意义

随着Blog人数的增加,Blog作为一种新的生活方式、新的工作方式和新的学习方式已经被越来越多的人所接受,并且在改变传统的网络和社会结构。它使交流和沟通更有明确的选择和方向性;单一的思想和群体的智慧结合变得更加有效;个人出版变成人人都可以实现的梦想。Blog正在影响和改变着我们的生活。

Blog是以网络作为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。展示丰富的个性化,对Blog功能的要求自然更高,新一代具有更多、更新、更全功能的Blog急需走进舞台。系统加入聊天功能可以更加方便大家的交流。

第 1页 共24页

具有聊天功能的Blog实现 第二章 Blog系统开发技术

第二章 Blog系统开发技术

2.1ASP.NET介绍

本系统采用ASP.NET开发技术进行开发。ASP.NET不仅仅是ASP的一个新版本,更是Web应用程序编程方面的一个全新的概念和方法。ASP.NET中的新功能并不是对ASP的改进,设计它的初衷是为用户入境提供最佳的应用程序架构。它相比于ASP有着以下几个方面的优点: (1) 多语言

ASP曾在脚本引擎方面受到了限制,特别是VBScript和Jscript。而ASP.NET则支持多种语言,默认情况下为Visual Basic.NET、C#和Jscript.NET,另外还支持一些第三方语言。 (2) 服务器处理

ASP在服务器处理上不管页面的内容是纯HTML还是ASP生成的HTML,它都是按照实现,形成所谓3-tier页面顺序显示的。因此逻辑代码依赖于它在页面中的位置,并且无法将HTML控件作为目标,除非将它们作为流的一部分进行显示。而ASP.NET就解决了这个问题,方法是为控件引入一个声明的基于服务器的模型,因为控件在服务器上有,可以在服务器上编程,也可以是客户端驱动的事件。

(3) Web Form控件

将现有的HTML控件转换为服务器端的控件是比较容易的,但是也存在一些不方便,例如比较难于区分HTML控件和服务器端的控件。于是Microsoft公司就创建了一组专门的服务器控件,它们都用asp:前缀标识。 (4) 代码与内容分离

一个网站的设计与开发往往由不同的人来实现的,而ASP中就是存在着这样一个问题,代码(ASP脚本)和内容(HTML)混合在一起。这样就使得同时进行设计和开发变得很困难。而ASP.NET则采用了代码内联和后台编码两种方法实现了代码与内容的分离。

第 2页 共24页

具有聊天功能的Blog实现 第二章 Blog系统开发技术

2.2 MVC开发模式

MVC由Trygve Reenskaug提出,首先被应用在SmallTalk-80环境中,是许多交互和画面系统的构成基础。MVC结构是为那些需要为同样的数据提供多个视图的应用程序而设计的,它很好地实现了数据层与表示层的分离。MVC作为一种开发模型,通常用于分布式应用系统的设计和分析,以及用于确定系统各部分间的组织关系。对于画面设计可变性的需求,MVC(Model-View-Controller)把交互系统的组成分解成模型、视图、控制器3种部件。

(1) 视图部件把表示模型数据及逻辑关系和状态的信息以特定形式展示给用户。它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或视图。 (2) 控制器部件是处理用户与软件的交互操作的,其职责是控制提供模型中任何变化的传播,确保用户画面与模型间的对应联系;它接受用户的输入,将输入反馈给模型,进而实现对模型的计算控制,是使模型和视图协调工作的部件。 (3) 模型部件保存由视图显示、由控制器控制的数据;它封装了问题的核心数据、逻辑和功能的计算关系,它独立于具体的画面表达和I/O操作。

模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其他依赖于这些数据的视图都应反映了这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化——传播机制。 (4)ASP.NET模式下如何实现MVC?

ASP.NET提供了一个很好的实现这种经典设计模式的类似环境。开发者通过在ASPX页面中开发用户接口来实现视图;控制器的功能在逻辑功能代码(.cs)中实现;模型通常对应应用系统的业务部分。在ASP.NET中实现这种设计而提供的一个多层系统,对较经典的ASP结构实现的系统来说有明显的优点。将用户显示(视图)从动作(控制器)中分离出来,提高了代码的重用性。将数据(模型)从对其操作的动作(控制器)分离出来,可以让用户设计一个与后台存储数据无关的系统。就MVC结构的本质而言,它是一种解决耦合系统问题的方法。

第 3页 共24页

具有聊天功能的Blog实现 第二章 Blog系统开发技术

2.3 Ajax介绍 2.3.1什么是Ajax

Ajax是Asynchronous JavaScript and XML的缩写,即异步JavaScript 和XML。 Ajax是一种客户端技术,Ajax技术借助异步JavaScript实现浏览器和服务器之间的异步交互,即相当于在Web应用中实现了原来C/S(Client/Server)结构下的交互结果,且这种效果的实现并没有带来繁琐的客户部署工作。比如:无需重新加载整个页面就可以想服务器发送请求,并接受响应。同时对XML文档解析和处理。 Ajax的解决方案及其优越性

Ajax相当于在浏览器客户端与服务器之间架设了一个桥梁、一个媒介,在它

的帮助下,可以消除网络交互过程中的处理—等待—处理—等缺陷。在处理过程中Web服务器响应是标准的且易于解析的XML格式的数据传递给Ajax,然后再转换成HTML页面的格式,辅助CSS进行显示。Ajax是使用XMLHttpRequest对象发送请求并获得服务器端的响应,同时Ajax可以在不重新载入整个页面的情况下用JavaScipt操作DOM以实现最终更新页面。因此在读取数据的过程中,用户棉对的不是白屏,而是原来的内容。这种更新是瞬间的,使用户感觉是连贯的。

借助Ajax,可以把以前一些原本由服务器负担的工作转移到客户端来完成,

利用客户端闲置的能力来进行处理,这样也可以有效地减轻服务器和带宽的负担,使服务器更稳定,更良好的运行。同时节约了空间和宽带。

2.3.2 Ajax相关技术介绍

Ajax是多种技术的综合应用,包括JavaScipt脚本、CSS、DOM和重要对象

XMLHttpRequest。

(1) JavaScipt是一种可以与HTML标记混合使用的脚本语言,编写的程序可

以直接在浏览器中解释执行。因此使用脚本语言编写程序可以在浏览器支持下跨平台运行。JavaScipt脚本中可以调用浏览器及Ajax中提供的相关对象。利用这些对象的属性方法可以实现页面效果的动态控制。

(2) CSS是层叠样式表。CSS规则由模式匹配段和操作部分组成。模式匹配段

用于表示元素与行为之间的关联性;操作部分用于确定对指定部分的操

第 4页 共24页

具有聊天功能的Blog实现 第二章 Blog系统开发技术

作。CSS层叠样式可以弥补HTML超文本标记语言在格式修饰中的不足,同时也为能够实现页面格式的批量动态更新。

(3) DOM的全称是文档对象模型(Document Object Model),它在本质上是一

种文档平台。在使用Ajax技术中,借助DOM,可以结合脚本语言实现动态的数据存储以及动态上传文件。

(4) XMLHttpRequest是Ajax技术中最重要的一个对象。页面可以在不刷新的

情况下通过它发送请求来获取服务器响应。也可以使用该对象在不刷新当前页面的情况下更新页面中的数据。

2.3.3 Ajax技术在系统中的应用

Ajax技术运用于该系统的在线即时聊天功能模块。通过该技术实现了聊天信

息的不断更新,但并没有将整个页面都刷新,也不会带来页面在连续闪烁等问题。利用Ajax技术将聊天窗口不段更新数据,聊天窗口采用CSS样式,实现页面格式的批量动态更新。

2.4 数据库

本系统才用SQL SERVER2000做为后台数据库,采用ADO.NET技术对数据进行操作。

2.4.1 SQL SERVER 2000

SQL SERVER2000是可以在WEB上运行的数据库服务产品。它既可适用于桌面系统的单用户数据库,也可适用于企业的网络数据库,甚至适用于专业的WEB站点数据库,具有很强的可伸缩性。并且具有很高的可靠性、可用性和可管理性。从经济和开发效率上适合中小型网站。它和ASP.NET同属于微软公司开发,在开发接口有一致性,能更好的协调工作。同时,SQL SERVER2000对数据的安全性也有一定的保障,它对用户的访问进行了两个阶段的检查:一是认证阶段,二是许可确认阶段。数据库使用ADO.NET来处理数据。

2.4.2 ADO.NET

ADO.NET是基于.NET框架结构、面向分布式和以XML数据格式为核心的数据访问技术,它提供了一组数据访问服务的类,可用于对Microsoft SQL Server、

第 5页 共24页

具有聊天功能的Blog实现 第二章 Blog系统开发技术

Oracle等数据源及通过OLEDB和XML公开的数据远源的一致访问。ADO.NET统一了数据容器类编程接口,无论编写何种应用程序(Windows窗体、Web窗体、Web服务)都可以通过同一组类来处理数据。为使用方便,ADO.NET还提供了一组丰富的控件,利用可视化方式来开发数据库应用。 ADO.NET体系结构如下图所示 .NET Framework 数据提供程序

ADO.NET体系结构图

数据库 XML DataReader Connection 事务 DataAdapter SelectCommand InsertCommand UpdateCommand DeleteCommand Dataset Data TableCollection 数据表 DataRowCollection DataColumnCollectionConstraintCollection Command 参数 DataRelationCollection

ADO.NET体系结构的两大核心控件是.NET Framework数据提供程序和Dataset。. NET Framework数据提供程序用于连接到数据库、执行命令和检索结果。Dataset是一个功能丰富、比较复杂的数据集,它是支持ADO.NET的断开式、分布式数据方案的核心对象。Dataset专门用来处理从数据源获得的数据,无论数据来自什么数据源,它都使用相同的方式操作数据。

2.5 ASP.NET配置

Asp.net的配置文件都是XML格式的文件,XML格式文件易于书写和定制,采用这种方法进行asp.net配置方便灵活。另外,asp.net的配置都是可以随时更改的,即应用程序运行期间,可以随时增加和删除asp.net配置文件中的项目,修改

第 6页 共24页

具有聊天功能的Blog实现 第二章 Blog系统开发技术

后可以立刻激活使用比当配置发生变化时需要服务重新启动配置才生效的方法有很大的优势。

该系统运用了web.comfig文件进行配置web服务器,使用web.config文件配置web服务器简明扼要。Web.config文件是采用XML格式进行编写的XML文件。

2.6 XML

XML是Extensible Markup Language(可扩展标记语言)。它是一种存储数据的方法。它提供一种独立于应用程序的格式来保存数据,且容易实现不同应用程序之间的数据共享。与数据库相比,它不需要任何专用软件就可以创建和管理XML文档,只要一个文本编辑器就可以了;而数据库需要专门的数据库管理系统对数据进行管理。

第 7页 共24页

具有聊天功能的Blog实现 第三章 Blog系统分析

第三章 BLOG系统分析

3.1 系统设计方案

本系统是面向个人用户和小型集体用户开发的系统,完成用户在Blog上进行预定操作,实现用户和来宾之间的双向沟通。具体设计方案为:

(1) 系统服务器为IIS,数据库为SQLSERVER2000,整个系统界面采用

Microsoft visual Studio 2005开发。

(2) 系统采用MVC框架,用C#语言实现。

(3) 服务器与数据库的连接使用OLEDB编程接口的OleDbConnection对

象进行连接。

(4) 系统分成两部分,前台为普通用户操作界面,功能包括:阅读文章,

发表留言,发表评论,在线聊天。后台为管理员操作界面,管理员通过登录进入管理界面,功能包括:分类管理,文章管理,添加文章,评论管理,链接管理,留言管理。

3.2 系统功能模块

系统功能模块包括两大块:管理界面功能模块和普通用户界面功能模块。其具体功能如下所示:

1. 2. 3. 4. 5. 6. 7.

第 8页 共24页

管理员功能:分类管理,文章管理,评论管理,链接管理,留言管理。

普通用户功能:阅读文章,留言,评论和在线聊天。 分类管理:文章类型的添加,修改,删除。 文章管理:文章的修改,删除。 评论管理:评论的删除。 链接管理:链接的添加和删除。 留言管理:留言的删除和回复。

具有聊天功能的Blog实现 第三章 Blog系统分析

管理员用户功能模块图如下:

图1 管理员功能模块图

普通用户功能模块图如下:

图2 普通用户功能模块图

第 9页 共24页

具有聊天功能的Blog实现 第三章 Blog系统分析

3.3 数据库需求分析

1.用户分为普通用户和管理员用户

2.管理员涉及类型管理、文章管理、添加文章、评论管理、链接管理、留言管理。

3.普通用户可以阅读文章、发表回应、留言、评论和在线聊天。 4.一种文章类型有多篇文章。 5.一篇文章有多篇评论、回复。

对上面系统功能分析,设计如下数据项: 6.管理员信息:用户名、密码。 7.类型信息:类型编号、类型名称。 8.链接:链接编号、链接名称、链接地址。

9.留言:留言编号、留言人呢称、留言标题、个人主页、留言内容、留言时间、留言回复。

10.文章信息:文章序号、文章作者、文章标题、摘要、文章内容、文章发表日期、文章人气、回复、文章类型编号、文章类型名称、文章回复数。 11.评论:评论序号、评论用户呢称、评论标题、评论内容、评论时间、评论的文章序号。

3.4 系统操作流程

分析传统Blog系统这一环节所应具有的功能,可以得到Blog系统应具有以下功能:

高级系统用户(管理员)通过浏览器,可以实现文章的管理(对文章的各种信息进行浏览、增加、删除、修改等)、普通系统用户对文章信息只能阅读和留言。而该系统添加了在线即时聊天,是为该系统的一个亮点。 由此得到的系统的流程图如图3-3所示

系统操作流程图

第 10页 共24页

具有聊天功能的Blog实现 第三章 Blog系统分析

3.5组件和样式分析

博客系统中存在很多相同或相似的元素,这些元素可能是页面的标题,可能是页面的版权声明,也可能是文章的列表或是登录信息框。需要寻找一种方式在整个系统中共享,而不需在变化时修改所有的页面。所以就采用了样式文件进行管理以及用户自定义组件。

3.6 用户控件

ASP.NET为开发人员提供了用户控件这一新技术来实现Web元素的共享,开发人员可以通过Visual Studio.Net进行Web元素的外面的开发,同时可以通过Web元素后台代码的方式进行表现层的开发。设计用户控件提高了代码的可重复使用的性能。

在本系统中,使用了ST_Header、ST_Footer等用户控件。

第 11页 共24页

具有聊天功能的Blog实现 第四章 BLOG系统设计

第四章 BLOG系统设计

4.1后台功能模块详细设计

通过此功能用户可以对主页中的许多功能和数据进行操作控制。 4.1.1 身份验证

管理员通过此登陆入口进入管理界面,此入口需要填写正确的ID才能够登陆,非法ID不能够登陆,其界面如图4.1所示:

图4.1 管理员登录界面

一个系统能正常使用,安全性是非常重要的一个部分。安全性是对用户的生份进行验证并通过验证的用户按照为其授予的访问权限来确定用户是否可以访问某资源的一个过程。为了保证系统的安全,为了保证应用程序的安全,本系统采用了身份验证技术。

该代码表示系统禁止对ST_login目录下的ST_admin进行匿名访问.如果存在匿名用户,系统将自动验证用户名,提示错误信息。保证了系统的安全.关键代码如下:

实现此功能的关键代码为:

protected void Button1_Click(object sender, System.EventArgs e) {

第 12页 共24页

具有聊天功能的Blog实现 第四章 BLOG系统设计

OleDbCommand ST_myCmd = new OleDbCommand(\ST_admin where ST_admin_user='\ST_admin_psw='\ ST_myConn.Open();

OleDbDataReader ST_read = ST_myCmd.ExecuteReader(); if (ST_read.Read()) {

Session[\ Response.Redirect(\ } else {

Response.Write(\用户名和密码不对')\ }

}

4.1.2 后台文章添加管理

管理员可以在此页面操作管理功能,这些功能可以对主页进行添加、删除、修改等操作:

图4.2 管理员操作界面

public void ST_Save_Add() {

string ST_n_title = HtmlEncode(Request.Form[\

第 13页 共24页

具有聊天功能的Blog实现 第四章 BLOG系统设计

string ST_n_author = HtmlEncode(Request.Form[\ string ST_n_key = HtmlEncode(Request.Form[\

string ST_n_content = Request.Form[\ int ST_cmd;

if (Request.Form[\ {

ST_cmd = 1;

} else {

ST_cmd = 0; }

if (ST_n_title == \ {

Response.Write(\标题,摘要,内容不能为空!点此返回\ Response.End();

}

else {

string ST_sql = \

(ST_n_author,ST_n_title,ST_n_key,ST_n_content,ST_c_id,ST_n_iscmd) values ('\ST_n_author + \Request.Form[\

OleDbCommand ST_myCmd = new OleDbCommand(ST_sql, ST_myConn);

ST_myConn.Open();

ST_myCmd.ExecuteNonQuery(); ST_myConn.Close();

Response.Redirect(\ } }

4.1.3 后台文章类别管理

第 14页 共24页

具有聊天功能的Blog实现 第四章 BLOG系统设计

图4.4 类别管理界面

protected void Page_Load(object sender, System.EventArgs e) { string ST_dns = ConfigurationSettings.AppSettings[\ ST_myConn = new OleDbConnection(ST_dns); ST_Type_List_Bind();

}

private void ST_Type_List_Bind() { OleDbDataAdapter ST_classCmd = new OleDbDataAdapter(\ST_c_id,ST_c_name from ST_class\ DataSet ST_classds = new DataSet(); ST_classCmd.Fill(ST_classds,\类别列表\ ClassList.DataSource = new DataView(ST_classds.Tables[0]); ClassList.DataBind();

}

4.2前台功能模块详细设计 4.2.1前台主界面

前台主界面图如下:

第 15页 共24页

具有聊天功能的Blog实现 第四章 BLOG系统设计

图4.3 前台主界面

该页面是普通用户最主要的页面,普通用户所有功能操作都与该页面有关。普通用户采用匿名登录,可以访问该页面的所有功能。

4.2.2 前台用户回复评论文章模块

前台普通用户回复评论文章界面如下图所示:

该模块的功能是对文章发表回复,同时验证发送内容都不能为空。其关键代码

如下:

protected void replay_Click(object sender, System.EventArgs e) { if (IsPostBack) {

第 16页 共24页

具有聊天功能的Blog实现 第四章 BLOG系统设计

if (r_nick.Text.Trim()==\r_content.Value.Trim()==\ { Response.Write(\昵称,标题,内容不能为空!点此返回\ Response.End(); } else { string ST_sql = \

(ST_r_nick,ST_r_title,ST_r_content,ST_r_date,ST_n_id) values ('\+\+\ OleDbCommand ST_myCmd = new OleDbCommand(ST_sql,ST_myConn); ST_myConn.Open(); ST_myCmd.ExecuteNonQuery(); ST_myConn.Close(); ST_add_Re(); Response.Redirect(\ } } }

4.2.3 在线聊天登录界面模块

用户可以通过该页面进入聊天室,实现在线即时聊天。用户可以不用注册,直输入用户名,进入聊天室聊天。对于用户名相同,系统会提示错误文本消息。

图4.5 聊天登录界面

其关键代码为:

protected void Login( object sender, EventArgs e ) { string user = txtUsername.Text; if( !ValidateNick( user ) ) return; if( Global.Engine.UserExists( user ) )

第 17页 共24页

具有聊天功能的Blog实现 第四章 BLOG系统设计

{ lblErrorMsg.Text = \这个用户名已经存在,请更换后重试.\ return; } Response.Redirect( \ }

bool ValidateNick( string nick ) { if( nick == string.Empty ) { lblErrorMsg.Text = \请在这输入呢称.\ return false; } if( nick.Length > 10 ) { lblErrorMsg.Text = \呢称太长, 请不要超过10个字\ return false; } return true;

}

4.2.4 在线聊天模块

在线聊天界面如下:

图4.6 聊天窗口界面

该页面采用了ajax技术实现页面无刷新只在聊天窗口实现数据更新,完成信

第 18页 共24页

具有聊天功能的Blog实现 第四章 BLOG系统设计

息交互的功能,达到了很好的聊天效果。

关键方法代码如下: function postText() { rnd++; chatbox = getElement( \ chat = chatbox.value; chatbox.value = \ userid = location.search.substring( 1, location.search.length ); url = 'Server.aspx?action=PostMsg&u=' + userid + '&t=' + encodeURIComponent(chat) + '&session=' + rnd; req = getAjax(); req.onreadystatechange = function()

{ if( req.readyState == 4 && req.status == 200 ) { updateAll(); } } req.open( 'GET', url, true ); req.send( null ); }

4.3 数据库的详细设计 4.3.1 数据表设计

博客系统中的数据管理形式采用数据库,根据系统需要与数据规范化分为用户表ST_admin,类型信息表(ST_class),链接信息表(ST_link),留言信息表(ST_message),文章信息表(ST_news),评论信息表(ST_replay)这六个表,表结构分别如下:

表1 ST_admin(用户表) 序号 1 2 列名 ST_admin_user ST_admin_psw 数据类型 Nvarchar Nvarchar 长度 50 50 字段说明 管理员ID 管理员密码 该表为管理员登录的信息表,本系统没有包含管理员用户的注册模块,管理员帐号直接在数据库中设计。普通用户匿名登录主页。

表2 ST_class(类型信息表) 序号 1

列名 ST_c_id 数据类型 Bigint 第 19页 共24页

长度 8 字段说明 文章类型号 具有聊天功能的Blog实现 第四章 BLOG系统设计

2 ST_c_name Nvarchar 50 文章类型名 该表用来记录文章类型的相关信息,系统文章分了类别,使管理文章,查看文章都变的非常的方便。

表3 ST_link(链接信息表) 序号 1 2 3 列名 ST_l_id ST_l_name ST_l_url 数据类型 Bigint Nvarchar Nvarchar 长度 8 50 50 字段说明 链接号 链接名 链接地址 该表记录了链接的相关信息,方便用户快速的链接到想浏览的网站,提高了用户的操作效率。

表4 ST_message(留言信息表) 序号 1 2 3 4 5 6 7 列名 ST_id ST_nickname ST_title ST_homepage ST_content ST_mdate ST_hf 数据类型 Bigint Nvarchar Nvarchar Nvarchar Ntext Datetime Ntext 长度 8 50 50 50 16 8 16 字段说明 留言号 网友呢称 留言标题 个人主页 留言内容 留言时间 留言回复 该表包含了留言的相关信息,留言模块方便普通用户和版主之间的交流,为他们提供了一个专门的途径。

表5 ST_news(文章信息表) 序号 列名 数据类型 第 20页 共24页

长度 字段说明 具有聊天功能的Blog实现 第四章 BLOG系统设计

1 2 3 4 5 6 7 8 9 10 11

ST_n_id ST_n_author ST_n_title ST_n_key ST_n_content ST_n_date ST_n_hit ST_n_re ST_c_id ST_c_name ST_n_iscmd Bigint Nvarchar Nvarchar Nvarchar Ntext Datetime Bigint Bigint Bigint Nvarchar int 4 50 200 200 16 8 8 8 8 50 4 文章号 文章作者 文章标题 文章摘要 文章内容 文章发表日期 文章人气 文章回复 文章类型编号 文章类型名称 文章回复数 该表为文章信息表,包含了文章的相关属性,用来记录文章信息。该模块可以帮助用户了解文章的基本信息。比如:文章人气高可能是内容很有意义,方便用户去阅读那些比较好的文章。

表6 ST_replay(评论信息表) 序号 1 2 3 4 5 6 列名 ST_r_id ST_r_nick ST_r_title ST_r_content ST_r_date ST_n_id 数据类型 Bigint Nvarchar Nvarchar Nvarchar Datetime Int 长度 8 50 50 250 8 4 字段说明 评论号 呢称 评论标题 评论内容 评论发表时间 评论文章编号 此表为评论信息表,用来记录评论信息。评论也是用户的一种交流方式。该模块加强了用户之间的沟通。

4.3.2数据库访问

该系统数据库的连接在应用程序配置文件(Web.config)中设置了数据库的连接信息。这样提高了程序的的移植性,且为版本升级,代码扩展提供了良好的

第 21页 共24页

具有聊天功能的Blog实现 第四章 BLOG系统设计

基础。连接语句代码如下:

name=”RewriteConfig”type=”URLRewrite.Config.RewriteConfigSerializerSectionHandler,URLRewrite”/>

Security info=True;User ID=sa;Initial Catalog=ST_Blog;DataSource=127.0.0.1;”/> …

在功能代码中用如下语句与数据库关联:

Protected void Page_Load(object sender,System.EventArgs e) { }

String ST_dns=ConfigurationSettings.AppSettings[“conn”]; ST_myconn=new OleDbConnection(ST_dns);

第五章 结束语

5.1 不足之处与改进

本系统现已基本完成,基本功能已经具备,但在如下几个方面还存在着不足,需要做进一步的研究与开发,使Blog系统能够更完善。

5.1.1 权限分配

本系统权限分配不够细化,只分为管理员和普通用户。管理员可以对数据库进行所有操作,普通用户只能浏览文章,发表回复,在线聊天。而不能发表自己的文章,管理自己的文章,缺乏作为低级管理员的功能。如果我们能在数据库中为各种不同的用户分配不同的角色来细化权限的分配,这样可以便于我们对系统的管理和维护,也能够更多的满足广大用户的需求。

5.1.3 界面美观化

第 22页 共24页

具有聊天功能的Blog实现 结束语

一个系统强大的功能固然重要,能有一个漂亮的界面也必不可少。特别是界面上颜色的搭配很有讲究,要符合系统的基调。让用户更加赏心悦目,为此我认真研究了CSS,.NET。在一定程度上美化了界面,但是对FLASH,PHOTOSHOP还不同熟悉,所以界面显得单调。

5.2 结论

本文提出并设计了一个基于ASP.NET

的完整的博客系统,该系统整合了

数据库技术、ASP.NET技术、网站开发技术等。主要实现了当前主流博客的基本功能,并在该系统中添加了聊天功能,该功能采用先进的Ajax技术,不但功能强大而且好用。因此它的功能比传统的博客更加全面。采用MVC模式,按照任务和业务驱动的过程进行开发。但是本系还存在着一些不足之处,如安全性上的密码未采用加密,部分功能待完善,权限分配不够全面不够细。通过对这个系统的学习与开发,让我更好地掌握了ASP.NET的开发技术,更深刻地理解了网站的开发流程。

在两个月的开发周期中,让我明白一点,就是测试的重要性。所谓建系统,测试先行,软件工程的知识告诉我们一个系统的开发从立项到投入运行,很长的周期都是在测试上的,这次的实际的系统开发让我增长了测试的经验。

第 23页 共24页

具有聊天功能的Blog实现 致谢

第 24页 共24页

本文来源:https://www.bwwdw.com/article/lq46.html

Top