基于J2EE的博客网站论文.docx
《基于J2EE的博客网站论文.docx》由会员分享,可在线阅读,更多相关《基于J2EE的博客网站论文.docx(53页珍藏版)》请在冰豆网上搜索。
![基于J2EE的博客网站论文.docx](https://file1.bdocx.com/fileroot1/2023-5/25/54b03ea4-42d7-4907-b05d-b483db86891d/54b03ea4-42d7-4907-b05d-b483db86891d1.gif)
基于J2EE的博客网站论文
引言
博客最初的名称是Weblog,由web和log两个单词组成,按字面意思就为网络日记,后来喜欢新名词的人把这个词的发音故意改了一下,读成weblog,由此,blog这个词被创造出来。
中文意思即网志或网络日志,不过,在中国大陆有人往往也将Blog本身和blogger(即博客作者)均音译为“博客”。
“博客”有较深的涵义:
“博”为“广博”;“客”不单是“blogger”更有“好客”之意。
看Blog的人都是“客”。
而在台湾,则分别音译成“部落格”(或“部落阁”)及“部落客”,认为Blog本身有社群群组的意含在内,借由Blog可以将网络上网友集结成一个大博客,成为另一个具有影响力的自由媒体。
博客最初的名称是Weblog,由web和log两个单词组成,按字面意思就为网络日记,后来喜欢新名词的人把这个词的发音故意改了一下,读成weblog,由此,blog这个词被创造出来。
中文意思即网志或网络日志,不过,在中国大陆有人往往也将Blog本身和blogger(即博客作者)均音译为“博客”。
“博客”有较深的涵义:
“博”为“广博”;“客”不单是“blogger”更有“好客”之意。
看Blog的人都是“客”。
而在台湾,则分别音译成“部落格”(或“部落阁”)及“部落客”,认为Blog本身有社群群组的意含在内,借由Blog可以将网络上网友集结成一个大博客,成为另一个具有影响力的自由媒体。
博客精神的核心并不是自娱自乐,甚至不是个人表达自由,相反,是体现一种利他的共享精神,为他人提供帮助。
个人日记和个人网站主要表现的还是“小我”,而博客表现的是“大我”。
也许形式上很接近,但内在有着本质的差异。
所有优秀博客网站中,真正表达作者个人的内容非常有限,最多只是点缀,而不像个人网站那样是核心。
摘要
越来越多的网络用户希望能够在网络平台上更多地展现自己的个性,更方便地与他人互动交流,拥有一个自己独立的空间,随着Web2.0时代的到来,一个新的概念出现了——博客。
首先介绍了博客网站设计的意义和背景,主流博客网站的主要功能。
重点介绍了基于J2EE架构的博客网站设计方案,实现的主要功能。
其次,重点讲述了博客网站的业务逻辑层和持久层的设计与开发过程中所涉及的技术。
系统如何以JSP+Servlet+JavaBean按清晰的MVC模式控制,怎样划分应用的层次。
简述了页面的请求的分发及流程。
最后对BLOG网站开发中所碰到的一些问题,并针对这些问题提出一些解决方案,最后对系统性能作出一些简要评估,阐述了一些个人想法。
关键词:
博客,J2EE,JSP,Servlet,JavaBean.
Abstract
Moreandmorenetworkusershopetounfoldtherecharacteristicsinthenetworkplatformandinteractwithpeoplemoreconveniently.FromthebeginingofWeb2.0,anewconceptofblogemerged.
Firstly,weintroducethemeaningandbackgroundofdesigningofblogsite,andthenintroducethemainfunctionoftheblogsitebriefly.WealsointroducethedesigningschemeofblogsitewhichisbasedonthearchitectureofJ2EE.Themainfunctioncarriedoutinourblogprojectispresented.
Second,focusontheblogwebsitebusinesslogiclayerandpersistencelayer'sdesignanddevelopmentprocessinvolvedinthetechnical.HowthesystemwithJSP+Servlet+JavaBeanaccordingtoclearMVCmodecontrol,howtopartitiontheapplicationlevel.Thepagerequestdistributionandflow.Finally,wediscusssomeproblemsabouttheblogrealizationandshowschemesofsolvingproblems.Briefevaluationontheperformanceofsystemisgiven.Wegiveacommentonproblemsoccurringinourwork.
Keywords:
blog,J2EE,JSP,Servlet,,JavaBean.
目录
引言I
摘要II
AbstractIII
目录IV
第一章绪论1
1.1系统开发的背景1
1.2国内外现状1
1.3博客发展趋势1
1.4课题研究的意义2
1.5系统设计目标分析2
第二章基本技术方案3
2.1JSP中的各种技术3
2.1.1JSP概述3
2.1.2Servlet概述3
2.1.3JavaBean概述4
2.2基于B/S的WEB应用体系结构4
2.2.1传统的两层体系结构4
2.2.2三层体系结构4
2.2.3JSP网站开发模式5
2.3MyEclipse简介5
2.4Tomcat简介6
2.5MYSQL简介6
2.6MVC设计模式6
第三章系统分析与总体设计8
3.1系统需求分析8
3.1.1用户需求分析8
3.2数据分析9
3.3系统流程9
3.4功能模块划分11
3.5功能模块设计12
3.5.1博客注册登录管理模块12
3.5.2博客页面显示模块13
3.5.3博客个人管理维护模块13
第四章系统分析设计14
4.1数据库分析14
4.1.1数据库设计E-R图14
4.2系统数据表设计16
4.3数据连接18
第五章系统功能的具体实现20
5.1系统的主窗口20
5.2公共核心类的设计21
5.2.1数据库相关21
5.2.2编写JavaBean类22
5.2.3管理类设计23
5.3系统主要功能模块详述26
5.3.1登录模块26
5.3.2日志管理模块27
5.3.3撰写日志模块27
5.3.4查询日志模块29
5.3.5日志编辑模块30
5.3.6日志评论模块31
5.3.7相册管理模块32
5.3.8相册上传模块32
5.3.9好友管理模块35
5.3.10个人管理模块35
小结38
参考文献39
致谢40
第一章绪论
1.1系统开发的背景
博客的精神是:
自由表达,开放宽容,个性张扬,专业精神。
在没有自己的博客之前,人们会经常进出于论坛发表贴子或者通过即时通信软件聊天,来表达自已的想法,可是这些都是零散的和杂乱的。
博客的出现,让人们可以不断的把自己以前的和每天激发的一些想法或者感受整理放在自己的博客上,每次在写文章的时候,可能又会产生新的想法。
虽然一些想法一些思考只是皮毛,没有什么深度,但是当下笔去写的时候每次都会对某个小小的问题有了更多的一点点思考,再写博客的时候就感觉到了一种满足感,一种想法得以释放思考得以延伸的满足感。
生活中每天的一个小小的事情都会引起人们的思考,甚至是和朋友的聊天中一个小小的火花迸发。
督促自己努力、把一时的想法变成观点,争取在生命中的每天里留下点什么,这也是人们写博客的目的之一。
这样就能督促自己每一天不要浑浑噩噩,时光流逝无痕无声无息,写博客也是在自己的每一天上留下了一道浅浅的思考和划痕。
不仅如此,通过写博客、记录自己的想法可以帮助实现如下这些目的:
a)记录生活,在自己的每一天上留下思考的划痕。
b)整理思路,固化知识,获得更多更好的想法。
c)分享,将自己的想法、经验与人分享。
d)交流、提高,通过交流产生更多的思维火花,相互提高。
e)交友,互相鼓励,一路同行。
如果说博客网站是一个舞台,那么所有的博客都是其中的舞者,把自己有价值的真实的一面展示在网络世界中,相互交流沟通;如果博客仅仅为了写日志,那么博客是一面镜子,镜子中展现的是真实的自己;如果博客是一个自由媒体,可以把自身感觉有价值的信息通过博客这个工具发布,与网友共享。
1.2国内外现状
据不完全统计,截止2009月9月,全世界博客总量已达到1.26亿.其中中国的博客达到1.07亿。
博客数量大约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)相册管理。
博客访问者具有以下功能:
a)浏览博客系统中的日志、留言、评论。
b)发表评论及留言。
c)检索日志。
d)浏览照片。
第二章基本技术方案
2.1JSP中的各种技术
2.1.1JSP概述
JSP即JavaServerPages,是由SunMicrosystem公司于1996年6月推出的新技术,是基于JavaServlet以及整个Java体系的Web开发技术[1]。
JSP已经成为开发Web动态网页重要、快速和有效的工具,是全新的网络服务器编程环境。
JSP充分利用了Java的强大功能,是一种优秀的服务器端技术。
随着Java技术的日益成熟和流行,JSP在网络编程中也变得越来越重要。
JSP基于强大的Java语言,具有极强的扩展能力,良好的缩收性,以及与平台无关的开发特性,成为构建动态网站的主流技术之一,JSP有着其他技术所不具备的优势[2]。
其优势在于:
可以将内容的生成和显示进行分离、生成可重用的组件、采用标识简化页面开发。
JSP能提供所有Servlet的功能[3]
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组件的方式进行构造[5]。
在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开发模式[3]。
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页面发送给用户。
从上面两种开发模式来说:
第二种模式要好些,更适合于团队开发,速度相对较慢,但是可维护性高[5]。
2.3MyEclipse简介
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。
在结构上,MyEclipse的特征可以被分为7类:
1.J2EE模型
2.WEB开发工具
3.EJB开发工具
4.应用程序服务器的连接器
5.J2EE项目部署服务
6.数据库服务
7.MyEclipse整合帮助
对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。
MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。
简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。
MyEclipse6.0以后版本安装时不需安装Eclipse。
[8]。
2.4Tomcat简介
如今,基于Web的应用越来越多,传统的Html已经满足不了如今的需求。
因此需要一个交互式的Web,于是便诞生了各种Web语言。
如Asp,Jsp,Php等。
当然,这些语言与传统的语言有着密切的联系,如Php基于C和C++语言,Jsp基于Java语言。
Tomcat即是一个Jsp和Servlet的运行平台。
Tomcat是一个免费的开源的Serlvet容器,是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。
2.5MYSQL简介
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。
在2008年1月16号被Sun公司收购。
而2009年,SUN又被Oracle收购。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。
这样就增加了速度并提高了灵活性。
MySQL的SQL“结构化查询语言”。
SQL是用于访问数据库的最常用标准化语言。
MySQL软件采用了GPL(GNU通用公共许可证)。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
。
2.6MVC设计模式
MVC模式的基本形式图如图2.5所示。
图2.5MVC模式的基本形式图
MVC(Model-View-Controller)模式并不是J2EE行业人士标新立异的。
MVC的核心就是要做到三级甚至多级的松散耦合,MVC模式将系统分为三个部分,分别是数据模型、视图和控制器,并定义了这三个部分之间实现通信的一种模式,使每个部分不必
卷入到其他部分的状态表示和方法实现的细节中去。
每个部分有自己的数据管理规则,各个对象之间的通信只能使用自己定义的一个受限连接集合进行。
保持这种分离性通常是面向对象编程和设计要追求的目标,让各个对象只需专注于自己的事务。
模型部分代表了商业数据的访问及修改数据的操作。
当数据发生改变时,要负责通知视图部分,并且提供视图查询状态的能力。
另外,还向控制部分提供应用功能。
视图部分以自己的方式显示模型的内容。
访问模型的数据,并且当模型的数据发生变化时更新模型的显示。
视图还把从用户那里得到的信息传给控制部分。
控制部分定义了应用的行为。
分发用户请求和选择表现视图,还负责解释用户输入,进而调用模型的功能。
在Web应用中,用户输入包括对Web级资源的HTTP、GET和POST请求。
控制部分根据用户交互和模型的状态选择要显示的视图。
一个应用程序一般为相关的功能选择一个控制部分[3]。
第三章系统分析与总体设计
博客信息系统包括:
前台信息显示系统、后台信息管理系统。
前者是面向公众的一个窗口,通过前台信息显示系统方便访问者浏览日志、评论和留言;发表评论和留言。
后者是后台信息管理系统,方便博客管理员发表日志;回复评论和留言;管理日志、评论、留言及个人信息。
3.1系统需求分析
3.1.1用户需求分析
用例图用来描述系统与参与者之间的相互作用,与用例图相关的几个概念:
a)角色:
代表了某一事件发生的参与者,用一个小人表示。
b)用例:
代表系统可以实现的功能,通常一个用例代表一组功能,实质上规定了系统实现功能的范围。
c)用例图:
当角色和用例发生某种关系时,就可以用一个图将它们关联起来,这就是用例图。
博客信息管理系统允许用户有三种身份:
博客访问者、博客管理员及系统管理员。
博客系统参与者中每种身份操作起来都很方便、快捷。
博客访问者无需登陆就可以浏览信息、发表评论或留言;博客管理员注册后再登陆,就可以发布日志、管理个人主页;而博客管理员的基本信息都由系统管理员对其统一管理。
博客信息管理系统用例图如图3.1所示。
图3.1博客信息管理系统用例图
3.2数据分析
系统的用户主要是博客访问者和博客管理员,下面以博客前台展示系统中的用户查询日志为例进行说明。
该过程的数据流程图如图3.2所示。
图3.2用户查询日志的数据流程图
用户查询日志的数据流程:
首先,用户点击需要查找的日志类型,然后提交数据,服务器接收到关键字后,根据关键字对日志标题进行查询,处理后将结果以日志标题列表链接的形式显示给该用户,用户点击相应的链接就可以浏览日志详细内容。
3.3系统流程
根据博客信息管理系统的特点,将其分为两大模块:
前台用户浏览模块和后台用户管理模块。
前台用户浏览模