当前位置:文档之家› 【最新版】基于JSP的博客网站系统开发(毕业论文)

【最新版】基于JSP的博客网站系统开发(毕业论文)

JSP博客网站系统(论文)

摘要

博客信息管理系统致力于为广大用户提供优质的互动交流平台,提高网站的知名度和访问量,从而获得为企业提供更多产品介绍及展示的机会,提升自己网站的价值。为了满足博客信息管理系统的要求,实现系统静态与动态页面的相互分离,系统采用JSP+JavaBean+Servlet和SQL Server2000数据库相结合的开发模式。

论文首先论述了系统的开发背景和设计目标,并对系统开发所采用的技术进行相应的简单介绍。在系统分析中,对系统的模型进行简单分析,明确系统的操作流程,并对系统进行可行性分析,确定在目前的条件下,开发博客信息管理系统是可行的。在需求分析结果的基础上,对系统的功能模块进行划分。接着对系统中的数据库进行模型设计,包括数据流图、实体联系图及数据表结构。在系统的设计与实现中,确定系统的开发思想以及开发环境,并对系统中的JavaBean和Servlet代码进行设计。最后给出了系统中模块的详细设计与实现,并对系统模块涉及到的关键源代码进行了详细的分析。

经过调试运行后表明,系统可以满足用户创建个人博客的各项要求。

关键词:MVC,设计模式,知识共享,博客信息管理系统

ABSTRACT

The blog information management system is concentrates on acquiring for the opportunity that business enterprise providing more introductions and shows of products, promoting the value of the website.Satisfy for the functions of blog information management system, achieving the system's static page separate with dynamic page mutually, using JSP+ JavaBean+ Servlet with the mode of development that the database of SQL Server2000 combine together.

The paper discusses the background of development of the system and the design of the target first, and introduces the tecknique which used to develop simply.In the analyse of system, proceeded the simple analysis to the model of the system, made sure the operation process of the system, proceed the analyse to the system, ensure that under the current term, developing blog information management system is feasible. At the

foundation of requirement with the analyse result, proceeding the providing of the function module of the system. Follow, designing the database model, including the data flow diagram, entity relation diagram and data tables. during the design and realization of the system, making sure the development thought of the system and install the environment of development,at last show the design details with realize finally an a key for of detailed design with realization, and analyzed the program which relate to the system module.

After debugging and running ,it shows that the system can satisfy with users to create personal blog.

Keywords: MVC,Design Patterns,Knowledge sharing,The Blog Information Management System

目录

第1章绪论 1

1.1 博客信息系统概述1

1.2 博客发展趋势2

1.3 系统开发的背景2

1.4 技术路线3

1.5 系统设计目标分析3

第2章基本技术方案 4

2.1 JSP中的各种技术4

2.1.1 JSP概述4

2.1.2 SERVLET概述4

2.1.3 JAVABEAN概述5

2.2 基于BS的WEB应用体系结构5

2.2.1 传统的两层体系结构5

2.2.2 三层体系结构6

2.2.3 JSP网站开发模式6

2.3 ECLIPSE简介7

2.4 TOMCAT简介7

2.5 SQL SERVER简介8

2.6 MVC设计模式8

第3章系统分析与总体设计10 3.1 系统需求分析10

3.1.1 用户需求分析10

3.2 数据分析11

3.3 系统流程11

3.4 功能模块划分14

3.5 功能模块介绍15

3.5.1 博客注册登录管理模块15 3.5.2 博客及文章检索查询模块15 3.5.3 博客页面显示模块16

3.5.4 博客个人维护管理模块16 第4章系统详细设计17

4.1 数据库分析17

4.1.1 数据库设计E-R图17

4.2 系统数据表设计20

4.3 数据连接23

第5章系统功能的具体实现24

5.1 系统的主窗口24

5.2 公共核心类的设计26

5.2.1 数据库相关26

5.2.2 编写JAVABEAN类28

5.2.3 管理类设计29

5.3 系统主要功能模块详述31

5.3.1 博客管理员登陆模块31

5.3.2 日志管理显示模块32

5.3.3 撰写日志模块35

5.3.4 删除日志模块36

5.3.5 修改日志模块38

5.3.6 日志搜索模块39

结论40

参考文献41

致谢42

第1章绪论

1.1 博客信息系统概述

“博客”(Blog或Weblog)一词源于“Web Log(网络日志)”的缩写,是一种十分简易的傻瓜化个人信息发布方式。任何人都可以像使用免费电子邮件一样,完成个人网页的创建、发布和更新。博客就是开放的私人空间,可以充分利用超文本链接、网络互动、动态更新等特点,在网络中,精选并链接全球互联网中最有价值的信息、知识与资源;也可以将个人工作过程、生活故事、思想历

程、闪现的灵感等及时记录和发布,发挥个人无限的表达力;更可以以文会友,结识和汇聚朋友,进行深度交流沟通[1]。

“博客”当然是个大家都陌生的名词,博客的英文名词就是“Blog或Weblog”(指人时对应于Blogger),是一个典型的网络新事物,查阅最新的英文词典也不可能查到。该词来源于“Web Log(网络日志)”的缩写,特指一种特别的网络个人出版形式,内容按照时间顺序排列,并且不断更新。

博客是一种零编辑、零技术、零成本、零形式的网上个人出版方式。

博客概念一般包含了三个要素(当然,也不需要局限这些定义):

(1)网页主体内容由不断更新的、个性化的众多日志组成。

(2)按时间顺序排列,而且是倒序方式,也就是最新的放在最上面,最旧的放在最下面。

(3)内容可以是各种主题、各种外观布局和各种写作风格,但是文章内容以“超链接”作为重要的表达方式。

因此,博客是个人性和公共性的结合体,其精髓不是主要表达个人思想,不是主要记录个人日常经历;而是以个人的视角,以整个互联网为视野,精选和记录自己在互联网上看到的精彩内容,为他人提供帮助,使其具有更高的共享价值。

博客精神的核心并不是自娱自乐,甚至不是个人表达自由,相反,是体现一种利他的共享精神,为他人提供帮助。个人日记和个人网站主要表现的还是“小我”,而博客表现的是“大我”。也许形式上很接近,但内在有着本质的差异。所有优秀博客网站中,真正表达作者个人的内容非常有限,最多只是点缀,而不像个人网站那样是核心。

1.2 博客发展趋势

趋势一:博客现在正在形成个人的信誉机制,有了博客之后就确立了一个个人虚拟身份,简单的来讲就是个人在互联网上是有名有姓的,而不再是一种匿名的行为,网民从流浪汉变成了一个定居者。以前在互联网上的各种行为都是在匿名状态中,相互之间是不认识的,但有了博客之后可以天天关注,而别的人也可以通过博客找到这个人。这样随着时间的积累就会产生一个新的东西,概括叫做“个人的信誉”,个人的信誉就是博客和博客之间发展各种关系的组合,

这种信誉对每个人来讲可能是不同的,但对每个博客来讲就产生了新的评价机制,这个机制将是博客商业化的一个前提条件。

趋势二:博客越来越呈现出富媒体化,早期的博客是以文字为主,但随着多媒体发展博客相册、博客图片已经成为博客的基本配置,而现在许多博客网站已经提供了博客音频和博客视频。

趋势三:博客现在正在形成并完善精选机制,博客作为自媒体和个人媒体,产生的信息非常巨大。其中难免产生信息垃圾,随着博客的发展,博客通过精选机制精选出大家喜闻乐见的信息,像国内网摘、博客的评价系统等[2,3]。

1.3 系统开发的背景

博客的精神是:自由表达,开放宽容,个性张扬,专业精神。

在没有自己的博客之前,人们会经常进出于论坛发表贴子或者通过即时通信软件聊天,来表达自已的想法,可是这些都是零散的和杂乱的。博客的出现,让人们可以不断的把自己以前的和每天激发的一些想法或者感受整理放在自己的博客上,每次在写文章的时候,可能又会产生新的想法。虽然一些想法一些思考只是皮毛,没有什么深度,但是当下笔去写的时候每次都会对某个小小的问题有了更多的一点点思考,再写博客的时候就感觉到了一种满足感,一种想法得以释放思考得以延伸的满足感。生活中每天的一个小小的事情都会引起人们的思考,甚至是和朋友的聊天中一个小小的火花迸发。督促自己努力、把一时的想法变成观点,争取在生命中的每天里留下点什么,这也是人们写博客的目的之一。这样就能督促自己每一天不要浑浑噩噩,时光流逝无痕无声无息,写博客也是在自己的每一天上留下了一道浅浅的思考和划痕。

不仅如此,通过写博客、记录自己的想法可以帮助实现如下这些目的:

(1)记录生活,在自己的每一天上留下思考的划痕。

(2)整理思路,固化知识,获得更多更好的想法。

(3)分享,将自己的想法、经验与人分享。

(4)交流、提高,通过交流产生更多的思维火花,相互提高。

(5)交友,互相鼓励,一路同行。

如果说博客网站是一个舞台,那么所有的博客都是其中的舞者,把自己有价值的真实的一面展示在网络世界中,相互交流沟通;如果博客仅仅为了写日志,

那么博客是一面镜子,镜子中展现的是真实的自己;如果博客是一个自由媒体,可以把自身感觉有价值的信息通过博客这个工具发布,与网友共享。

1.4 技术路线

本系统的开发采用的是JSP+JavaBean+Servlet模式,在该模式中,结合了JSP 和Servlet技术,充分利用了JSP和Servlet两种技术原有的优点。在此模式中,JavaBean作为模型的角色,充当JSP和Servlet通信的中间工具,Servlet 处理完后设置JavaBean的属性,JSP读取此JavaBean的属性,然后进行显示。该模式更加明显地把显示和逻辑分离,使得代码更容易管理,适合大型项目的开发[4]。

1.5 系统设计目标分析

本系统是用JSP实现的一个完全基于浏览器的博客系统,任何注册个人博客的人都拥有以下功能:

(1)登录博客系统的后台管理平台。

(2)更改博客账号的基本信息。

(3)撰写日志。

(4)日志管理。

(5)评论管理。

(6)留言管理。

博客访问者具有以下功能:

(1)浏览博客系统中的日志、留言、评论。

(2)发表评论及留言。

(3)检索日志。

第2章基本技术方案

2.1 JSP中的各种技术

2.1.1 JSP概述

JSP即Java Server Pages,是由Sun Microsystem公司于1996年6月推出的新技术,是基于Java Servlet以及整个Java体系的Web开发技术。JSP已经成为开发Web动态网页重要、快速和有效的工具,是全新的网络服务器编程环境。JSP充分利用了Java的强大功能,是一种优秀的服务器端技术。随着Java技术的日益成熟和流行,JSP在网络编程中也变得越来越重要。JSP基于强大的Java语言,具有极强的扩展能力,良好的缩收性,以及与平台无关的开发特性,成为构建动态网站的主流技术之一,JSP有着其他技术所不具备的优势。其优势在于:可以将内容的生成和显示进行分离、生成可重用的组件、采用标识简化页面开发。JSP能提供所有Servlet的功能[5]。

2.1.2 Servlet概述

Servlet是Java编写的服务器端程序,是由服务器端执行和调用的Java类。Servlet是采用Java技术来实现CGI功能的一种技术,能够像CGI一样动态地扩展Web服务器的功能,并采用请求——响应模式提供Web服务。Servlet 和CGI一样都是运行在Web服务器上,用来生成Web页面。Servlet的主要功能在于交互式地浏览和修改数据,生成动态Web内容。其工作流程图如图2.1所示。

图2.1 Servlet工作流程图

Servlet工作流程:

(1)客户端发送请求信息至服务器。

(2)服务器将请求信息发送至Servlet。

(3)Servlet生成响应内容并将其传给Servlet。响应内容动态生成,通常取决于客户端的请求。

(4)服务器将响应信息返回至客户端。

2.1.3 JavaBean概述

JavaBean是Sun公司为了进入因特网、企业网以及万维网上进行分布式计算的组件结构入口。按照Sun公司的定义,JavaBean是一个可重复使用的软件部件。JavaBean体系结构是第一个全面地基于组件的标准模型之一,该组件是Java类,这些类遵循一个接口格式,以便于使方法命名、底层行为以及继承或实现的行为能够把类看做标准的JavaBean组件的方式进行构造[7]。

在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速生成新的应用程序。JavaBean具有以下特点:

(1)可以实现代码的重复利用。

(2)易维护性、易使用性、易编写性。

(3)可以在Java的任何平台上工作,不需要重新编译。

(4)可以在内部网或者网络之间进行传输。

(5)可以以其它部件的模式进行工作。

JavaBean在JSP程序中常用来封装事务逻辑、数据库操作等,可以很好的实现业务逻辑和前台程序的分离,使得系统具有更好的健壮性和灵活性。

2.2 基于BS的WEB应用体系结构

2.2.1 传统的两层体系结构

在Web发展的初期,Web应用主要是通过静态页面在Internet上发布信息。用户通过浏览器向服务器发送请求,服务器接收用户端的请求,向客户端浏览器发送所请求的页面。在这种结构下,网站上的页面是静态的,无法根据用户的实际使用情况做动态的变化。网站的信息提供者通过更新服务器上的网页来向用户提供最新的信息。用户和浏览器之间只有有限的交互,而网站和用户之间几乎没有交互。

2.2.2 三层体系结构

三层体系结构图如图2.2所示。

图2.2 三层体系结构图

CGI,ASP,PHP等技术的出现,使得开发动态交互式的Web应用得以实现。用户通过浏览器向服务器发送请求,Web服务器接收客户端发送来的请求,对请求进行分析,如果请求是静态页面,那么就将所请求的页面发送到客户端;如果请求的是动态页面,那么就执行此动态页面,并将执行结果发送给客户端。动态页面中的脚本程序可以和数据库服务器进行交互。

Web服务器可以根据用户的请求动态更新页面上的信息,Web信息提供者可以通过改变数据库中的数据向用户提供最新信息,而不需要逐个更改页面。用户可以通过这些动态页面向数据库中输入信息,从而增强了用户和服务器之间的交互性。

2.2.3 JSP网站开发模式

目前,JSP技术已经成为一种受大多数大型企业或中小型企业喜爱的动态网页开发技术。越来越多的技术人员也逐步成为JSP技术的推崇者。JSP技术正是利用了Java的“一次开发,处处使用”的性能,成为了网站开发技术人员的首选技术。当然,JSP技术的最大优势在于能够将页面的表现形式和页面的商业逻辑分开。

JSP网站开发技术标准提供了两种开发模式:一种是JSP+JavaBean开发模式;一种是JSP+Servlet+JavaBean开发模式[8,9]。

JSP+JavaBean模型图如图2.3所示。

图2.3 JSP+JavaBean模型图

在这种模型中,JSP页面独自响应请求并将处理结果返回给客户,所有的数据通过JavaBean来处理,JSP实现页面的显示。此模型常常会导致页面被嵌入大量的脚本语言或者Java代码段,当处理大型业务时,页面程序将变得异常复杂给开发和维护带来困难。

JSP+Servlet+JavaBean模型图如图2.4所示。

图2.4 JSP+Servlet+JavaBean模型图

Servlet技术是一种采用Java技术来实现CGI功能的一种技术。Servlet是运行在Web服务器上,用来生成Web页面。Servlet技术非常适于服务器端的处理和编程。

在此种开发模式中,JSP技术用来显示页面,该页面中没有任何的商业处理逻辑,通过Servlet技术来完成大量的事物处理工作。Servlet用来处理事务的请求,充当着一个控制者的角色,并负责向客户发送请求,创建JSP需要的Bean 和对象,根据用户的请求行为,决定将哪个JSP页面发送给用户。

从上面两种开发模式来说:第二种模式要好些,更适合于团队开发,速度相对较慢,但是可维护性高[6]。

2.3 Eclipse简介

Eclipse最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。IBM提供了最初的Eclipse代码基础,包括Platform、JDT和PDE。

Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成[10]。

2.4 Tomcat简介

如今,基于Web的应用越来越多,传统的Html已经满足不了如今的需求。因此需要一个交互式的Web,于是便诞生了各种Web语言。如Asp,Jsp,Php 等。当然,这些语言与传统的语言有着密切的联系,如Php基于C和C++语言,Jsp基于Java语言。Tomcat即是一个Jsp和Servlet的运行平台。

Tomcat是一个免费的开源的Serlvet容器,是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成[11]。

2.5 SQL Server简介

Microsoft SQL Server 2000是微软所推出的一套在Windows平台上执行的功能强大的关系型数据库管理系统,用以作为应用程序的数据来源,存放各种数据,并可以让用户很容易地达成所要进行的数据存取操作。同时,也提供了一些可视化的管理工具,协助数据库系统管理者更方便快速地管理及设计数据库的内容,以及对数据库进行维护。SQL Server 2000不仅可以实现个人数据库的管理,更适合企业级数据库的应用[12,13]。

2.6 MVC设计模式

MVC模式的基本形式图如图2.5所示。

图2.5 MVC模式的基本形式图

MVC(Model-View-Controller)模式并不是J2EE行业人士标新立异的。MVC的核心就是要做到三级甚至多级的松散耦合,MVC模式将系统分为三个部分,分别是数据模型、视图和控制器,并定义了这三个部分之间实现通信的一种模式,使每个部分不必卷入到其他部分的状态表示和方法实现的细节中去。每个部分

有自己的数据管理规则,各个对象之间的通信只能使用自己定义的一个受限连接集合进行。保持这种分离性通常是面向对象编程和设计要追求的目标,让各个对象只需专注于自己的事务。

模型部分代表了商业数据的访问及修改数据的操作。当数据发生改变时,要负责通知视图部分,并且提供视图查询状态的能力。另外,还向控制部分提供应用功能。

视图部分以自己的方式显示模型的内容。访问模型的数据,并且当模型的数据发生变化时更新模型的显示。视图还把从用户那里得到的信息传给控制部分。

控制部分定义了应用的行为。分发用户请求和选择表现视图,还负责解释用户输入,进而调用模型的功能。在Web应用中,用户输入包括对Web级资源的HTTP、GET和POST请求。控制部分根据用户交互和模型的状态选择要显示的视图。一个应用程序一般为相关的功能选择一个控制部分[14,15]。

第3章系统分析与总体设计

博客信息系统包括:前台信息显示系统、后台信息管理系统。前者是面向公众的一个窗口,通过前台信息显示系统方便访问者浏览日志、评论和留言;发表评论和留言。后者是后台信息管理系统,方便博客管理员发表日志;回复评论和留言;管理日志、评论、留言及个人信息[12]。

3.1 系统需求分析

3.1.1 用户需求分析

用例图用来描述系统与参与者之间的相互作用,与用例图相关的几个概念:

(1)角色:代表了某一事件发生的参与者,用一个小人表示。

(2)用例:代表系统可以实现的功能,通常一个用例代表一组功能,实质上规定了系统实现功能的范围。

(3)用例图:当角色和用例发生某种关系时,就可以用一个图将它们关联起来,这就是用例图。

博客信息管理系统用例图如图3.1所示。

图3.1 博客信息管理系统用例图

博客信息管理系统允许用户有三种身份:博客访问者、博客管理员及系统管理员。

博客系统参与者中每种身份操作起来都很方便、快捷。博客访问者无需登陆就可以浏览信息、发表评论或留言;博客管理员注册后再登陆,就可以发布日志、管理个人主页;而博客管理员的基本信息都由系统管理员对其统一管理。

3.2 数据分析

本系统的用户主要是博客访问者和博客管理员,下面以博客前台展示系统中的用户查询日志为例进行说明。该过程的数据流程图如图3.2所示。

图3.2 用户查询日志的数据流程图

用户查询日志的数据流程:首先,用户输入需查找的关键字,然后提交表单数据,服务器接收到关键字后,根据关键字对日志标题进行模糊查询,处理后将结果以日志标题链接的形式显示给该用户,用户点击相应的链接就可以浏览日志内容。

3.3 系统流程

根据博客信息管理系统的特点,将其分为两大模块:前台用户浏览模块和后台用户管理模块。前台用户浏览模块主要用于用户浏览日志信息;后台用户管理模块主要用于博客管理员对个人博客网站的管理,如日志管理、留言管理及评论管理等。

博客系统平台的前台用户浏览模块流程图如图3.3所示。

图3.3 前台用户浏览模块流程图

前台用户浏览模块主要用于用户浏览日志信息,用户浏览日志有三种浏览方式可以选择:一是直接点击日志标题链接进入日志显示页面浏览日志;二是点击博客主题链接进入该个人博客的首页,然后在该首页中选择所需的日志标题链接进入日志显示页面浏览日志;三是通过首页提供的搜索功能,搜索所需要的日志,然后在结果列表中选择所需的日志标题链接进入日志显示页面浏览日志。浏览日志的同时用户可以查看别人对该日志的评论,然后用户也可以对该日志发表自已的评论。

博客系统平台的后台用户管理模块流程图如图3.4所示。

图3.4 后台用户管理模块流程图

用户进入后台管理平台,首先必需进行权限验证,防止未授权的用户非法登录。若未通过验证,则显示出错提示,并跳转到登录界面。若通过验证,则进入个人博客后台管理平台。用户可以浏览已发表的日志,并对其进行相应的操作如修改日志和删除日志;可以查看日志的评论信息并对其进行回复或者删除操作;可以发表新的日志;可以新建日志分类;可以浏览个人博客的留言信息并对其进行相应的操作如回复留言和删除留言;还可以对个人信息进行修改。

3.4 功能模块划分

前台模块功能结构如图3.5所示。

图3.5 博客信息系统前台功能结构图

后台模块功能结构如图3.6所示。

图3.6 博客信息系统后台功能结构图

3.5 功能模块介绍

博客信息管理系统分为面向网络用户的前台及面向个人博客维护管理的后台,依据博客网站中所要实现的基本功能的设定,将所有功能分解为如下四个主要的功能模块来加以实现。用户以合法的用户名及密码登录,系统即可按该登录用户的权限分配操作模块。

3.5.1 博客注册登录管理模块

博客注册登录管理模块用于建立博客网站固定的客户群体,通过记录对应的博客档案,实现对博客信息的后台维护及管理,同时也便于通过博客档案库将网站最新动态及相关企业的信息方便地传达给每一位潜在的客户。

该功能模块实现了以下几个子功能。

(1)新博客在线注册。

(2)博客登录管理。

(3)跳转到博客主页。

只有进行登录并通过身份验证的用户,才可以在个人博客页面发表日志,并借助个人设置实现对个人博客相关信息的管理维护。对于没有经过身份验证的网络用户不允许在博客页面中发表日志,更不允许对博客页面信息进行管理维护。

该模块实现新博客的注册及登录验证功能。其中,注册新博客时会对用户输入的注册信息进行有效性验证,包括基本数据格式的有效性以及逻辑有效性,例如,用户名被占用时将及时给出提示。注册成功的博客登录时,会随时根据博客输入的登录信息进行提示,如用户名错误或者密码错误。

3.5.2 博客及文章检索查询模块

博客及文章检索查询模块为网络用户提供便捷的搜索,以及日志阅读浏览等功能,同时对日志的评论信息、博客推荐也能够及时反馈给网络用户。

该功能模块实现了以下几个子功能。

(1)热门博客页面推荐。

(2)最新博客日志推荐。

(3)日志信息关键字搜索。

该模块能够在网页中随时提供在线的最新日志信息。该信息需要定期更新,网络用户可以随时获得最新日志以及最热门的博客推荐。在客户选择了某个博客或者某个感兴趣的日志后,可以方便地跳转到对应博客页面进行日志的阅读,并和博客进行交流互动。

为了使网络用户尽快定位到所需的博客资料及日志信息,本模块提供了搜索功能,用户可以对所关注的日志信息按照标题进行关键字搜索,以避免用户浏览多个页面来寻找所需的日志信息。

3.5.3 博客页面显示模块

当网络用户进入某个人博客主页后,在该页面中将提供博客日志列表的显示,同时为了方便用户浏览,在该模块中提供根据分类名进行日志列表的显示,也提供日志评论的浏览,此外还允许用户在博客页面中发表评论及留言。

该功能模块实现了如下几个子功能。

(1)用户可以分页查看对应的日志内容及评论信息。

(2)用户可以针对日志内容发表评论。

(3)用户可以针对博客进行留言。

(4)用户可以分类查看日志内容。

在该模块中还提供了博客页面统计信息,日志、评论及留言信息分页显示等方便用户的显示效果。

3.5.4 博客个人维护管理模块

博客个人维护管理模块用于实现用户对博客个人主页及相关信息的动态管理。

该功能模块实现了如下几个子功能:

(1)日志及日志分类管理。

(2)评论及留言管理。

(3)个人基本信息维护管理。

借助该模块,用户可以随时对个人博客主页中的内容进行增加或修改,包括日志分类信息的更新、评论及留言管理等功能,也允许用户对博客的个人信息进行维护及其管理。

第4章系统详细设计

4.1 数据库分析

数据库是当前应用软件系统的重要组成部分,如何使基于数据库的应用系统安全、可靠、高效的运行一直是软件开发技术研究的难题。所以本系统的数据库设计基于以下几点来考虑:

(1)数据库规范化与非规范化的考虑。

(2)数据查询优化与索引的建立。

(3)存储过程与视图。

4.1.1 数据库设计E-R图

为了把用户的数据要求清晰明确地表达出来,通常要建立一个概念性的数据模型。概念性数据模型是一种面向问题的数据模型,是按照用户的观点来对数据和信息建模。描述了从用户角度看到的数据,反映了用户的现实环境。

最常用的表示概念性数据模型的方法,是实体—联系方法(Entity—Relationship Approach)。这种方法用ER图描述现实世界中的实体,而不涉及这些实体在系统中的实现方法。用这种方法表示的概念性数据模型又称为ER模型。ER模型中包含“实体”,“联系”和“属性”。

博客信息管理系统涉及的实体包括:

(1)用户:用户ID、用户名称、用户密码、博客主题、说明、E-mail、注册日期、发表日志数。

(2)类别:类别编号、类别名、类别描述、用户ID。

(3)日志:日志编号、日志标题、日志内容、类别编号、发表日期、最后修改日期、用户ID、浏览次数、评论数。

(4)评论:评论编号、评论标题、评论内容、发表日期、最后回复日期、评论人、日志编号。

(5)留言:留言编号、留言标题、留言内容、发表日期、最后回复日期、留言人、用户ID。

综合本系统各子模块要实现的功能,通过前面对博客信息系统数据的分析可以得到:用户表、类别表、日志表、日志评论表、留言表的数据库概念模型(E-R 图)。

用户E-R图如图4.1所示。

图4.1 用户E-R图

日志类别E-R图如图4.2所示。

图4.2 日志类别E-R图

日志E-R图如图4.3所示。

图4.3 日志E-R图

日志评论E-R图如图4.4所示。

图4.4 日志评论E-R图

留言E-R图如图4.5所示。

图4.5 留言E-R图

4.2 系统数据表设计

(1)用户表,此表主要用于保存用户的基本信息。其结构如表4.1所示。表4.1 用户表

列名含义类型长度缺省值允许空

BlogID 用户编号Int 4 无否

UserName 用户名Varchar 20 无否

Password 用户密码Varchar 20 无否

NickName 博客主题Varchar 50 无否

Description 博客描述Varchar 100 无是

Email 电子邮件Email 50 无否

RegisterTime 注册日期Datetime 8 无否

ArticleNum 发表的日志数Int 4 0 否

(2)日志表,此表主要用于保存日志的基本信息。其结构如表4.2所示。

表4.2 日志表

列名含义类型长度缺省值允许空

ArticleID 日志编号Int 4 无否

Title 日志标题Varchar 50 无否

Content 日志内容text 8 无否

CategoryID 类别ID int 4 无否

PublishTime 日志发表时间Datetime 8 无否

LastModifyTime 日志最后修改时间Datetime 8 无否

BlogID 用户ID Int 4 无否

ReadTimes 日志浏览次数Int 4 0 否

FeedBackNum 日志评论数Int 4 0 否

(3)日志评论表,此表主要用于保存日志评论的基本信息。其结构如表4.3所示。

表4.3 日志评论表

列名含义类型长度缺省值允许空

FeedBackID 评论编号Int 4 无否

Title 评论标题Varchar 20 无否

Content 评论内容Text 8 无否

PublishTime 发表时间Datetime 8 无否

UserName 用户名Varchar 20 无否

ArticleID 日志ID Int 4 无否

(4)留言表,此表主要用于保存留言的基本信息。其结构如表4.4所示。表4.4 留言表

列名含义类型长度缺省值允许空

MessageID 留言编号Int 4 无否

Title 留言标题Varchar 20 无否

Content 留言内容text 8 无否

PublishTime 发表时间Datetime 8 无否

LastModifyTime 最后回复时间Datetime 8 无否

UserName 用户名Varchar 20 无否

BlogID 用户ID Int 4 无否

(5)类别表,此表用于保存日志类别的基本信息。其结构如表4.5所示。表4.5 类别表

列名含义类型长度缺省值允许空

CategoryID 类别编号Int 4 无否

Name 类别名Varchar 20 无否

Description 类别描述Varchar 100 无是

BlogID 用户编号Int 4 无否

相关主题
文本预览
相关文档 最新文档