




已阅读5页,还剩64页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计(论文)题目基于SSH技术的博客信息平台系统的设计与实现学生姓名指导教师计算机工程学院软件工程专业软件101班2014年6月1日摘要随着科技的迅猛发展,互联网已经遍及人们生活的每一个角落。人们通过网络获取丰富信息的同时,也希望通过互联网向更多的人展示自己。因此,网络博客应运而生。人们通过博客,在互联网上发表个人的想法,分享自己的照片,与更多的人进行在线交流,极大的丰富了人们的网络生活。在计算机网络飞速发展的今天,博客已成为人们发布信息、在线交流所必不可少的途径之一,它为人们提供了一种简单快捷的在线交流平台。通过分析目前博客系统的发展现状和用户的使用习惯,开发设计基于STRUTSSPRINGHIBERNATE框架技术的个人博客信息平台系统,基于SSH框架实现的博客具有更好的安全性如防止SQL注入、灵活的功能扩展性以及更好的跨平台操作性。本论文通过对博客的发展现状、前景以及功能进行论述,重点论述个人博客信息平台的总体架构设计和系统的实现过程。本论文设计的个人博客信息平台系统,旨在满足用户对互联网在线交流的需求,为用户提供丰富的功能。用户可以注册个人账户,通过博客发布日志,上传照片,转发、评论日志,通过博客与其他用户进行交流,同时可以对自己的博客信息进行管理,如修改、删除日志,评论管理,个人信息管理等主流功能。管理员拥有管理博客系统的权限,可以对用户、博文等信息进行管理并能查询博文数量等统计信息,实现对博客系统的维护。该博客系统将更加注重展示用户个性,人们可以更多方面的展示自己,让更多的用户可以通过博客进行交流,促进人们的网络社交生活更加丰富多彩。关键词JAVAEE,STRUTSSPRINGHIBERNATE,博客,MYSQLABSTRACTWITHTHERAPIDDEVELOPMENTOFTECHNOLOGY,THEINTERNETHASSPREADTOEVERYCORNEROFPEOPLESLIVESPEOPLEGETAWEALTHOFINFORMATIONTHROUGHTHENETWORK,BUTALSOHOPETOMOREPEOPLESHOWTHEMSELVESTHROUGHTHEINTERNETTHEREFORE,THENETWORKBLOGCAMEINTOBEINGPEOPLETHROUGHTHEBLOGONTHEINTERNETTOEXPRESSTHEIRPERSONALTHOUGHTS,SHAREYOUROWNPHOTOS,ANDMOREPEOPLECOMMUNICATEONLINE,GREATLYENRICHINGTHELIVESOFPEOPLEONLINEINTODAYSRAPIDDEVELOPMENTOFNETWORKS,THEBLOGHASBECOMEAPUBLISHINGANDACCESSTOINFORMATION,DOONEOFTHEESSENTIALONLINECOMMUNICATIONCHANNELS,WHICHPROVIDEPEOPLEWITHAQUICKANDEASYONLINECOMMUNICATIONPLATFORMBYANALYZINGTHECURRENTDEVELOPMENTSTATUSBLOGSYSTEMANDTHEUSERSHABITS,DEVELOPMENTANDDESIGNBASEDONSTRUTSSPRINGHIBERNATEFRAMEWORKTECHNOLOGYINFORMATIONPLATFORMPERSONALBLOG,THEBLOGBASEDONSSHFRAMEWORKTOACHIEVEBETTERSECURITYSUCHASPREVENTINGSQLINJECTION,FLEXIBLEFUNCTIONALITYANDBETTERSCALABILITY,CROSSPLATFORMINTEROPERABILITYINTHISTHESIS,THEDEVELOPMENTSTATUSOFTHEBLOG,PROSPECTSANDFUNCTIONAREDISCUSSED,THEIMPLEMENTATIONPROCESSPERSONALBLOGFOCUSESONTHEOVERALLINFORMATIONPLATFORMARCHITECTUREDESIGNANDSYSTEMSPERSONALBLOGINFORMATIONPLATFORMSYSTEMDESIGNEDINTHISPAPER,DESIGNEDTOMEETTHENEEDSOFUSERSOFTHEINTERNETONLINECOMMUNICATION,TOPROVIDEUSERSWITHRICHFUNCTIONALITYUSERSCANREGISTERAPERSONALACCOUNT,LOGRELEASEDBYBLOG,UPLOADPHOTOS,FORWARD,COMMENTLOGS,THROUGHBLOGEXCHANGESWITHOTHERUSERS,ANDCANOWNBLOGINFORMATIONMANAGEMENT,SUCHASMODIFYING,DELETINGPOSTS,COMMENTSMANAGEMENT,PERSONALINFORMATIONMANAGEMENT,MAINSTREAMFEATURESMANAGEMENTBLOGSYSTEMADMINISTRATORSHAVEPERMISSIONSTOTHEUSER,SUCHASINFORMATIONMANAGEMENTBOWENANDQUANTITYWENBOCANCHECKTHESTATISTICSTOREALIZETHEBLOGSYSTEMMAINTENANCEKEYWORDSJAVAEE,STRUTSSPRINGHIBERNATE,WEBBLOG,MYSQL目录第1章绪论111课题的提出112国内外研究现状113本文研究的主要内容214论文组织结构3第2章课题关键技术可行性研究521JAVA语言522SSH框架介绍523MYSQL技术介绍824开发工具介绍925本章小结9第3章系统需求分析1031目标设计要求1032系统功能需求分析1033系统用例图1134可行性研究分析12341技术可行性12342经济可行性13343操作可行性1335本章小结13第4章系统总体设计1441系统总体架构1442系统主要功能模块设计1543系统流程1744系统数据库设计1845本章小结21第5章系统详细设计2251系统开发条件2252系统主要功能模块设计22521登陆、注册功能22522首页功能22523个人博客主页23524发布博文23525博客管理功能23526用户个人管理、相册功能23527管理员功能2353数据库设计实现2454系统类图及交互图2655本章小结30第6章系统功能实现3161HIBERNATE配置数据库3162博客登陆功能3463用户注册功能3664博客发布及管理3865评论及个人信息管理4166个人相册功能4467好友功能5068后台管理功能5269本章小结57第7章结论与展望5871结论5872展望59致谢60参考文献61第1章绪论11课题的提出WEBLOG即网络博客,也称之为网络日志。早在1998年初,在互联网上发表博客的想法就已经被提出来,但到了2000年才真正开始流行起来。从2000年博客开始进入中国开始到今天,国内的博客蓬勃发展,从最初的仅有几千用户到现在各种各样的博客系统相继产生并不断壮大。自05年开始,在国内如新浪、网易等各大门户网站,纷纷宣布开始进入博客时代,并涌现出一批如新浪博客、网易博客等聚集千万用户的博客系统,其中以新浪博客为基础的新浪微博已成为当今社会最有影响力的信息社交平台之一。截至2013年,随着互联网的迅猛发展,网络博客市场也日趋成熟,已有数十家大型的博客站点。博客是继EMAIL(电子邮箱)、BBS(论坛)、ICQ(网络即时聊天)之后出现的第4种新的网络交流和生活方式。BLOG现在也在教育方面、商业方面、公司内部、校园等领域都得到了很大的发展,它将互联网从过去的通讯、交流等功能进一步强化,使其更加个性化、开放化、实时化、全球化,把信息共享发展到资源共享、思想共享甚至是生命历程的共享。通过研究对比国内知名的博客系统,分析其成功的原因和吸引用户的主流功能,设计实现一个能够让用户更好的展示自己的平台。采用STRUTSSPRINGHIBERNATE框架进行本系统的开发,以现有博客系统的功能为基础,力求设计一个更注重个人展示的博客平台。12国内外研究现状目前,全球的博客用户已经超过三亿,0809年中国博客市场及博客行为研究报告表明博客应用率在长期的高速增长后已经趋于稳定,半年用户增长率为12,博客活跃程度进一步提高,经常更新博客的用户比例为627,活跃博客作者规模已达到113亿。我国,博客网站呈现40的年增长速度,着实让人们刮目相看。博客用户的活跃时间大部分都集中在白天,接近50的用户会在工作时间更新博客。从互联网的兴起到现在,博客已经成为人们在网络生活中所不可或缺的组成部分,与网络聊天并驾齐驱成为现如今的热点。由此可见,博客已经在人们的日常生活中发挥着越来越重要的作用,它在满足人们对网络生活不断增长的需求的同时,博客也以其本身的特点改变着人们的生活方式和交流方式,加速并丰富了信息传播的速度和途径。在当今社会,博客的影响力已经毋庸置疑,以个人博客为基础的一种新的信息传播形式自媒体,正受到越来越多的关注,在信息社会中发挥的作用也在日益增大。在我国,博客的研究已具有一定的规模,通过分析研究发展现状可以看到,我国博客研究呈现如下几个特点1博客对传统媒体的影响是研究的热点之一。博客的迅速发展,很大程度上对传统媒体产生了诸多的影响,但二者之间也必定存在着一定的关联,进而催生了研究二者关系的话题。2技术背景成为突出研究方面。互联网和科技的迅猛发展,使博客得到了快速的成长和发展创新,博客的普及推广同样离不开先进技术的支持。而在博客市场日趋成熟的今天,关于博客技术背景的研究则更加侧重于如何让博客在众多同行的竞争中吸引更多的用户和进一步扩大市场。3研究更加注重博客的实用价值。博客只有运用到实际社会中去创造价值、提供更多服务才能体现其自身的价值。因此众多关于如何在商业、教育等领域中充分发挥博客作用的研究都体现着对博客实用性的重视。4博客的研究范围广泛。博客正逐渐渗透到社会的诸多领域,所以博客的研究也就不单单局限于科技层面,还可以从博客所涉及的众多领域作为切入点对博客进行研究。近几年已经有许多研究学者开始从文化、法律、教育以及社交等方面对博客进行研究。总之,博客的研究已经从对博客本身的应用研究发展到对用户、社会发展的研究,随着研究的不断发展和深入,必将推动博客发展到一个新的高度。13本文研究的主要内容如今,博客已经突破最初的功能,逐渐涉及社会的更多领域,然而博客作为个人展示空间这一最基本的功能在一定程度上正逐渐被削弱。在现在这个微博等形式的短消息流行的时代,用户发布博文的比例在逐渐减少且发布博文的功能也逐渐退出了博客的主界面,使得博客的发布功能变的繁琐,所以如何为用户提供更快速的博文发布功能成为本论文要研究解决的首要问题。随着用户信息发布频率的不断提高,人们对信息管理功能的需求也在逐渐减弱,用户博客中过多的无效信息不仅让用户个人的有用信息难以突出,更让网络中的浏览者难以获取其博客的有用信息而失去兴趣,降低了个人博客的关注度,所以如何引导用户更好的管理个人信息成为一个不可忽视的问题。因此,如何让用户重新获得便捷的发布和管理个人信息的功能,使博客朝着更注重用户自我展示这一最重要方向发展,成为要研究解决的主要问题。本论文设计的博客信息平台系统将更加注重对个人的展示,同时注重用户的社交需求,本系统为用户提供发布博文,发表评论,信息管理,个人相册功能,还可以为用户提供诸如转发博文,添加好友等社交功能。针对本论文要研究解决的主要问题,系统的设计会将发布博文、相册等突出个人展示的功能放在系统功能的主要位置,以便用户登陆到个人博客就可以快速的发布博文日志和相册等个人信息,强调其功能的重要性和便捷性。同时将对博文、相册以及评论等信息的管理功能将放在用户随时可以使用的位置,引导用户关注个人信息的管理,及时清除无用信息,增强个人博客的吸引力。本系统采用基于STRUTSSPRINGHIBERNATE框架进行开发,为系统提供更高的安全性(如防SQL注入),以及更优良的功能扩展性。14论文组织结构第1章绪论。首先阐述了课题提出的背景和目标,包括博客系统的产生和发展。然后对国内外现状加以阐述,掌握如今博客的发展状况,最后对论文的主要研究内容和组织结构进行简述。第2章课题关键技术可行性研究。介绍了本系统的开发过程中所用到的关键技术,主要包括JAVA语言,JAVAEE平台中的SSH框架,MYSQL数据库,MYECLIPSE10开发工具,TOMCAT服务器以及B/S开发模式等相关技术第3章系统需求分析。本章主要对本博客信息平台系统进行详细的需求分析,明确系统的设计目标和要求,以及系统的各个功能需求。为系统的总体设计和详细设计提供明确的设计方向。第4章系统总体设计。本章节明确系统的总体设计目标,根据已经确定需求分析,对系统总体架构,主要功能模块设计,系统流程以及数据库设计进行描述,为系统的详细设计提供支持。第5章系统详细设计。本章节在前期的需求分析和系统总体设计的基础上,对系统各功能模块和数据库进行了详细的系统设计,明确各模块以及功能界面,尤其是系统核心功能的具体功能实现,是后期编码工作的实现依据和方向。第6章系统功能实现。本章以系统详细设计为基础,给出系统具体设计代码,至此本博客平台系统设计开发工作已经基本接近尾声,最后对系统进行调试、系统测试,进一步完善本系统。第7章结论与展望。对论文和本系统进行深刻总结,并对其中需要完善的部分进行展望。第2章课题关键技术可行性研究21JAVA语言JAVA是1995年由SUN公司发明推出的革命性的编程语言,是一种面向对象的、跨平台的、分布式的、性能优异的、支持多线程的、动态的编程语言。JAVA编程语言的风格十分接近C和C语言。JAVA是一个纯面向对象的程序设计语言,继承了C面向对象的核心技术,但JAVA舍弃了C语言中容易引起错误的指针(以引用取而代之)、运算符重载(OPERATOROVERLOADING)、多继承(以接口代替实现)等特性,增加了垃圾回收机制,用于回收那些不会再被引用的对象占据着的内存空间,使得程序员不需要再担心内存管理的问题。在JAVASE15版本中,JAVA又引入了泛型、枚举类型、变长的参数和自动拆装箱等新的语言特性。JAVA不同于一般的编译执行的编程语言和解释执行的编程语言。JAVA首先将源代码编译成二进制字节码,然后依赖于运行在各种不同平台上的JAVA虚拟机(JVM)来解释执行编译后的字节码,从而实现了“一次编译、处处执行”的优越的跨平台特性。不过,其每次编译执行代码都需要话费一定的时间,这也在一定程度上降低了JAVA程序的运行效率。但J2SE142版本发布之后,JAVA的执行速度有了大幅的提升。与其他传统程序不同的是,SUN公司在推出JAVA之时,就将其作为开放的技术面向世界。全球数以万计的JAVA开发公司被要求其所设计的JAVA软件必须能够相互兼容。JAVA是目前世界上使用的最为广泛的网络编程语言之一,它具有平台无关、简单、面向对象、多线程、安全、动态等特点。22SSH框架介绍SSH即STRUTSSPRINGHIBERNATE3个开源框架的组合,如图21所示域模块层DOMAINMODELBUSINESSOBJECTS表示层STRUTSMVC业务逻辑层数据持久层表示层ACTIONSERVLETSTRUTSACTIONSPRINGIOCTRANSACTIONBUSINESSSERVICECLASSHIBERNATE会话管理HIBERNATE连接池查询语支持和其他HIBERNATE服务DAOSERVICELOCATOR图21SSH框架架构图1STRUTS是一个基于MVC的框架,通过配置文件很好的实现了模型MODEL与视图(VIEW)的分离,STRUTS应用包括了3个组件控制器组件ACTIONSERVLET以及自定义的ACTION;模型组件普通的接口和JAVABEAN视图组件ACTIONFORM和STRUTS标签;STRUTS的MVC设计模式可以使编程者的逻辑变得更加清晰,如图22所示。图22STRUTS组件2SPRING是一个轻量级的框架,提供依赖注入容器,AOP实现,DAO/ORM支持,WEB集成等功能。依赖注入首先需要明确关联组件的接口,然后使用这些接口来开发程序,在运行之前将接口的实现组装到程序中去运行。AOP的目的是从系统中将方面分离出来,使其独立于业务逻辑的实现,在程序执行时植入到程序中运行。SPRING的IOC和AOP可以使我们开发的程序在最大限度上进行解藕,如图23所示。图23SPRING框架模块3HIBERNATE是基于JDBC的持久化解决的方案,是一个优秀的“对象关系映射“的框架。持久化就是将程序中的数据在瞬态和持久态之间进行转换的机制。HIBERNATE就是在JDBC的基础上进行封装,以简化JDBC方式所带来的那些繁琐的设计工作,将数据保存到数据库就不必自行编写繁杂的SQL语句,只需要简单的执行SAVEOBJECT即可,不过这些都是需要配置文件的支持。采用HIBERNATE作为持久层技术的最大好处就在于可以完全以面向对象的方式进行系统分析和系统设计,如图24所示。图24HIBERNATE完整体系结构典型的J2EE三层结构,分为表现层、业务逻辑层以及数据服务层。中间层采用的是流行的SPRINGHIBERNATE组合,实现了将控制层与业务逻辑层的分离,其中又可以细分为DAO层,SERVICE层(就是业务逻辑层),PO持久化对象。SPRING的作用贯穿在整个中间层当中,很好的将DAO层、SERVICE层、WEB层及PO之间进行了无缝整合,数据服务层就用来存放各种数据。一个优良的开发框架可以很大程度上减轻程序员重新去建立解决复杂问题方案的工作量和压力;还可以扩展以进行内部的定制,并且有强大的用户社区的支持,所以框架通常能很好的解决开发者所面临的问题。23MYSQL技术介绍MYSQL是一个开源的小型关系数据库管理系统,开发商为瑞典MYSQLAB公司。MYSQLAB是一家基于MYSQL的开发人员的商业公司,是一家使用了一种成功的商业模式并结合开源的价值和方法论的开源公司。MYSQL如今在互联网上的中小型企业网站中已经被广泛地应用。由于MYSQL体积小、速度快、成本低,尤其是开源的这一特点,成为许多中小型企业为了降低网站总体的成本而选择MYSQL作为网站的数据库的主要原因。MYSQL是真正的多用户、多线程的SQL数据库的服务器。MYSQL是以客户机/服务器结构实现的,是由服务器守护程序MYSQLD和许多不同的客户程序和库构成的。SQL是世界上最流行的和标准化的数据库语言,它使得存储、更新和存取数据变得更加容易。24开发工具介绍MYECLIPSEENTERPRISEWORKBENCH即MYECLIPSE,是对ECLIPSEIDE的扩展即在开发工具ECLIPSE的基础上加上特定的插件,MYECLIPSE是一个十分优秀的用于开发JAVA,J2EE的ECLIPSE插件集合。MYECLIPSE的功能非常强大,支持也相当广泛,尤其是对各种开源产品的支持。MYECLIPSE目前支持JAVA,STRUTS,SPRING,HIBERNATE,JSP,SERVLET,AJAX,EJB3,JDBC数据库等多项功能。可以说MYECLIPSE是几乎涵盖了所有主流开源产品的ECLIPSE开发工具。我们可以利用它在数据库和JAVA开发、发布以及应用程序与服务器的整合等方面极大的提高开发者的工作效率,是功能丰富的JAVAEE集成开发环境。25本章小结第2章介绍了本系统的开发过程中所用到的关键技术,主要包括JAVA语言,J2EE平台中的SSH框架,MYSQL数据库,MYECLIPSE10开发工具,TOMCAT服务器以及B/S开发模式等相关技术第3章系统需求分析31目标设计要求系统设计要求是采用MYECLIPSE10工具为平台,以MYSQL作为数据库,使用SSH框架技术并基于B/SBROWSER/SERVER模式对本系统进行设计开发。本博客信息平台系统的设计目标是利用SSH框架优势,开发具有界面友好的、注重安全性的、易于扩展和维护、结构开放的博客信息平台系统。为用户提供一个更好的展现自我的平台。通过本系统,可以随时发布自己的博文,上传自己的照片,并能与更多的人进行交流沟通。界面设计要求1首页首页的设计在保证功能齐全的同时,尽量做到简洁,为用户提供友好的界面交互,注重用户体验。应当在突出个人展示的同时,兼顾博客的社交功能,为博主提供好友动态、最新评论等信息。2注册界面注册界面在做到美观的同时,能最大限度的对用户输入的注册信息进行验证,保证用户注册信息的合法性。3主页提供博文、照片等个人信息的展示,同时为用户显示留言和评论,便于与他人进行交流。用户可以在浏览他人博文的时候,对其进行转发等操作。用户可以在主页添加好友,以此实现交友功能,4系统首页,系统首页当为用户提供用户查询浏览、日历、公告等功能,以满足用户上网的需求,为用户提供更便捷的网络服务。32系统功能需求分析系统需要包括首页功能,用户个人管理,博文管理,相册功能,留言及评论功能,好友功能等。首页功能需求分析1首页提供最新博客和评论、热门博文以及博主列表等最新信息,以方便用户浏览。2提供用户登陆、注册功能,能够对用户输入的数据进行可靠地有效性检测,同时对已登录的用户提供进入个人博客主页的入口,同时为用户提供安全退出按钮,保护用户账户安全。3首页还需要能够对博文、好友等信息提供查询功能,方便用户快速获取所需信息。用户个人管理用户可以修改自己的个人资料信息,包括密码,邮箱等资料。博客管理功能用户可以发表自己的博文,同时可以对自己已发表的博文进行修改、删除和查看评论的操作。还可以为博文提供转发等功能,增强个人博客的社交功能。相册功能用户通过新建自己的相册,然后上传自己的照片到相册,同时可以对已有图片进行删除等操作。留言功能用户可以访问其他用户的博客,并对其发布的文章等内容进行留言和评论。管理员功能管理员通过系统提供的管理员登陆入口进入系统后台对系统进行管理和维护。后台管理功能为管理员提供对用户信息、博文、相册和公告等信息的统一管理操作,管理员可以对博客系统进行统计管理。好友功能用户可以搜索添加其他用户为好友,并对自己好友进行管理。用户可以访问浏览好友以及其他博主的个人博客。查询功能用户可以通过首页的查询功能,快速查找自己想要浏览的博主信息,通过查询结果即可进入相应博主的个人博客,对其进行访问交流。33系统用例图本博客平台系统致力于为用户提供更好的展现自我和在线交流的平台,为绕这一中心任务,将系统服务的用户分为三类注册用户、系统管理员和游客。注册用户和系统管理员的相关信息都被存储在数据服务器中,称之为合法用户。注册用户可以使用系统为注册用户开放的功能。系统管理员拥有最高权限,以便于对系统进行管理和维护,而未注册的用户被定为游客,只具有浏览和评论等有限的功能。用户在进入本博客平台系统前,必须经过系统的身份验证,用户只有具有其中一种合法用户身份,才能进入系统,对系统规定资源进行访问。这三类用户的用例图如图31至33所示。管理员图31管理员用例图注册用户图32注册用户用例图博文管理相册管理用户管理公告管理博文管理相册管理好友功能评论管理个人管理日志管理游客图33游客用例图34可行性研究分析341技术可行性本博客平台信息系统最终在分布式系统上运行,且本人电脑的配置对于做毕业设计足够,所以本博客系统的功能足以被实现。在软件方面可以用以下几种1操作系统用WINDOWS。WINDOWS作为一个优秀的网络操作系统,它的发行版本中集成了大量的网络应用软件。2WEB服务器端。TOMCAT是一个免费的开源的SERLVET容器,在TOMCAT中,应用程序的部署很简单,只需将项目放到TOMCAT的WEBAPP目录下,TOMCAT会自动检测到这个文件,并将其解压。TOMCAT也具有传统的WEB服务器的功能处理HTML页面。但是与APACHE相比,它的处理静态HTML的能力就不如APACHE。我们可以将TOMCAT和APACHE集成到一块,让APACHE处理静态HTML,而TOMCAT处理JSP和SERVLET。342经济可行性软件开发周期一般为23个月,开发所需硬件软件设施目前大多数PC机浏览博文浏览相册发表评论浏览主页系统能够承担,开发费用不高。目前,各种网络服务器性能优良,完全可以支持本博客平台系统为用户提供服务。该软件系统的安装、部署、运行和维护,费用开销都不会太大。343操作可行性本系统采用基于B/S架构进行设计,用户无需安装本系统的任何软件,只需要在PC机上通过浏览器即可对本博客平台系统进行访问,使用系统页面为用户提供的各种服务,构建和管理属于自己的个人博客。按上述三方面进行可行性分析、研究后,我们认为该项目是可行的。35本章小结本章主要对本博客信息平台系统进行详细的需求分析,明确系统的设计目标和要求,以及系统的各个功能需求。为系统的总体设计和详细设计提供明确的设计方向。第4章系统总体设计41系统总体架构系统有用户PC端(浏览器端)、WEB服务端和数据库端构成。用户通过浏览器端访问本博客系统进行使用。WEB服务端负责处理核心业务,相应用户请求,进而为用户提供相应的功能,并与服务器交换数据,为用户提供和保存数据。考虑到用户的多样化、差异性以及系统维护升级等诸多因素,系统架构采用B/S模式设计,由于基于B/S架构的管理软件只安装在服务器端,即应用程序在部署、升级和维护等阶段,网络开发管理人员只需要在系统的服务器端进行配置和管理即可,而用户的界面中主要的事务逻辑在服务器端完全通过用户浏览器实现,极少部分的事务逻辑在前端的浏览器中实现,所有的客户端只需要浏览器即可,负责网络管理的人员只需要做硬件维护的工作。B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展性非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。B/S架构的系统还具有良好的安全性能,防火墙技术可以保证系统的后台数据库的安全性。对系统进行的所有的配置工作都只需要集中在服务器端,并且所有来自客户端的请求都是通过DBMS来访问数据库中的数据,进而极大的减少了数据直接暴露的风险性,也降低了系统在开发和维护过程中的成本。尽管采用基于B/S架构开发系统也会存在着一定的缺点和局限性,但是这些缺点对于本系统来说,并不会造成影响。本系统服务的对象就是面向网络用户,需要及时进行系统升级和维护而不影响用户使用。这样一来对于本系统来说,B/S框架的优势就会得到很好的发挥,是最合适的选择。采用基于B/S架构的本博客信息平台系统大致分为三部分用户端、WEB服务器端和数据库服务端。用户端接受用户请求并将用户请求数据发送到服务器,同时接受服务器传回的用户请求数据并在界面上显示用户。WEB服务器端接受来自用户的请求数据并进行业务处理,同时将数据信息与数据库进行交换,以完成用户的请求操作,实现相应的功能,并将处理之后的请求数据回传给用户端。数据库服务器端响应WEB服务器的请求,存储WEB服务器端传来的数据或为服务器提供相应的请求数据。本系统的总体架构如图41所示请求图41系统总体架构42系统主要功能模块设计用户请求JSP系统界面数据更新操作网络数据传输处理WEB服务器SERVER系统业务处理数据库服务端MYSQL用户PC端(浏览器端)WEB服务端数据库服务端系统根据需求将用户划分为三大类系统管理员、普通注册用户和游客。注册用户可以使用系统为注册用户开放的功能,如发布博文,上传相册和管理个人信息等功能。系统管理员拥有最高权限,可以对系统的所有信息进行统一管理和维护,而未注册的用户被定为游客,只具有浏览和评论等有限的功能。本系统的主要模块设计如图42所示图42系统主要模块关系图用户注册登录之后,可以选择博客分类,并发布相应类别的博客文章。同时可以通过提供的文本编辑器对博文格式进行编辑。博文管理模块用户可以查看自己全部的微博,并对其进行删除,修改等管理操作。评论留言模块用户可以管理自己博文中的评论和留言。个人相册可以通过相册功能将图片上传至相册中。用户信息管理模块用户可以对自己的信息进行查看和修改操作,例如修改个人资料、博文和相册等信息。用户注册模块新用户通过注册模块,注册属于自己的账号,以便使用本SSH博客系统普通用户游客系统管理员用户信息管理博文管理相册管理公告管理文章相册浏览发表评论评论管理日志管理个人信息管理好友管理个人相册管理博文管理博客平台系统,注册模块需要对用户输入的信息进行校验,以保证用户说的注册信息符合系统要求。43系统流程系统前台为用户系统提供统一的入口,未注册用户需要注册才能使用自己的个人博客。系统对用户通过登录界面输入的用户名和密码进行验证通过之后,用户即可登陆自己的个人博客,从而使用系统为用户提供的服务。同时系统为用户提供安全退出功能,保证用户安全退出系统,保护用户数据安全。系统前台流程如图43所示NNYY登陆界面输入用户名、密码用户信息是否匹配登陆系统注册界面输入注册信息注册信息是否合理注册信息提交数据库博客系统主页开始安全退出系统结束图43系统功能流程图当用户登陆自己的个人博客,可以对个人博客进行信息的管理操作。用户可以删除修改自己的博文、相册和好友等信息,还可以对用户自己的个人资料进行修改。有些情况下,用户可能在未登录状态下访问自己的个人博客,所以为防止错误操作等潜在的危害因素,系统要在用户进行所有管理操作之前对其进行是否已登录检测,用户只有处在已登录状态下,才可以进行管理操作,其系统流程如图44所示NY图44个人信息管理44系统数据库设计合理的设计数据库,不仅能提高数据库对数据的执行效率,更能有助于提高系统访问处理数据的效率,对提升系统性能,增强用户体验有着至关重要的作用。概念模型是对信息世界建模,其表示方法有很多,其中最为常用的是实已登录登陆对个人资料等信息进行管理操作开始结束个人信息管理体联系模型,即ER模型,它是用ER图来描述现实世界的概念模型。下列ER图清楚简便的描述出了本系统实体与其属性之间的关系。本系统的数据库ER图,如图45所示N1NN11NN1111N1图45系统数据库ER图系统中各个表的实体属性图1用户信息表用于保存注册用户的个人资料以及权限等信息,作为系统区分不同用户,为不同权限用户提供不同服务的依据,如图46所示用户用户名个人简介权限密码邮箱注册时间系统管理员管理普通用户管理发布博文、相册浏览者浏览管理个人信息注册好友添加图46用户信息实体属性图2博客信息表用于存储用户发布的博文的信息,包括博主名称、博文标题、博文内容、发布时间等信息,如图47所示图47博文信息实体属性图3评论留言信息表,用于存储博文、日志和相册中的评论信息,包括所评论的相应博文的ID,评论用户名,评论内容和时间等,如图48所示图48评论信息实体属性图性别博客文章评论留言博文ID博文标题博文分类文章内容发布时间用户ID评论ID博文ID评论用户名评论时间评论内容4好友信息表保存博客用户的添加的好友信息,即为用户的好友列表,存储好友ID和用户ID,如图49所示图49好友信息实体属性图5相册信息表存储包括用户ID,图片ID、路径、名称和上传时间等所上传图片的信息,如图410所示图410相册信息实体属性图45本章小结本章节明确系统的总体设计目标,根据已经确定需求分析,对系统总体架构,主要功能模块设计,系统流程以及数据库设计进行描述,为系统的详细设计提供支持。好友列表好友ID用户ID个人相册图片ID用户ID上传日期图片路径图片名称第5章系统详细设计51系统开发条件PC配置CPUINTELRCORETMI5400GHZ200GHZ内存400GBWEB服务器APACHETOMCAT7037软件支持及开发环境操作系统MICROSOFTWINDOWS7旗舰版64位开发工具MYECLIPSE10,FIREFOX浏览器数据库MYSQL52系统主要功能模块设计521登陆、注册功能登陆界面是用户使用本系统时最先访问的系统界面,用户输入用户名密码之后,系统将用户的登陆信息与数据库用户信息表中的数据进行校验,将结果通过前台页面显示给用户。登录失败则跳转到登录失败页面,提醒用户重新登录。登陆成功则进入系统主页,使用系统提供给用户的各种功能。注册界面是新用户首先必须访问的界面,通过注册界面填入个人注册信息,页面首先通过JAVASCRIPT验证用户名、密码、邮箱等是否符合基本要求,若不符合要求则提示用户重新输入相应信息,注册信息符合要求之后,则点击提交按钮,系统将用户信息存入数据库,然后跳转到登陆界面,用户即可登陆本博客系统,建立自己的博客。522首页功能用户登陆系统之后,进入系统首页。首页需要为提供用户全部操作的列表,以便于用户使用各种功能。首页包括个人博客主页,发布博客,管理博客,管理分类,评论留言管理,个人信息管理等提供为用户提供的全部功能,用户选择相应的功能,系统就为用户跳转到相应功能的页面,为用户提供所选功能。为满足用户上网需求的多样化,首页还为用户提供一些其他网站的连接,使用户能够方便快捷的访问所需网站。523个人博客主页个人博客首页展示个人已发布的所有博客列表,用户可以点击查看已经发布的全部博客文章,以及其他用户的留言评论。博客首页显示最新博客及最新评论,方便用户及时获取最新信息。在原有功能的基础上,还可以为博文提供转发、点赞等功能,增强个人博客的社交功能。用户可以访问其他用户的博客,点击查看博文并对文章等内容进行留言和评论。524发布博文用户使用此功能发布博客。在发布界面依次输入博客标题,选择想发布博文的分类,然后在下方的文本编辑框中输入博文内容,同时可以借助博文编辑器提供的功能对博文内容进行格式设置,使博客内容更加丰富多彩,增加博文的吸引力和可读性,使用户可以发布的博文更加多样化、个性化。525博客管理功能用户发表自己的博文的同时,也需要为用户提供管理自己博客的功能。用户通过博客管理功能可以对自己已发表的博文进行修改、删除和查看评论的操作,即向用户开放一定的对个人信息的管理功能。526用户个人管理、相册功能用户可以修改自己的个人资料信息,包括密码,邮箱等资料。同时对自己博文中的所有评论留言等信息,用户都有权限进行删除等管理操作。用户通过相册功能,上传自己的照片到相册,或删除已有图片。527管理员功能系统需要对管理员开放普通用户所没有的最高管理权限,以便于对系统进行管理和维护,保证用户能更好的使用本系统。为管理员提供对用户信息、博文、相册和公告等信息的统一管理操作,管理员可以对博客系统进行统计管理。系统管理员判断用户账号密码准确性登录成功登录失败系统主窗体文章管理查看用户文章执行数据库操作操作成功返回删除文章公告信息添加公告信息编辑公告信息删除公告执行数据库操作操作成功返回相册管理查看相册执行数据库操作操作成功返回删除相册系统用户删除添加系统用户执行数据库操作操作成功返回图51系统管理员业务流程53数据库设计实现1用户表T_USER,用于存储注册用户的个人信息,如表51所示表51用户信息表属性类型长度说明允许空主/外键IDINT4用户ID否主键NAMEVARCHAR5050用户账号否PWDVARCHAR5050用户密码否REALNAMEVARCHAR5050昵称否SEXVARCHAR5050性别否ADDRESSVARCHAR5050住址否TELVARCHAR5050联系方式允许PICPATHVARCHAR5050头像否2博客信息表T_BOWEN,用于存储用户发布的博文信息,如表52所示表52博文信息表属性类型长度说明允许空主/外键IDINT4文章编号否主键TITLEVARCHAR50标题否CONTENTVARCHAR5000文章内容否TIMESDATE4添加时间否USER_IDINT4用户ID否外键CLICKSINT4浏览量否3评论信息表T_PINGLUN,存储用户提交的评论及留言信息,如表53所示表53评论留言信息表属性类型长度说明允许空主/外键IDINT1评论信息ID、自增长否主键USERNAMEVARCHAR2020用户名否外键BLOG_IDINT1博文表ID否外键CONTENTVARCHAR100100评论信息是CREATEDATESMALLDATETIME20发表评论的时间是4博客分类信息表T_BCATLOG,如表54所示表54分类信息表属性类型长度说明允许空主/外键IDINT1分类ID否主键NAMEVARCHAR2020分类名称否LEVELINT1博客目录优先级否5相册信息表T_XIANGCE,存储用户上传的照片信息,如表55所示表55相册信息表属性类型长度说明允许空主/外键USERNAMEVARCHAR2020用户名否外键PIDINT11相片ID、自增长否主键PNAMEVARCHAR2020相片名是PIMAGEBLOG20相片是PDATESMALLDATETIME20相片上传时间否6系统公告信息表T_GONGGAO,存储系统公告信息,如表56所示表56系统公告信息表属性类型长度说明允许空主/外键IDINT4编号否TITLEVARCHAR11标题否CONTENTVARCHAR20内容是TIMESSMALLDATETIME20发布时间是7用户好友列表T_HAOYOU,存储用户所有的好友信息,如表57所示表57用户好友列表属性类型长度说明允许空主/外键IDINT3ID否主键USERIDINT3用户ID否FRIENDIDINT3好友ID否数据库各表之间的设计关系,如如图52所示T_ZHAOPIANPKIDTITLEFUJIANJIESHAOXIANGCE_IDDELT_GONGGAOPKGONGGAO_IDGONGGAO_TITLEGONGGAO_CONTENTGONGGAO_DATAGONGGAO_FABUZHEGONGGAO_DELT_PINGLUNPKIDCONTENTSHJIANBOWEN_IDT_USERPKUSER_IDUSER_NAMEUSER_PWUSER_REALNAMEUSER_ADDRESSUSER_SEXUSER_TELUSER_EMAILUSER_QQFUJIANFANGWENLIANGUSER_DELT_ADMINPKUSERIDUSERNAMEUSERPWT_XIANGCEPKIDNAMEUSER_IDDELT_BOWENPKIDTITLECONTENTSHIJIANUSER_IDDEL图52数据库表间的关系图54系统类图及交互图TBOWEN类表示博文信息。其中TITLE、CONTENT等属性分别表示发布博文的标题、内容等信息,并有对应属性的GET和SET方法。TBOWENDAO类中的SAVE、FINDBYID、DELETE等方法实现对博文信息在数据库中的增删改查操作。通过调用TBOWEN类,将博文信息封装到TBOWEN类中,然后将博文信息实例与数据库中的博文信息进行数据存取。BOWENACTION类对应具体博文操作的业务逻辑。BOWENADD、BOWENMANA、BOWENDEL等方法实现对博文增删改的逻辑操作,通过接受前台页面传回的博文请求后进行逻辑业务处理,然后通过调用TBOWENDAO类实现对数据库的数据访问操作。类图以及之间的关系如图53所示图53涉及博文操作的类图及相互间的关系LOGINSERVICE类用于处理用户登陆的业务逻辑。通过调用TADMINDAO和TUSERDAO类,分别从数据库中获取普通用户和管理员用户的用户信息,通过LOGIN方法进行逻辑业务的处理,根据用户权限为不同权限的用户提供相应的功能,类图以及之间的关系如图54所示图54涉及用户登陆操作的类图及相互间的关系TUSERDAO类中的SAVE、FINDBYID、DELETE等方法实现对用户信息在数据库中的增删改查操作。通过调用TUSER类,将用户信息封装到TUSER类中,然后将用户信息实例与数据库中的用户信息进行数据存取。USERACTION类对应具体用户信息操作的业务逻辑。USERREG、USREDIT、USERDEL等方法实现对用户信息增删改的逻辑操作,通过接受前台页面传回的请求后进行逻辑业务处理,然后通过调用TUSERDAO类实现对数据库的数据访问操作。类图如图55所示图55涉及用户信息操作的类图及相互间的关系系统管理员登陆会员管理模块后,可以对用户进行添加、删除和修改。管理员首先在登陆界面输入自己的账号、密码登录,系统会提交给会员管理的SERVICE模块进行验证之后,显示管理员管理界面。在操作用户的页面中,管理员会根据需要对每个用户进行添加、删除和修改等操作,系统将管理请求发送给SERVICE模块进行相应业务处理,然后调用DAO类实现对数据库的请求操作,最后由数据库模块完成对数据的更新操作,并将处理结果返回到管理员操作界面,管理员管理用户操作的时序图如图56所示。博主在登陆界面登输入用户名密码,通过系统验证之后,系统将文章公告等信息进行处理并返回显示给用户界面。用户根据需求进行文章的增删改操作,系统将用户请求提交给文章管理的SERCIVE模块进行业务处理,并调用相应的DAO类实现对数据库的具体操作,最后由数据库模块完成对数据的更新操作,并将处理结果逐层返回,最终将结果返回显示到用户界面中,博客用户管理文章公告操作的时序图如图57所示。图56管理员管理用户操作的时序图图57博客用户发布博文等信息的时序图55本章小结本章节在前期的需求分析和系统总体设计的基础上,对系统各功能模块和数据库进行了详细的系统设计,明确各模块以及功能界面,尤其是系统核心功能的具体功能实现,是后期编码工作的实现依据和方向。第6章系统功能实现61HIBERNATE配置数据库HIBERNATE是主流的ORM框架之一,是一个优秀的持久化框架,HIBERNATE是一个面向JAVA环境的对象/关系数据库映射工具。使用HIBERNATE之前,要先编写POJOPLAINOLDJAVAOBJECT类,它一个普通的JAVA对象。HIBERNATE采用低侵入式的设计,完全采用POJO作为持久化对象PO使用,不要求持久化类继承任何父类,或者实现任何接口,保证代码不被污染。HIBERNATCFGXML文件配置信息如下COMMYSQLJDBCDRIVERJDBCMYSQL/LOCALHOST3306/SSHROOTORGHIBERNATEDIALECTMYSQLDIALECTFALSETRUETRUE系统主页设计如图61所示图61博客系统首页界面用户通过系统首页的登陆窗口,输入用户名密码即可登陆到自己的个人博客,登录模块会对用户的登陆信息进行验证处理,设计逻辑及关键代码如下FUNCTIONCALLBACKDATADOCUMENTGETELEMENTBYID“INDICATOR“STYLEDISPLAY“NONE“IFDATA“NO“AL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届湖南省名校联盟化学高一上期末达标检测试题含解析
- 初三化学上教学工作方案
- 2026届河北省邯郸市磁县滏滨中学化学高一上期末综合测试试题含解析
- 幼儿园学期末汇报活动方案
- 大学支教面试题及答案
- 书香机关活动实施方案
- 论语导读考试题及答案
- 广东美电贝尔科技java面试题及答案
- 空降乘务面试题及答案
- 慢性胰腺癌的临床观察
- 楼梯切割安全生产合同范本
- 加油站秋季安全知识培训课件
- 2025-2026学年人教版2024八年级上册开学摸底考试英语模拟卷
- 2025至2030中国CPU市场运行现状与发展前景分析报告
- DB37-T4899-2025深远海养殖管理工作指南
- 物业消防改造服务方案(3篇)
- 二零二五版知识产权保护与保密协议
- 功率放大器测试培训课件
- 全域土地综合整治实施方案
- 美容中医课件模板
- 小学生校园文明礼仪常规教育主题班会
评论
0/150
提交评论