jsp个人博客系统设计论文完整版Word下载.docx
《jsp个人博客系统设计论文完整版Word下载.docx》由会员分享,可在线阅读,更多相关《jsp个人博客系统设计论文完整版Word下载.docx(30页珍藏版)》请在冰豆网上搜索。
b)整理思路,固化知识,获得更多更好的想法。
c)分享,将自己的想法、经验与人分享。
d)交流、提高,通过交流产生更多的思维火花,相互提高。
e)交友,互相鼓励,一路同行。
如果说博客网站是一个舞台,那么所有的博客都是其中的舞者,把自己有价值的真实的一面展示在网络世界中,相互交流沟通;
如果博客仅仅为了写日志,那么博客是一面镜子,镜子中展现的是真实的自己;
如果博客是一个自由媒体,可以把自身感觉有价值的信息通过博客这个工具发布,与网友共享[2]。
1.2国内外现状
据不完全统计,到今天,全世界博客总量已超过一亿.其中中国的博客达到1600万。
博客数量大约6个月翻一番,2006年4月份每天新增博客7万5千人。
每天发贴120万篇,平均一小时5万贴。
博客的影响力,早已超出了他作为个人,甚至作为自己所在行业的原有范围。
开始引起主流媒体的强烈关注。
自2006年以后,博客迎来了它的飞速发展时期,作为专业领域的知识传播模式,博客成为了该领域最具影响力的方式之一,博客的影响力也将超越传统媒体。
它将成为一种全新的信息组织和传播方式,发挥更大的作用。
1.3博客发展趋势
趋势一:
博客现在正在形成个人的信誉机制,有了博客之后就确立了一个个人虚拟身份,简单的来讲就是个人在互联网上是有名有姓的,而不再是一种匿名的行为,网民从流浪汉变成了一个定居者。
以前在互联网上的各种行为都是在匿名状态中,相互之间是不认识的,但有了博客之后可以天天关注,而别的人也可以通过博客找到这个人。
这样随着时间的积累就会产生一个新的东西,概括叫做“个人的信誉”,个人的信誉就是博客和博客之间发展各种关系的组合,这种信誉对每个人来讲可能是不同的,但对每个博客来讲就产生了新的评价机制,这个机制将是博客商业化的一个前提条件。
趋势二:
博客越来越呈现出富媒体化,早期的博客是以文字为主,但随着多媒体发展博客相册、博客图片已经成为博客的基本配置,而现在许多博客网站已经提供了博客音频和博客视频。
趋势三:
博客现在正在形成并完善精选机制,博客作为自媒体和个人媒体,产生的信息非常巨大。
其中难免产生信息垃圾,随着博客的发展,博客通过精选机制精选出大家喜闻乐见的信息,像国内网摘、博客的评价系统等。
1.4课题研究的意义
随着Blog人数的增加,Blog作为一种新的生活方式、新的工作方式和新的学习方式已经被越来越多的人所接受,并且在改变传统的网络和社会结构。
它使交流和沟通更有明确的选择和方向性;
单一的思想和群体的智慧结合变得更加有效;
个人出版变成人人都可以实现的梦想。
Blog正在影响和改变着我们的生活。
本系统采用MVC模式设计实现了一个简单的博客系统。
MVC模式极大地提高了系统的灵活性、复用性、开发效率、适应性和可维护性,充分发挥了JSP、Servlet等J2EE组件的特点[3]。
从而,使更多的人们通过文字、图片、声音、视频、无线等,尽情展示自我、分享感受、参与交流,美好你我生活。
Showyou,shareme,人人都可以博客,人人都需要博客。
1.5系统设计目标分析
本系统是用JSP实现的一个完全基于浏览器的博客系统,任何注册个人博客的人都拥有以下功能:
a)登录博客系统的后台管理平台。
b)更改博客账号的基本信息。
c)撰写日志。
d)日志管理。
e)评论管理。
f)留言管理。
博客访问者具有以下功能:
a)浏览博客系统中的日志、留言、评论。
b)发表评论及留言。
c)检索日志。
2基本技术方案
2.1JSP中的各种技术
2.1.1JSP概述
JSP即JavaServerPages,是由SunMicrosystem公司于1996年6月推出的新技术,是基于JavaServlet以及整个Java体系的Web开发技术[4]。
JSP已经成为开发Web动态网页重要、快速和有效的工具,是全新的网络服务器编程环境。
JSP充分利用了Java的强大功能,是一种优秀的服务器端技术。
随着Java技术的日益成熟和流行,JSP在网络编程中也变得越来越重要。
JSP基于强大的Java语言,具有极强的扩展能力,良好的缩收性,以及与平台无关的开发特性,成为构建动态网站的主流技术之一,JSP有着其他技术所不具备的优势[3]。
其优势在于:
可以将内容的生成和显示进行分离、生成可重用的组件、采用标识简化页面开发。
JSP能提供所有Servlet的功能[5]
2.1.2Servlet概述
Servlet是Java编写的服务器端程序,是由服务器端执行和调用的Java类。
Servlet是采用Java技术来实现CGI功能的一种技术,能够像CGI一样动态地扩展Web服务器的功能,并采用请求——响应模式提供Web服务。
Servlet和CGI一样都是运行在Web服务器上,用来生成Web页面。
Servlet的主要功能在于交互式地浏览和修改数据,生成动态Web内容。
其工作流程图如图2.1所示。
Servlet工作流程:
a)客户端发送请求信息至服务器。
b)服务器将请求信息发送至Servlet。
c)Servlet生成响应内容并将其传给Servlet。
响应内容动态生成,通常取决于客户端的请求。
图2.1Servlet工作流程图
d)服务器将响应信息返回至客户端
2.1.3JavaBean概述
JavaBean是Sun公司为了进入因特网、企业网以及万维网上进行分布式计算的组件结构入口。
按照Sun公司的定义,JavaBean是一个可重复使用的软件部件。
JavaBean体系结构是第一个全面地基于组件的标准模型之一,该组件是Java类,这些类遵循一个接口格式,以便于使方法命名、底层行为以及继承或实现的行为能够把类看做标准的JavaBean组件的方式进行构造[7]。
在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速生成新的应用程序。
JavaBean具有以下特点:
a)可以实现代码的重复利用。
b)易维护性、易使用性、易编写性。
c)可以在Java的任何平台上工作,不需要重新编译。
d)可以在内部网或者网络之间进行传输。
e)可以以其它部件的模式进行工作。
JavaBean在JSP程序中常用来封装事务逻辑、数据库操作等,可以很好的实现业务逻辑和前台程序的分离,使得系统具有更好的健壮性和灵活性。
2.2基于B/S的WEB应用体系结构
2.2.1传统的两层体系结构
在Web发展的初期,Web应用主要是通过静态页面在Internet上发布信息。
用户通过浏览器向服务器发送请求,服务器接收用户端的请求,向客户端浏览器发送所请求的页面。
在这种结构下,网站上的页面是静态的,无法根据用户的实际使用情况做动态的变化。
网站的信息提供者通过更新服务器上的网页来向用户提供最新的信息。
用户和浏览器之间只有有限的交互,而网站和用户之间几乎没有交互。
2.2.2三层体系结构
三层体系结构图如图2.2所示。
CGI,ASP,PHP等技术的出现,使得开发动态交互式的Web应用得以实现。
用户通过浏览器向服务器发送请求,Web服务器接收客户端发送来的请求,对请
图2.2三层体系结构图
求进行分析,如果请求是静态页面,那么就将所请求的页面发送到客户端;
如果请求的是动态页面,那么就执行此动态页面,并将执行结果发送给客户端。
动态页面中的脚本程序可以和数据库服务器进行交互。
Web服务器可以根据用户的请求动态更新页面上的信息,Web信息提供者可以通过改变数据库中的数据向用户提供最新信息,而不需要逐个更改页面。
用户可以通过这些动态页面向数据库中输入信息,从而增强了用户和服务器之间的交互性。
2.2.3JSP网站开发模式
目前,JSP技术已经成为一种受大多数大型企业或中小型企业喜爱的动态网页开发技术。
越来越多的技术人员也逐步成为JSP技术的推崇者。
JSP技术正是利用了Java的“一次开发,处处使用”的性能,成为了网站开发技术人员的首选技术。
当然,JSP技术的最大优势在于能够将页面的表现形式和页面的商业逻辑分开。
JSP网站开发技术标准提供了两种开发模式:
一种是JSP+JavaBean开发模式;
一种是JSP+Servlet+JavaBean开发模式[8,9]。
JSP+JavaBean模型图如图2.3所示。
图2.3JSP+JavaBean模型图
在这种模型中,JSP页面独自响应请求并将处理结果返回给客户,所有的数据通过JavaBean来处理,JSP实现页面的显示。
此模型常常会导致页面被嵌入大量的脚本语言或者Java代码段,当处理大型业务时,页面程序将变得异常复杂给开发和维护带来困难。
JSP+Servlet+JavaBean模型图如图2.4所示。
图2.4JSP+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.5MVC模式的基本形式图
MVC(Model-View-Controller)模式并不是J2EE行业人士标新立异的。
MVC的核心就是要做到三级甚至多级的松散耦合,MVC模式将系统分为三个部分,分别是数据模型、视图和控制器,并定义了这三个部分之间实现通信的一种模式,使每个部分不必
卷入到其他部分的状态表示和方法实现的细节中去。
每个部分有自己的数据管理规则,各个对象之间的通信只能使用自己定义的一个受限连接集合进行。
保持这种分离性通常是面向对象编程和设计要追求的目标,让各个对象只需专注于自己的事务。
模型部分代表了商业数据的访问及修改数据的操作。
当数据发生改变时,要负责通知视图部分,并且提供视图查询状态的能力。
另外,还向控制部分提供应用功能。
视图部分以自己的方式显示模型的内容。
访问模型的数据,并且当模型的数据发生变化时更新模型的显示。
视图还把从用户那里得到的信息传给控制部分。
控制部分定义了应用的行为。
分发用户请求和选择表现视图,还负责解释用户输入,进而调用模型的功能。
在Web应用中,用户输入包括对Web级资源的HTTP、GET和POST请求。
控制部分根据用户交互和模型的状态选择要显示的视图。
一个应用程序一般为相关的功能选择一个控制部分[14,15]。
3系统分析与总体设计
博客信息系统包括:
前台信息显示系统、后台信息管理系统。
前者是面向公众的一个窗口,通过前台信息显示系统方便访问者浏览日志、评论和留言;
发表评论和留言。
后者是后台信息管理系统,方便博客管理员发表日志;
回复评论和留言;
管理日志、评论、留言及个人信息[12]。
3.1系统需求分析
3.1.1用户需求分析
用例图用来描述系统与参与者之间的相互作用,与用例图相关的几个概念:
a)角色:
代表了某一事件发生的参与者,用一个小人表示。
b)用例:
代表系统可以实现的功能,通常一个用例代表一组功能,实质上规定了系统实现功能的范围。
c)用例图:
当角色和用例发生某种关系时,就可以用一个图将它们关联起来,这就是用例图。
博客信息管理系统允许用户有三种身份:
博客访问者、博客管理员及系统管理员。
博客系统参与者中每种身份操作起来都很方便、快捷。
博客访问者无需登陆就可以浏览信息、发表评论或留言;
博客管理员注册后再登陆,就可以发布日志、管理个人主页;
而博客管理员的基本信息都由系统管理员对其统一管理。
博客信息管理系统用例图如图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博客注册登录管理模块
博客注册登录管理模块用于建立博客网站固定的客户群体,通过记录对应的博客档案,实现对博客信息的后台维护及管理,同时也便于通过博客档案库将网站最新动态及相关企业的信息方便地传达给每一位潜在的客户。
该功能模块实现了以下几个子功能。
a)新博客在线注册。
b)博客登录管理。
c)跳转到博客主页。
只有进行登录并通过身份验证的用户,才可以在个人博客页面发表日志,并借助个人设置实现对个人博客相关信息的管理维护。
对于没有经过身份验证的网络用户不允许在博客页面中发表日志,更不允许对博客页面信息进行管理维护。
该模块实现新博客的注册及登录验证功能。
其中,注册新博客时会对用户输入的注册信息进行有效性验证,包括基本数据格式的有效性以及逻辑有效性,例如,用户名被占用时将及时给出提示。
注册成功的博客登录时,会随时根据博客输入的登录信息进行提示,如用户名错误或者密码错误。
3.5.2博客及文章检索查询模块
博客及文章检索查询模块为网络用户提供便捷的搜索,以及日志阅读浏览等功能,同时对日志的评论信息、博客推荐也能够及时反馈给网络用户。
a)热门博客页面推荐。
b)最新博客日志推荐。
c)日志信息关键字搜索。
该模块能够在网页中随时提供在线的最新日志信息。
该信息需要定期更新,网络用户可以随时获得最新日志以及最热门的博客推荐。
在客户选择了某个博客或者某个感兴趣的日志后,可以方便地跳转到对应博客页面进行日志的阅读,并和博客进行交流互动。
为了使网络用户尽快定位到所需的博客资料及日志信息,本模块提供了搜索功能,用户可以对所关注的日志信息按照标题进行关键字搜索,以避免用户浏览多个页面来寻找所需的日志信息。
3.5.3博客页面显示模块
当网络用户进入某个人博客主页后,在该页面中将提供博客日志列表的显示,同时为了方便用户浏览,在该模块中提供根据分类名进行日志列表的显示,也提供日志评论的浏览,此外还允许用户在博客页面中发表评论及留言。
该功能模块实现了如下几个子功能。
a)用户可以分页查看对应的日志内容及评论信息。
b)用户可以针对日志内容发表评论。
c)用户可以针对博客进行留言。
d)用户可以分类查看日志内容。
在该模块中还提供了博客页面统计信息,日志、评论及留言信息分页显示等方便用户的显示效果。
3.5.4博客个人管理维护模块
博客个人维护管理模块用于实现用户对博客个人主页及相关信息的动态管理。
该功能模块实现了如下几个子功能:
a)日志及日志分类管理。
b)评论及留言管理。
c)个人基本信息维护管理。
借助该模块,用户可以随时对个人博客主页中的内容进行增加或修改,包括日志分类信息的更新、评论及留言管理等功能,也允许用户对博客的个人信息进行维护及其管理。
4系统分析设计
4.1数据库分析
数据库是当前应用软件系统的重要组成部分,如何使基于数据库的应用系统安全、可靠、高效的运行一直是软件开发技术研究的难题。
所以本系统的数据库设计基于以下几点来考虑:
a)数据库规范化与非规范化的考虑。
b)数据查询优化与索引的建立。
c)存储过程与视图。
4.1.1数据库设计E-R图
为了把用户的数据要求清晰明确地表达出来,通常要建立一个概念性的数据模型。
概念性数据模型是一种面向问题的数据模型,是按照用户的观点来对数据和信息建模。
描述了从用户角度看到的数据,反映了用户的现实环境。
最常用的表示概念性数据模型的方法,是实体—联系方法(Entity—RelationshipApproach)。
这种方法用ER图描述现实世界中的实体,而不涉及这些实体在系统中的实现方法。
用这种方法表示的概念性数据模型又称为ER模型。
ER模型中包含“实体”,“联系”和“属性”。
博客信息管理系统涉及的实体包括:
a)用户:
用户ID、用户名称、用户密码、博客主题、说明、E-mail、注册日期、发表日志数。
b)类别:
类别编号、类别名、类别描述、用户ID。
c)日志:
日志编号、日志标题、日志内容、类别编号、发表日期、最后修改日期、用户ID、浏览次数、评论数。
d)评论:
评论编号、评论标题、评论内容、发表日期、最后回复日期、评论人、日志编号。
e)留言:
留言编号、留言标题、留言内容、发表日期、最后回复日期、留言人、用户ID。
综合本系统各子模块要实现的功能,通过前面对博客信息系统数据的分析可以得