1、毕业设计说明书毕业设计说明书个人博客系统的设计与实现学生姓名: 周海芳 学号: 0906034202 学 院: 电子与计算机科学技术 专 业: 计算机科学与技术 指导教师: 张元 2013年 6 月个人博客系统的设计与实现摘要随着互联网技术的高速发展,生活节奏的加快,博客被越来越多的人选择作为学习和交流的工具。博客的内容丰富多彩,有对其他网站的超链接和评论,有个人构思,还有日志、照片、诗歌和散文等。博客具有开放性、互动性和共享性的特点,是一个很好的交流的渠道,是思想展现的舞台和学术探讨的园地。本系统采用B/S(浏览器/服务器)开发模式,以My Eclipse作为开发平台,采用JSP技术,以To
2、mcat为服务器和SQL Server 2008为后台数据库。本系统是一个实用的个人博客系统,集日志、图片、评论于一身。用户可以查看文章、相册,还可以发表文章评论。博主可以管理自己的日志、相册、评论等。整个系统层次结构清晰、性能稳定、界面友好,使用起来简单方便。 关键字:互联网,B/S,MyEclipse,JSP Person Blog System Design and ImplementationAbstractWith the rapid development of Internet technology and high speed of life rhythm, Blog has
3、being chosen by more and more people as the tool of study and communication. The content of Blog is very rich and colourful which has hyperlink and comment of other website, personal thinking, news, music, article and so on. Because of the character of independence, interaction and share of Blog, it
4、 is regarded as an outlet of good exchange channel, the stage of personal thought displaying, and the garden area of knowledge studying.This system use B/S (Browser/Server) development pattern, MyEclipse as a development platform,with the JSP technology, Tomcat for servers and SQL Server 2008 for th
5、e backend database.This system is a practical personal blog system ,including logs, pictures, comment as a whole . Visitors can view the article, photo album, also can give a discuss. Blogger can manage their logs, photo albums, comments, etc. The system structure is clear, stable performance, frien
6、dly interface, it is simple and convenient to use.Key words: Internet , B/S , MyEclipse , JSP1 引 言1.1 个人博客系统简介“博客”(Blog或Weblog)一词源于“Web Log(网络日志)”的缩写,是一种十分简易的傻瓜化个人信息发布方式1。任何人都可以像使用免费电子邮件一样,完成个人网页的创建、发布和更新。博客就是开放的私人空间,可以充分利用超文本链接、网络互动、动态更新等特点,在网络中,精选并链接全球互联网中最有价值的信息、知识与资源;也可以将个人工作过程、生活故事、思想历程、闪现的灵感等及
7、时记录和发布,发挥个人无限的表达力;更可以以文会友,结识和汇聚朋友,进行深度交流沟通2。“博客”当然是个大家都陌生的名词,博客的英文名词就是“Blog或Weblog”(指人时对应于Blogger),是一个典型的网络新事物,查阅最新的英文词典也不可能查到。该词来源于“Web Log(网络日志)”的缩写,特指一种特别的网络个人出版形式,内容按照时间顺序排列,并且不断更新3。博客概念一般包含了三个要素:(1)网页主体内容由不断更新的、个性化的众多日志组成。(2)按时间顺序排列,而且是倒序方式,也就是最新的放在最上面,最旧的放在最下面。(3)内容可以是各种主题、各种外观布局和各种写作风格,但是文章内容
8、以“超链接”作为重要的表达方式。因此,博客是个人性和公共性的结合体,其精髓不是主要表达个人思想,不是主要记录个人日常经历;而是以个人的视角,以整个互联网为视野,精选和记录自己在互联网上看到的精彩内容,为他人提供帮助,使其具有更高的共享价值。博客精神的核心并不是自娱自乐,甚至不是个人表达自由,相反,是体现一种利他的共享精神,为他人提供帮助。个人日记和个人网站主要表现的还是“小我”,而博客表现的是“大我”。也许形式上很接近,但内在有着本质的差异。所有优秀博客网站中,真正表达作者个人的内容非常有限,最多只是点缀,而不像个人网站那样是核心。1.2 国内外研究现状据不完全统计,到今天,全世界博客总量已超
9、过一亿。其中中国的博客达到1600万。博客数量大约6个月翻一番,2011年4月份每天新增博客9万5千人。每天发贴120万篇,平均一小时5万贴。博客的影响力,早已超出了他作为个人,甚至作为自己所在行业的原有范围,开始引起主流媒体的强烈关注。自2010年以后,博客迎来了它的飞速发展时期,作为专业领域的知识传播模式,博客成为了该领域最具影响力的方式之一,博客的影响力也将超越传统媒体。它将成为一种全新的信息组织和传播方式,发挥更大的作用。现在的博客网站的主要特点:(1)零机制:博客属于个人所有,是自发建立和非正式的建设。BSP(博客服务托管商)不能对博客发号施令。 (2)零技术:博客不需要网站的专业知
10、识,可以像发邮件一样简单地实现博客网页的呈现。技术的极度简化,包括架构和申请博客网站、编辑、上传和修改内容等。 (3)零成本:任何一个人都可以像申请免费邮件般免费申请自己的博客网站。不需要注册域名的成本,不需要租用服务器空间的成本,不需要许多软件工具的成本。 (4)零编辑:博客用户就是编辑,即时写作、即时发布、自我检查。这形成了与传统写作截然不同的“体验”,真正实现了作者“零磨损”的开放式写作。 (5)零形式:博客页面的表现形式和文章内容的表现方式十分灵活,没有特定形式。 与个人主页相比较,博客是使用方便的、交互性强。与传统的电子邮件、BBS和ICQ这三种互联网沟通方式相比,博客是一种较严肃的
11、沟通平台。BBS公共匿名性很强,而个人性很弱,因此缺乏约束。电子邮件和ICQ则是多用于个人间的通讯,而博客是个人性和公共性的结合。博客是个人在网上展示自己、与别人沟通交流的综合平台,它的管理比BBS简单的多。2 开发技术及开发环境2.1 开发技术本系统的开发采用的是JSP+JavaBean+Servlet模式,在该模式中,结合了JSP和Servlet技术,充分利用了JSP和Servlet两种技术原有的优点4,5。在此模式中,JavaBean作为模型的角色,充当JSP和Servlet通信的中间工具,Servlet处理完后设置JavaBean的属性,JSP读取此JavaBean的属性,然后进行显示
12、。该模式更加明显地把显示和逻辑分离,使得代码更容易管理,适合大型项目的开发6,7。2.1.1 JSP概述JSP即Java Server Pages,是由Sun Microsystem公司于1996年6月推出的新技术,是基于Java Servlet以及整个Java体系的Web开发技术。JSP已经成为开发Web动态网页重要、快速和有效的工具,是全新的网络服务器编程环境8。JSP充分利用了Java的强大功能,是一种优秀的服务器端技术。随着Java技术的日益成熟和流行,JSP在网络编程中也变得越来越重要。JSP基于强大的Java语言,具有极强的扩展能力,良好的缩收性,以及与平台无关的开发特性,成为构建
13、动态网站的主流技术之一,JSP有着其他技术所不具备的优势9。其优势在于:可以将内容的生成和显示进行分离、生成可重用的组件、采用标识简化页面开发。JSP能提供所有Servlet的功能10。2.1.2 Servlet 概述Servlet是Java编写的服务器端程序,是由服务器端执行和调用的Java类。Servlet是采用Java技术来实现CGI功能的一种技术,能够像CGI一样动态地扩展Web服务器的功能,并采用请求响应模式提供Web服务。Servlet和CGI一样都是运行在Web服务器上,用来生成Web页面。Servlet的主要功能在于交互式地浏览和修改数据,生成动态Web内容11,12。其工作流
14、程图如图2.1所示。Servlet工作流程:a)客户端发送请求信息至服务器。b)服务器将请求信息发送至Servlet。c)Servlet生成响应内容并将其传给Servlet。响应内容动态生成,通常取决于客户端的请求。图2.1 Servlet工作流程图d)服务器将响应信息返回至客户端。2.1.3 JavaBean概述 JavaBean是Sun公司为了进入因特网、企业网以及万维网上进行分布式计算的组件结构入口。按照Sun公司的定义,JavaBean是一个可重复使用的软件部件。JavaBean体系结构是第一个全面地基于组件的标准模型之一,该组件是Java类,这些类遵循一个接口格式,以便于使方法命名、
15、底层行为以及继承或实现的行为能够把类看做标准的JavaBean组件的方式进行构造13,14。在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速生成新的应用程序。JavaBean具有以下特点:a)可以实现代码的重复利用。b)易维护性、易使用性、易编写性。c)可以在Java的任何平台上工作,不需要重新编译。d)可以在内部网或者网络之间进行传输。e)可以以其它部件的模式进行工作。JavaBean在JSP程序中常用来封装事务逻辑、数据库操作等,可以很好的实现业务逻辑和前台程序的分离,使得系统具有更好的健壮性和灵活性。2.2 JSP网站开发模式目前,
16、JSP技术已经成为一种受大多数大型企业或中小型企业喜爱的动态网页开发技术。越来越多的技术人员也逐步成为JSP技术的推崇者。JSP技术正是利用了Java的“一次开发,处处使用”的性能,成为了网站开发技术人员的首选技术。当然,JSP技术的最大优势在于能够将页面的表现形式和页面的商业逻辑分开15,16。JSP网站开发技术标准提供了两种开发模式:一种是JSP+JavaBean开发模式;一种是JSP+Servlet+JavaBean开发模式。JSP+JavaBean模型图如图2.2所示。图2.2 JSP+JavaBean模型图在这种模型中,JSP页面独自响应请求并将处理结果返回给客户,所有的数据通过Ja
17、vaBean来处理,JSP实现页面的显示。此模型常常会导致页面被嵌入大量的脚本语言或者Java代码段,当处理大型业务时,页面程序将变得异常复杂给开发和维护带来困难17。JSP+Servlet+JavaBean模型图如图2.3所示。图2.3 JSP+Servlet+JavaBean模型图Servlet技术是一种采用Java技术来实现CGI功能的一种技术。Servlet是运行在Web服务器上,用来生成Web页面。Servlet技术非常适于服务器端的处理和编程。在此种开发模式中,JSP技术用来显示页面,该页面中没有任何的商业处理逻辑,通过Servlet技术来完成大量的事物处理工作。Servlet用来
18、处理事务的请求,充当着一个控制者的角色,并负责向客户发送请求,创建JSP需要的Bean和对象,根据用户的请求行为,决定将哪个JSP页面发送给用户。从上面两种开发模式来说:第二种模式要好些,更适合于团队开发,速度相对较慢,但是可维护性高。2.3 开发工具开发本系统用到的工具有MyEclipse、Tomcat服务器、SQL Server2008数据库,下面对这些工具做了简介。2.3.1 MyEclipse简介MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEcli
19、pse目前支持Java Servlet, AJAX, JSP, JSF, Struts, Spring, Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具18。2.3.2 Tomcat简介如今,基于Web的应用越来越多,传统的Html已经满足不了如今的需求。因此需要一个交互式的Web,于是便诞生了各种Web语言。如Asp,Jsp,Php等。当然,这些语言与传统的语言有着密切的联系,如Php基于C和C+语言,Jsp基于Java语言。Tomcat即是一个Jsp和Servlet的运行平台。Tomcat是
20、一个免费的开源的Serlvet容器,是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。2.3.3 SQL Server简介SQLServer2008作为Microsoft家庭的重要成员,是基于客户机/服务器的大型关系数据库网站。SQLServer2008这种关系型数据库网站能够满足各种类型的企业客户和独立软件供应商构建商业应用程序的需求,根据客户的反映和需求,是大规模联机事务处理(OLTP)、数据仓库和电子商务应用程序的优秀数据库平台19。SQL Server 2008 具有以下特点:(1)强大可伸缩性。(2)支持大型Web站点或
21、企业信息处理网站。(3)客户机/服务器体系结构。而数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。各部件之间的关系如图2.4所示:图2.4 数据库连接的实现3 需求分析需求分析工作是软件生存周期最重要的一个环节。需求分析的基本任务是要确定系统必须完成哪些工作,并提出完整、准确、清晰、具体的要求。需求分析阶段确定的系统逻辑模型是以后设计和实现目标系统的基础,因此,必须准确完整地体现用户的要求。要体现用户的要求,就必须从以下几个方面进行分析。3.1 功能需求概述经参考现有的几大博客网站如QQ空间,新浪博客等,本系统采用Browser/Server结构,将个人博客系统划分为两个
22、模块:前台模块和后台模块。下面分析各个模块的功能需求。一、前台模块在前台的功能实现上,可以分为以下几个部分。(1)用户登录:用户用个人注册的帐号,密码登录到系统。系统检测用户的帐号,密码并给予其相应的权限对系统进行操作。(2)用户注册:访客将个人的信息存储到博客系统的数据库中,以成为本博客的正式用户。(3)用户修改个人信息:把已存储的用户信息用一个网页显示出来,方便用户对个人信息进行更新。(4)文章查询和留言:用户可以浏览博客中的文章同时给感兴趣的文章评论。(5)公告信息查询:用户可以浏览网站中发布的公告信息,了解博客的一些情况。(6)相片查询:用户可以对博客中的相片,图片等进行查询,浏览。(
23、7)游客投诉:用户可以借助微软开发的OutlookExpress方便地进行言论监督。(8)网站访问统计量:可以查看总的访问统计量和当日访问统计量。(9)投票:用户可以通过该链接支持博主发起的投票,并且可以查看投票结果。(10)友情链接:用户可以通过该链接查看相关内容。(11)朋友信息:用户可以查看博主的好友及其相关信息。二、后台模块通过计算机网络将前台与后台的数据库相连,网站管理员将从前台得到的信息进行处理,实现文章管理,公告管理,投票管理,个人相册管理,朋友管理,用户设置及博主设置等子网站。(1)文章管理:博主可以添加新文章,对已有的文章进行修改和删除,还可以查看文章回复。(2)公告管理:发
24、布,删除,更改公告。(3)投票管理:添加投票内容,统计票数,删除投票内容。(4)朋友管理:对朋友信息进行添加,删除和修改。(5)个人相册管理:对博客相册中的图片进行添加,删除和修改。(6)用户设置:对普通用户的信息进修查询,删除。(7)博主设置:对博主的信息进行修改。3.2 系统总体功能结构图3.1 个人博客系统前台功能结构图3.2 个人博客系统后台功能结构4 系统概要设计4.1 数据库设计E-R图为了把用户的数据要求清晰明确地表达出来,通常要建立一个概念性的数据模型。概念性数据模型是一种面向问题的数据模型,是按照用户的观点来对数据和信息建模。描述了从用户角度看到的数据,反映了用户的现实环境。
25、最常用的表示概念性数据模型的方法,是实体联系方法(EntityRelationship Approach)。这种方法用ER图描述现实世界中的实体,而不涉及这些实体在系统中的实现方法。用这种方法表示的概念性数据模型又称为ER模型。(1)文章实体,具体属性如图4.1所示。图4.1 文章实体(2)文章类型实体,具体属性如图4.2所示。图4.2 文章类型实体(3)文章回复实体,具体属性如图4.3所示。图4.3 文章回复实体(4)用户实体,具体属性如图4.4所示。 图4.4 用户实体(5)公告实体,具体属性如图4.5所示。 图4.5 公告实体(6)朋友实体,具体属性如图4.6所示。图4.6 朋友实体(7
26、)个人相册实体,具体属性如图4.7所示。图4.7 个人相册实体(8) 投票实体,具体属性如图4.8所示。图4.8 投票实体(9) 访问量实体,具体属性如图4.9所示。图4.9 访问量实体(10)个人博客系统的总E-R图,如图4.10所示。图4.10 个人博客系统的总E-R图4.2 逻辑结构设计一个设计良好的数据库,可以使网站的实现变得非常的简单。同时,也可以使网站的执行速度变得很快。反之,一个设计混乱的数据库,不仅增加了吸引的管理实现过程,同时在网站的执行过程中,使得检索变得很慢,降低效率。所以数据库的设计是一个网站设计很重要的步骤。根据网站功能设计要求和模块划分,本站的数据库主要有文章信息、
27、文章类型信息、文章回复信息、用户信息、公告信息、朋友信息、个人相册信息、投票信息、访问统计信息。数据库的设计通常是以一个已经存在的数据库管理网站为基础的,常用的数据库管理网站有Access、SQL Server、Oracle、My SQL等。根据用户需求和网站分析,本网站采用SQL Server2008数据库管理网站。在SQL Server2008数据库管理网站中建立名称为在myblog的数据库20,21。(1)文章信息表(artical)该表记录了文章的相关信息,包括文章编号、文章类型编号、文章题目、文章内容、文章发布时间、文章访问次数,其结构如表4.1所示。表4.1 文章信息表(artic
28、al)字段说明类型(长度)能否为空备注Id文章编号IntNo主键typeID文章类型编号IntNo外键Title文章题目varchar(30)YesContent文章内容varchar(2000)YesphTime文章发布时间varchar(30)YesNumber文章访问次数IntYes(2)文章类型信息表(articalType)该表记录了文章类型的相关信息,包括文章类型编号 、文章类型名称、文章类型描述,其结构如表4.2所示。 表4.2 文章类型信息表(articalType)字段说明类型(长度)能否为空备注Id文章类型编号Intno主键typeName文章类型名称varchar(50)
29、yesdescription文章类型描述varchar(50)yes(3)文章回复信息表(reply)该表列出了文章回复的相关信息,包括文章回复编号、文章编号、文章回复用户、文章回复标题、文章回复内容,其结构如表4.3所示。表4.3 文章回复信息表(reply)字段说明类型(长度)能否为空备注id文章回复编号IntNo主键articleId文章编号IntNo外键reAccount文章回复用户varchar(50)YesreTitle文章回复标题varchar(50)YesreContent文章回复内容ntext(16)Yes(4)用户信息表(consumer)该表列出了用户的相关信息,包括用户
30、编号、用户名、用户密码、用户姓名、用户性别、QQ号码、用户主页、用户兴趣、邮箱地址、用户等级,其结构如表4.4所示。表4.4 用户信息表(consumer)字段说明类型(长度)能否为空备注Id用户编号Intno主键Account用户名varchar(10)yesPassword用户密码varchar(10)yesName用户姓名varchar(50)yesSex用户性别char(5)yesQQNumberQQ号码IntyesmainPage用户主页varchar(50)yesInterest用户兴趣varchar(50)yeseMail邮箱地址varchar(50)yesmanageLevel用户等级varchar(10)yes(5)公告信息表(discuss)该表记录了公告的相关信息,包括公告编号、 公告题目、公告内容、公告发布时间,其结构如表4.5所示。表4.5 公告信息表(discuss)字段说明类型(长度)能否为空备注Id公告编号IntNo主键discussTitle 公告题目varchar(30)YesdiscussContent公告内容Va
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1