基于JSP的博客网站系统开发论文.docx
《基于JSP的博客网站系统开发论文.docx》由会员分享,可在线阅读,更多相关《基于JSP的博客网站系统开发论文.docx(30页珍藏版)》请在冰豆网上搜索。
基于JSP的博客网站系统开发论文
JSP博客网站系统(论文)
摘 要
博客信息管理系统致力于为广大用户提供优质的互动交流平台,提高网站的知名度和访问量,从而获得为企业提供更多产品介绍及展示的机会,提升自己网站的价值。
为了满足博客信息管理系统的要求,实现系统静态与动态页面的相互分离,系统采用JSP+JavaBean+Servlet和SQLServer2000数据库相结合的开发模式。
论文首先论述了系统的开发背景和设计目标,并对系统开发所采用的技术进行相应的简单介绍。
在系统分析中,对系统的模型进行简单分析,明确系统的操作流程,并对系统进行可行性分析,确定在目前的条件下,开发博客信息管理系统是可行的。
在需求分析结果的基础上,对系统的功能模块进行划分。
接着对系统中的数据库进行模型设计,包括数据流图、实体联系图及数据表结构。
在系统的设计与实现中,确定系统的开发思想以及开发环境,并对系统中的JavaBean和Servlet代码进行设计。
最后给出了系统中模块的详细设计与实现,并对系统模块涉及到的关键源代码进行了详细的分析。
经过调试运行后表明,系统可以满足用户创建个人博客的各项要求。
关键词:
MVC,设计模式,知识共享,博客信息管理系统
ABSTRACT
Thebloginformationmanagementsystemisconcentratesonhigh-qualityinteractiveexchangesplatformforalargenumberofusers,increasingthevisitsandmakingthewebsitemoreandmorefamous,therebycanacquiringfortheopportunitythatbusinessenterpriseprovidingmoreintroductionsandshowsofproducts,promotingthevalueofthewebsite.Satisfyforthefunctionsofbloginformationmanagementsystem,achievingthesystem'sstaticpageseparatewithdynamicpagemutually,usingJSP+JavaBean+ServletwiththemodeofdevelopmentthatthedatabaseofSQLServer2000combinetogether.
Thepaperdiscussesthebackgroundofdevelopmentofthesystemandthedesignofthetargetfirst,andintroducestheteckniquewhichusedtodevelopsimply.Intheanalyseofsystem,proceededthesimpleanalysistothemodelofthesystem,madesuretheoperationprocessofthesystem,proceedtheanalysetothesystem,ensurethatunderthecurrentterm,developingbloginformationmanagementsystemisfeasible.Atthefoundationofrequirementwiththeanalyseresult,proceedingtheprovidingofthefunctionmoduleofthesystem.Follow,designingthedatabasemodel,includingthedataflowdiagram,entityrelationdiagramanddatatables.duringthedesignandrealizationofthesystem,makingsurethedevelopmentthoughtofthesystemandinstalltheenvironmentofdevelopment,atlastshowthedesigndetailswithrealizefinallyanakeyforofdetaileddesignwithrealization,andanalyzedtheprogramwhichrelatetothesystemmodule.
Afterdebuggingandrunning,itshowsthatthesystemcansatisfywithuserstocreatepersonalblog.
Keywords:
MVC,DesignPatterns,Knowledgesharing,TheBlogInformationManagementSystem
目 录
第1章 绪论1
1.1博客信息系统概述1
1.2博客发展趋势2
1.3系统开发的背景2
1.4技术路线3
1.5系统设计目标分析3
第2章 基本技术方案4
2.1JSP中的各种技术4
2.1.1JSP概述4
2.1.2SERVLET概述4
2.1.3JAVABEAN概述5
2.2基于B/S的WEB应用体系结构5
2.2.1传统的两层体系结构5
2.2.2三层体系结构6
2.2.3JSP网站开发模式6
2.3ECLIPSE简介7
2.4TOMCAT简介7
2.5SQLSERVER简介8
2.6MVC设计模式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)一词源于“WebLog(网络日志)”的缩写,是一种十分简易的傻瓜化个人信息发布方式。
任何人都可以像使用免费电子邮件一样,完成个人网页的创建、发布和更新。
博客就是开放的私人空间,可以充分利用超文本链接、网络互动、动态更新等特点,在网络中,精选并链接全球互联网中最有价值的信息、知识与资源;也可以将个人工作过程、生活故事、思想历程、闪现的灵感等及时记录和发布,发挥个人无限的表达力;更可以以文会友,结识和汇聚朋友,进行深度交流沟通[1]。
“博客”当然是个大家都陌生的名词,博客的英文名词就是“Blog或Weblog”(指人时对应于Blogger),是一个典型的网络新事物,查阅最新的英文词典也不可能查到。
该词来源于“WebLog(网络日志)”的缩写,特指一种特别的网络个人出版形式,内容按照时间顺序排列,并且不断更新。
博客是一种零编辑、零技术、零成本、零形式的网上个人出版方式。
博客概念一般包含了三个要素(当然,也不需要局限这些定义):
(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.1JSP中的各种技术
2.1.1JSP概述
JSP即JavaServerPages,是由SunMicrosystem公司于1996年6月推出的新技术,是基于JavaServlet以及整个Java体系的Web开发技术。
JSP已经成为开发Web动态网页重要、快速和有效的工具,是全新的网络服务器编程环境。
JSP充分利用了Java的强大功能,是一种优秀的服务器端技术。
随着Java技术的日益成熟和流行,JSP在网络编程中也变得越来越重要。
JSP基于强大的Java语言,具有极强的扩展能力,良好的缩收性,以及与平台无关的开发特性,成为构建动态网站的主流技术之一,JSP有着其他技术所不具备的优势。
其优势在于:
可以将内容的生成和显示进行分离、生成可重用的组件、采用标识简化页面开发。
JSP能提供所有Servlet的功能[5]。
2.1.2Servlet概述
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.3JavaBean概述
JavaBean是Sun公司为了进入因特网、企业网以及万维网上进行分布式计算的组件结构入口。
按照Sun公司的定义,JavaBean是一个可重复使用的软件部件。
JavaBean体系结构是第一个全面地基于组件的标准模型之一,该组件是Java类,这些类遵循一个接口格式,以便于使方法命名、底层行为以及继承或实现的行为能够把类看做标准的JavaBean组件的方式进行构造[7]。
在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速生成新的应用程序。
JavaBean具有以下特点:
(1)可以实现代码的重复利用。
(2)易维护性、易使用性、易编写性。
(3)可以在Java的任何平台上工作,不需要重新编译。
(4)可以在内部网或者网络之间进行传输。
(5)可以以其它部件的模式进行工作。
JavaBean在JSP程序中常用来封装事务逻辑、数据库操作等,可以很好的实现业务逻辑和前台程序的分离,使得系统具有更好的健壮性和灵活性。
2.2基于B/S的WEB应用体系结构
2.2.1传统的两层体系结构
在Web发展的初期,Web应用主要是通过静态页面在Internet上发布信息。
用户通过浏览器向服务器发送请求,服务器接收用户端的请求,向客户端浏览器发送所请求的页面。
在这种结构下,网站上的页面是静态的,无法根据用户的实际使用情况做动态的变化。
网站的信息提供者通过更新服务器上的网页来向用户提供最新的信息。
用户和浏览器之间只有有限的交互,而网站和用户之间几乎没有交互。
2.2.2三层体系结构
三层体系结构图如图2.2所示。
图2.2 三层体系结构图
CGI,ASP,PHP等技术的出现,使得开发动态交互式的Web应用得以实现。
用户通过浏览器向服务器发送请求,Web服务器接收客户端发送来的请求,对请求进行分析,如果请求是静态页面,那么就将所请求的页面发送到客户端;如果请求的是动态页面,那么就执行此动态页面,并将执行结果发送给客户端。
动态页面中的脚本程序可以和数据库服务器进行交互。
Web服务器可以根据用户的请求动态更新页面上的信息,Web信息提供者可以通过改变数据库中的数据向用户提供最新信息,而不需要逐个更改页面。
用户可以通过这些动态页面向数据库中输入信息,从而增强了用户和服务器之间的交互性。
2.2.3JSP网站开发模式
目前,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.3Eclipse简介
Eclipse最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。
IBM提供了最初的Eclipse代码基础,包括Platform、JDT和PDE。
Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。
由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成[10]。
2.4Tomcat简介
如今,基于Web的应用越来越多,传统的Html已经满足不了如今的需求。
因此需要一个交互式的Web,于是便诞生了各种Web语言。
如Asp,Jsp,Php等。
当然,这些语言与传统的语言有着密切的联系,如Php基于C和C++语言,Jsp基于Java语言。
Tomcat即是一个Jsp和Servlet的运行平台。
Tomcat是一个免费的开源的Serlvet容器,是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成[11]。
2.5SQLServer简介
MicrosoftSQLServer2000是微软所推出的一套在Windows平台上执行的功能强大的关系型数据库管理系统,用以作为应用程序的数据来源,存放各种数据,并可以让用户很容易地达成所要进行的数据存取操作。
同时,也提供了一些可视化的管理工具,协助数据库系统管理者更方便快速地管理及设计数据库的内容,以及对数据库进行维护。
SQLServer2000不仅可以实现个人数据库的管理,更适合企业级数据库的应用[12,13]。
2.6MVC设计模式
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 用户查询日志的数据流程图