张勇军个人博客系统毕业论文.docx
- 文档编号:28785676
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:42
- 大小:936.49KB
张勇军个人博客系统毕业论文.docx
《张勇军个人博客系统毕业论文.docx》由会员分享,可在线阅读,更多相关《张勇军个人博客系统毕业论文.docx(42页珍藏版)》请在冰豆网上搜索。
张勇军个人博客系统毕业论文
(此文档为word格式,下载后您可任意编辑修改!
)
`
JIANGXINORMALUNIVERSITY
学士学位论文
THESISOFBACHELOR
(2008—2012年)
博客网站的设计与实现
DesignAndImplementationofBlogWebsite
姓名:
张勇军
学院:
软件学院
专业:
软件工程
完成时间:
2012年4月1号
指导老师:
刘媛春
摘要
博客信息管理系统致力于为广大用户提供优质的互动交流平台,提高网站的知名度和访问量,从而获得为企业提供更多产品介绍及展示的机会,提升自己网站的价值。
为了满足博客信息管理系统的要求,实现系统静态与动态页面的相互分离,系统采用JSP+JavaBean+Servlet和SQLServer2005数据库相结合的开发模式。
论文首先论述了系统的开发背景和设计目标,并对系统开发所采用的技术进行相应的简单介绍。
在系统分析中,对系统的模型进行简单分析,明确系统的操作流程,并对系统进行可行性分析,确定在目前的条件下,开发博客信息管理系统是可行的。
在需求分析结果的基础上,对系统的功能模块进行划分。
接着对系统中的数据库进行模型设计,包括数据流图、实体联系图及数据表结构。
在系统的设计与实现中,确定系统的开发思想以及开发环境,并对系统中的JavaBean和Servlet代码进行设计。
最后给出了系统中模块的详细设计与实现,并对系统模块涉及到的关键源代码进行了详细的分析。
经过调试运行后表明,系统可以满足用户创建个人博客的各项要求。
关键词:
MVC;JSP;JAVABEAN;博客
Abstract
Thebloginformationmanagementsystemisconcentratesonacquiringfortheopportunitythatbusinessenterpriseprovidingmoreintroductionsandshowsofproducts,promotingthevalueofthewebsite.Satisfyforthefunctionsofbloginformationmanagementsystem,achievingthesystem'sstaticpageseparatewithdynamicpagemutually,usingJSP+JavaBean+ServletwiththemodeofdevelopmentthatthedatabaseofSQLServer2005combinetogether.
Thepaperdiscussesthebackgroundofdevelopmentofthesystemandthedesignofthetargetfirst,andintroducestheteckniquewhichusedtodevelopsimply.Intheanalyseofsystem,proceededthesimpleanalysistothemodelofthesystem,madesuretheoperationprocessofthesystem,proceedtheanalysetothesystem,ensurethatunderthecurrentterm,developingbloginformationmanagementsystemisfeasible.Atthefoundationofrequirementwiththeanalyseresult,proceedingtheprovidingofthefunctionmoduleofthesystem.Follow,designingthedatabasemodel,includingthedataflowdiagram,entityrelationdiagramanddatatables.duringthedesignandrealizationofthesystem,makingsurethedevelopmentthoughtofthesystemandinstalltheenvironmentofdevelopment,atlastshowthedesigndetailswithrealizefinallyanakeyforofdetaileddesignwithrealization,andanalyzedtheprogramwhichrelatetothesystemmodule.
Afterdebuggingandrunning,itshowsthatthesystemcansatisfywithuserstocreatepersonalblog.
KeyWords:
MVC;JSP;JAVABEAN;Blog
目录
第1章绪论1
1.1系统的开发背景1
1.2系统开发的目标及意义1
1.3本文的主要内容2
第2章开发技术3
2.1JSP的基础——Servlet技术4
2.2JavaBean原理和机制4
2.3开发平台:
Eclipse+dreamweaver6
2.4SQLSERVER20056
第3章分析与设计8
3.1业务流分析及流程图8
3.2数据流图分析8
3.3功能模块设计9
3.3.1博客注册登录管理模块9
3.3.2博客及文章检索查询模块10
3.3.3博客页面显示模块10
3.3.4博客个人管理维护模块10
3.4数据库设计E-R图11
3.5系统数据表设计13
第4章系统实现16
4.1系统主界面16
4.1.1注册模块的实现16
4.1.2发表评论模块18
4.1.3删除日志模块19
4.2修改个人资料界面20
4.3上传图片界面21
4.4系统主要功能模块的实现22
4.4.1身份验证22
4.4.2后台文章添加管理23
4.4.3后台文章类别管理25
4.4.4撰写日志模块25
4.4.5修改用户信息27
4.5公共核心类的设计27
4.5.1数据库相关27
4.5.2编写JavaBean类28
4.5.3管理类设计29
第5章结束语32
参考文献33
致谢34
第1章绪论
1.1系统的开发背景
博客的精神是:
自由表达,开放宽容,个性张扬,专业精神。
在没有自己的博客之前,人们会经常进出于论坛发表贴子或者通过即时通信软件聊天,来表达自己的想法,可是这些都是零散的和杂乱的。
博客的出现,让人们可以不断的把自己以前的和每天激发的一些想法或者感受整理放在自己的博客上,每次在写文章的时候,可能又会产生新的想法。
虽然一些想法一些思考只是皮毛,没有什么深度,但是当下笔去写的时候每次都会对某个小小的问题有了更多的一点点思考,再写博客的时候就感觉到了一种满足感,一种想法得以释放思考得以延伸的满足感。
生活中每天的一个小小的事情都会引起人们的思考,甚至是和朋友的聊天中一个小小的火花迸发。
督促自己努力、把一时的想法变成观点,争取在生命中的每天里留下点什么,这也是人们写博客的目的之一。
这样就能督促自己每一天不要浑浑噩噩,时光流逝无痕无声无息,写博客也是在自己的每一天上留下了一道浅浅的思考和划痕。
不仅如此,通过写博客、记录自己的想法可以帮助实现如下这些目的:
(1)记录生活,在自己的每一天上留下思考的划痕。
(2)整理思路,固化知识,获得更多更好的想法。
(3)分享,将自己的想法、经验与人分享。
(4)交流、提高,通过交流产生更多的思维火花,相互提高。
(5)交友,互相鼓励,一路同行。
如果说博客网站是一个舞台,那么所有的博客都是其中的舞者,把自己有价值的真实的一面展示在网络世界中,相互交流沟通;如果博客仅仅为了写日志,那么博客是一面镜子,镜子中展现的是真实的自己;如果博客是一个自由媒体,可以把自身感觉有价值的信息通过博客这个工具发布,与网友共享。
1.2系统开发的目标及意义
本系统是用JSP实现的一个完全基于浏览器的博客系统,任何注册个
人博客的人都拥有以下功能:
(1)登录博客系统的后台管理平台。
(2)更改博客账号的基本信息。
(3)撰写日志。
(4)日志管理。
(5)评论管理。
(6)留言管理。
博客访问者具有以下功能:
(1)浏览博客系统中的日志、留言、评论。
(2)发表评论及留言。
(3)检索日志。
随着Blog人数的增加,Blog作为一种新的生活方式、新的工作方式和新的学习方式已经被越来越多的人所接受,并且在改变传统的网络和社会结构。
它使交流和沟通更有明确的选择和方向性;单一的思想和群体的智慧结合变得更加有效;个人出版变成人人都可以实现的梦想。
Blog正在影响和改变着我们的生活。
本系统采用MVC模式设计实现了一个简单的博客系统。
MVC模式极大地提高了系统的灵活性、复用性、开发效率、适应性和可维护性,充分发挥了JSP、Servlet等J2EE组件的特点[3]。
从而,使更多的人们通过文字、图片、声音、视频、无线等,尽情展示自我、分享感受、参与交流,美好你我生活。
Showyou,shareme,人人都可以博客,人人都需要博客。
1.3本文的主要内容
本系统是用JSP实现的一个完全基于浏览器的博客系统,任何注册个人博客的人都拥有以下功能:
(1)登录博客系统的后台管理平台。
(2)更改博客账号的基本信息。
(3)撰写日志。
(4)日志管理。
(5)评论管理。
(6)留言管理。
博客访问者具有以下功能:
浏览博客系统中的日志、留言、评论。
第2章开发技术
一些人可能已经对微软的ActiveServerPages(ASP)很熟悉了;JSP在多数方面与ASP功能相同但是具有平台无关特性。
他们都用来帮助Web内容的开发者们使用相对少的代码创建动态的网页。
一个JSP页面包含掺杂着Java代码的HTML代码。
下面主要介绍下JSP的特点:
(1)将内容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。
(2)JSP技术源于Java语言。
Java语言是体系结构中立的。
这使JSP技术可以在实现这个JSP平台的任何系统中运行。
这种途径适合于异构的网络环境和软件的分发。
(3)JSP系统是可移植的。
这种可移植性来源于体系结构中立性。
(4)强调可重用的组件。
绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者Enterprise JavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。
(5)采用标识简化页面开发 Web页面开发人员不会都是熟悉脚本语言的编程人员。
JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。
(6)使用JSP标识或者小脚本来生成页面上的动态内容。
生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。
(7)由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为JavaServlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性;
(8)作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。
当客户端请求一个JSP网页时,JSPEngine会检查所请求的JSP网页是否已经处于被载入执行的状态,如果没有,它会先读取JSP程序文件,将它换成Servlet程序代码编译载入,然后才执行请求的服务。
也是就说,只有当客户端第一次请求JSP网页时,才需要被转换、编译和载入,做到了一次执行,处处执行。
JSP的ServletClass是JSPEngine自动帮我们编译产生的,不像Servlet需要手动编译,另外,在JSP程序中建立新的对象和JavaBean非常方便容易。
2.1JSP的基础——Servlet技术
JavaServlet是JSP技术的基础,JSP本身就是预先被编译成Servlet,然后再运行的,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成,Servlet这个名称大概源于Applet,现在国内的翻译方式很多,本文为了避免误会,本文直接采用Servlet这个名称而不做任何翻译,读者如果愿意,可以称之为“小服务程序”。
Servlet其实和传统的CGI程序和ISAPI、NSAPI等Web程序开发工具的作用是相同的,在使用JavaServlet以后,用户不必再使用效率低下的CGI方式,也不必使用只能在某个固定Web服务器平台运行的API方式来动态生成Web页面。
许多Web服务器都支持Servlet,即使不直接支持Servlet的Web服务器也可以通过附加的应用服务器和模块来支持Servlet。
得益于Java的跨平台的特性,Servlet也是平台无关的,实际上,只要符合JavaServlet规范,Servlet是完全平台无关且是Web服务器无关的。
由于JavaServlet内部是以线程方式提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此JavaServlet效率非常高。
但JavaServlet也不是没有缺点,和传统的CGI、ISAPI、NSAPI方式相同,JavaServlet是利用输出HTML语句来实现动态网页的,如果用JavaServlet来开发整个网站,动态部分和静态页面的整合过程简直就是一场噩梦。
这就是为什么SUN还要推出JavaServerPages的原因。
2.2JavaBean原理和机制
JSP的一大特点就是与JavaBeans的结合,而JSP与JavaBeans结合的一个突出的优点是页面显示和业务逻辑的分离。
这可以使团队协作的更好,开发出更高质量的站点。
JavaBean是一种可以重用的Java组件,它类似于COM,在JSP程序中常用来封装事物逻辑、数据库操作等,可以很好的实现业务逻辑和前台程序的分离,使得系统具有更好的健壮性和灵活性。
事件处理是JavaBeans体系结构的核心之一。
通过事件处理机智,可以让一些组件作为事件源,发出可被描述环境或其他组件接受的事件。
这样,不同的组件就可在构造工具内组合在一起,组件之间通过事件的传递进行通信,构成一个应用。
从概念上讲,事件是一种在“源对象”和“监听对象”之间、某种状态发生变化的传递机智。
事件有许多不同的用途,如:
鼠标事件、窗口边界改变事件、键盘事件等。
在Java和JavaBeans中则是定义了一个一般的、可扩充的事件机制,它能够:
(1)对事件类型和传递模型的定义和扩充提供一个公共框架,并适合于广泛的应用。
(2)与Java语言和环境有较高的集成度。
事件能描述环境捕获和被激发。
能使其他构造工具采取某种技术在设计时直接控制事件,遗迹控制事件源和事件监听者之间的联系。
事件本身不依赖于复杂的开发工具。
特别的,事件机制还应当:
(1)能够发现制定的对象类可以生成的事件。
(2)能够发现制定的对象类可以观察监听到的事件。
(3)提供一个常规的注册机制,允许动态操纵事件源与事件监听者之间的关系。
(4)不需要其他的虚拟机和语言即可实现。
(5)事件源与监听者之间可进行高效的事件传递。
(6)能完成JavaBean事件模型与相关的其他组件体系结构事件模型的中立映射。
JSP和ASP.NET同样是网站开发中常用的开发工具。
但是,ASP是微软的产品,其应用只能是在Windows平台上,移植性差,而且以源代码的形式存放在服务器端,安全性差。
每次由服务器解释运行,运行效率不高。
Jsp页面文件执行时被编译成字节代码,由客户端流览的Java虚拟机解释执行,不再是源代码,因此执行效率和安全性高。
将数据库连接的重要信息存放在JavaBean文件后,可以编译成虚拟机才能解释的字节代码,确保了数据库的安全。
在ASP技术里,通过Web页面要实现一些特定的功能比较困难,比如基于网页的报表,打印实现起来就比较麻烦。
ASP提供的解决方案是自己开发组件,通过在服务器端注册组件,成为独立的可以重复利用的模块供读者调用。
因此要求读者需要掌握比较复杂的变成语言的开发技术。
在JSP开发技术里,可以通过开发JavaBean文件实现同样的功能,JavaBean不需要注册,只要放置在相应的目录下就可以运行。
可以实现ASP的COM组件同样的功能。
此外JSP推出主要就是考虑到平台的无关性。
JSP代码可以在APACHE、IIS等服务器上执行,支持大部分操作系统。
JSP继承JAVA技术的优点:
一次运行,处处运行。
鉴于此,本系统决定使用JSP作为开发工具。
下面简单介绍一下相关的其他工具:
2.3开发平台:
Eclipse+dreamweaver
Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。
它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——EclipsePlatform、JDT、CDT和PDE.JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,EclipsePlatform则是一个开放的可扩展IDE,提供了一个通用的开发平台。
它提供建造块和构造并运行集成软件开发工具的基础。
EclipsePlatform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。
Dreamweaver MX 是一款专业的HTML编辑器,用于对Web站点、Web页和Web应用程序进行设计、编码和开发。
无论您喜欢直接编写HTML代码的驾驭感还是偏爱在可视化编辑环境中工作,Dreamweaver都会为您提供帮助良多的工具,丰富您的Web创作体验。
利用Dreamweaver中的可视化编辑功能,您可以快速地创建页面而无需编写任何代码。
不过,如果您更喜欢用手工直接编码,Dreamweaver还包括许多与编码相关的工具和功能。
并且,借助Dreamweaver,您还可以使用服务器语言(例如ASP、ASP.NET、ColdFusion标记语言(CFML)、JSP和PHP)生成支持动态数据库的Web应用程序。
2.4SQLSERVER2005
SQLServer2005作为Microsoft家庭的重要成员,是基于客户机服务器的大型关系数据库系统。
SQL Server2005这种关系型数据库系统能够满足各种类型的企业客户和独立软件供应商构建商业应用程序的需求,根据客户的反映和需求,是大规模联机事务处理(OLTP)、数据仓库和电子商务应用程序的优秀数据库平台。
SQLServer2005具有以下特点[8]:
(1)强大可伸缩性;
(2)支持大型Web站点或企业信息处理系统;
(3)客户机服务器体系结构;
而数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。
各部件之间的关系如图2.1所示:
图2.1数据关系图
第3章分析与设计
3.1业务流分析及流程图
用户首先需要登录该系统得到权限后才能对系统进行操作,为注册用户可以直接进入注册模块进行注册。
登录系统后确定权限,只有管理员权限,才能对系统进行维护。
普通用户可以对个人主页进行管理,管理的板块包括:
日记、相册、留言、好友、公告以及群。
个人博客系统业务流程图,如图3.1所示:
图3.1博客业务流程图
3.2数据流图分析
系统运行过程中,主要涉及到两部分的数据流向,一部分是管理员在系统后台管理界面上发出的对数据库操作的数据流,另一部分是用户在应用前台使用系统时所产生的数据流。
如图3.2所示:
图3.2数据流图
3.3功能模块设计
博客信息管理系统分为面向网络用户的前台及面向个人博客维护管理的后台,依据博客网站中所要实现的基本功能的设定,将所有功能分解为如下四个主要的功能模块来加以实现。
用户以合法的用户名及密码登录,系统即可按该登录用户的权限分配操作模块。
3.3.1博客注册登录管理模块
博客注册登录管理模块用于建立博客网站固定的客户群体,通过记录对应的博客档案,实现对博客信息的后台维护及管理,同时也便于通过博客档案库将网站最新动态及相关企业的信息方便地传达给每一位潜在的客户。
该功能模块实现了以下几个子功能。
(1)新博客在线注册。
(2)博客登录管理。
(3)跳转到博客主页。
只有进行登录并通过身份验证的用户,才可以在个人博客页面发表日志,并借助个人设置实现对个人博客相关信息的管理维护。
对于没有经过身份验证的网络用户不允许在博客页面中发表日志,更不允许对博客页面信息进行管理维护。
该模块实现新博客的注册及登录验证功能。
其中,注册新博客时会对用户输入的注册信息进行有效性验证,包括基本数据格式的有效性以及逻辑有效性,例如,用户名被占用时将及时给出提示。
注册成功的博客登录时,会随时根据博客输入的登录信息进行提示,如用户名错误或者密码错误。
3.3.2博客及文章检索查询模块
博客及文章检索查询模块为网络用户提供便捷的搜索,以及日志阅读浏览等功能,同时对日志的评论信息、博客推荐也能够及时反馈给网络用户。
该功能模块实现了以下几个子功能。
(1)热门博客页面推荐。
(2)最新博客日志推荐。
(3)日志信息关键字搜索。
该模块能够在网页中随时提供在线的最新日志信息。
该信息需要定期更新,网络用户可以随时获得最新日志以及最热门的博客推荐。
在客户选择了某个博客或者某个感兴趣的日志后,可以方便地跳转到对应博客页面进行日志的阅读,并和博客进行交流互动。
为了使网络用户尽快定位到所需的博客资料及日志信息,本模块提供了搜索功能,用户可以对所关注的日志信息按照标题进行关键字搜索,以避免用户浏览多个页面来寻找所需的日志信息。
3.3.3博客页面显示模块
当网络用户进入某个人博客主页后,在该页面中将提供博客日志列表的显示,同时为了方便用户浏览,在该模块中提供根据分类名进行日志列表的显示,也提供日志评论的浏览,此外还允许用户在博客页面中发表评论及留言。
该功能模块实现了如下几个子功能。
(1)用户可以分页查看对应的日志内容及评论信息。
(2)用户可以针对日志内容发表评论。
(3)用户可以针对博客进行留言。
(4)用户可以分类查看日志内容。
在该模块中还提供了博客页面统计信息,日志、评论及留言信息分页显示等方便用户的显示效果。
3.3.4博客个人管理维护模块
博客个人维护管理模块用于实现用户对博客个人主页及相关信息的动态管理。
该功能模块实现了如下几个子功能:
(1)日志及日志分类管理。
(2)评论及留言管理。
(3)个人基本信息维护管理。
借助该模块,用户可以随时对个人博客主页中的内容进行增加或修改,包括日志分类信息的更新、评论及留言管理等功能,也
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 张勇军 个人 博客 系统 毕业论文