基于人才搜索的博客系统的设计与实现2_第1页
基于人才搜索的博客系统的设计与实现2_第2页
基于人才搜索的博客系统的设计与实现2_第3页
基于人才搜索的博客系统的设计与实现2_第4页
基于人才搜索的博客系统的设计与实现2_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文)题目基于人才搜索的博客系统的设计与实现学生姓名指导教师计算机工程学院软件工程专业软件112班2015年6月1日摘要在互联网迅速发展,生活压力急剧加大的今天,人们最大的希望就是找到一份好工作来满足当前的现状,而公司又急缺相关行业的人才,虽然现在的招聘平台特别多,但是不足以招聘到更适合的人才,又不知道应聘者的实际水平,由此,基于人才搜索的博客网站系统应运而生。本博客网站系统最核心的目的就是给广大学习爱好者和应聘者提供一个自由学习的开放平台,通过这样一个交流学习平台,用户可以相互学习,相互弥补自己的不足,同时给别的用户分享自己会的技术,管理员会定期发布一些公司的招聘信息和新技术的链接,让用户能够在最快时间了解到最新信息。同时本博客网站系统还提供了相册,音乐,好友,短消息,书签等功能,让所有用户能方便快捷的进行交流。本次论文的设计是多用户博客信息平台系统,主要满足喜欢互联网技术的用户对互联网在线交流的需求,为用户提供各种各样的丰富的功能。在项目中,通过使用了类之间的继承与接口,实现了各个类之间既有一定的关系又降低了耦合度,该博客系统主要为技术类的用户而用,人们可以发表自己的技术类文章,或者在工作中遇到的BUG,然后怎么解决的,通过博客文章的方式总结起来,既防止自己以后遇到相同的问题,同时也帮助了别人,通过这样一种相互学习,相互交流的方式,找到更专业的技术人士,人们可以更多方面的展示自己,让更多的用户可以通过博客平台进行交流与学习,促进人们的网络社交生活变得更加丰富多彩。同时也激励了一些爱学习互联网技术的人才,通过在博客网站上自学的方式来更加的充实自己,获得更高的工资,走向人生的巅峰。通过系统流程图,ER图,实体联系图,模块关系图,类图来充分展示出本系统的模块化结构组织,更加形象化的描述了本系统的核心功能和其他功能,充分考虑到了用户体验和系统的性能等问题,使用了目前最流的相关开发技术,使用户在使用的过程中不会产生一些低级的问题,为那些爱好学习者和求职者提供了一个全新的平台,在娱乐中学习,在学习中学到更多知识,同时找到自己称心的工作。关键词JAVA,MYECLIPSE,STRUTS2SPRINGHIBERNATE,VELOCITY,EHCACHE,MYSQLABSTRACTWITHTHERAPIDDEVELOPMENTOFINTERNETTECHNOLOGY,THEINTERNETINTHEMODERNLIFEHASPLAYEDANIMPORTANTROLEPEOPLECANOBTAINABUNDANTSCIENCEANDTECHNOLOGYINFORMATIONTHROUGHTHENETWORKATTHESAMETIME,ALSOHOPETOTHROUGHTHEPLATFORMTOTHEINTERNETMOREANDMOREPEOPLESHOWTHEIRGOODSIDEINTERESTEDINTECHNOLOGY,IBROWSEORLEARNTHECLASSICBLOGARTICLES,MEETMORELIKEMINDEDFRIENDSONLINETHEREFORE,THENETWORKBLOGTHISCOMMUNICATIONTOOLARISESATTHEHISTORICMOMENTMODERNPEOPLETHROUGHTHEBLOG,CANBEPUBLISHEDONTHEINTERNETPLATFORMOFPERSONALKNOWLEDGE,GREATLYENRICHEDTHENETWORKOFMODERNLIFEINTODAYSRAPIDDEVELOPMENTOFCOMPUTERNETWORK,NETWORKBLOGPLATFORMHASBECOMEPEOPLETORELEASEALLKINDSOFINTERNETINFORMATION,ONLINELEARNING,ONEOFTHEESSENTIALWAYHASBECOMEAKINDOFSIMPLEANDQUICK,SAVETIMEANDEFFORTOFONLINECOMMUNICATIONPLATFORMNOWADAYSATHOMEANDABROADHAVEBEENSTUDYINGTHEBLOGCANHOWMUCHBENEFITSTOPEOPLETHEMBYANALYZINGTHEPRESENTSITUATIONOFNETWORKBLOGSYSTEMANDTHEUSERSUSEOFSTYLE,USESTHEMOSTPOPULARWEBPROGRAMMINGTECHNOLOGY,FROMTHEANGLESOFTHECLIENTANDTHESERVERTOTHEPERFORMANCEREQUIREMENTSOFBLOGSITES,USINGENCACHETECHNOLOGY,USERSINTHEUSEOFTHISWEBSITEEXPERIENCEISGOOD,BETTEROPTIMIZATIONOFBLOG,BRINGBRANDNEWUSEREXPERIENCETHISPROJECTBASEDONSTRUTSSPRINGHIBERNATEFRAMEWORKTECHNOLOGYOFMULTIUSERBLOGINFORMATIONPLATFORMSYSTEM,BLOGSYSTEMBASEDONSSHFRAMEWORKTOIMPLEMENTCANHAVEBETTERSECURITYSUCHASTOPREVENTSQLINJECTION,URLREWRITING,DATACACHECACHECODE,THEBACKGROUNDISMOSTLYADOPTSTHEWAYOFTHEINTERFACESHOWSTHEFUNCTIONOFFLEXIBLESCALABILITYANDJAVALANGUAGEHASBETTERINTEROPERABILITYTHISPAPERTHROUGHTOTHEBLOGCURRENTSITUATIONANDFUTUREDEVELOPMENT,ANDRELATEDFUNCTIONS,THISPAPEREXPOUNDSTHEKEYPERSONALBLOGOVERALLARCHITECTUREDESIGNANDIMPLEMENTATIONPROCESSKEYWORDSJAVA,MYECLIPSE,STRUTS2SPRINGHIBERNATE,VELOCITY,EHCACH,MYSQL目录11研究背景612国内外研究现状613本文研究的主要内容714论文组织结构8第2章课题关键技术可行性研究921EHCACHE技术介绍922S2SH框架介绍923MYSQLSERVER技术介绍1124MYECLIPSE开发工具介绍1225本章小结12第3章系统需求分析1231系统开发条件1332目标设计要求1333系统功能需求分析1434系统用例图1535可行性研究分析17351技术可行性18352经济可行性18353操作可行性1836本章小结19第4章系统总体设计1941系统总体架构1942系统主要功能模块设计2043系统流程2244系统数据库设计24441数据库表实体属性图25442数据库逻辑结构图2745本章小结28第5章系统详细设计2851系统主要功能模块设计29511登陆、注册功能29512博客网站首页管理29513个人博客空间管理29514博客文章管理29515书签管理30516用户基本资料、相册管理30517系统后台管理3052数据库设计实现3153系统类图及交互图3454本章小结37第6章系统功能实现3861HIBERNATE配置数据库3862STRUTS2配置文件4263EHCACHE缓存文件配置4364博客登录管理4565用户注册管理4666文章发表及管理4767留言及评论管理5069博客系统后台管理53第7章系统测试5871测试目的5872测试用例执行结果59第8章结论与展望6081结论6082展望61致谢62参考文献62第1章绪论11研究背景WEBLOG即为网络博客,也称其为网络日志。早在十八世纪初,通过互联网平台发表博客的思想就已经被提出来了,但到了十九世纪才真正开始流行起来。从刚开始的仅有不到一万的用户到现在各种各样的博客网站系统纷纷涌现于当今社会。自2006年开始,在国内如新浪博客、网易博客、天涯博客等等各大门户网站,纷纷宣布即将进入博客时代,并不断涌现出一批继新浪博客、网易博客等聚集千万用户的博客系统,目前国内已有数十家大型的博客网络站点。博客是继EMAIL(电子或QQ邮箱)、BBS(论坛系统)、ICQ(网络即时聊天)之后出现的第4种最新的网络交流和生活方式。BLOG网站现在也在教育方面、金融方面、公司内部、医疗方面等领域都得到了很大的发展,它将互联网从过去的专门通讯、在线交流等功能进一步强化,使其更加个性化、界面化、开放化、实时化、关注用户体验、全球化,把个人所学信息共享到互联网。通过分析并研究对比国内知名的博客网站系统,分析其做的成熟的原因和吸引用户的主流功能,设计实现一个能让用户更好的充实自己、展示自己的平台。此系统采用STRUTSVELOCITYHIBERNATE框架进行本系统的开发,以目前现有博客系统的功能为基础,力求设计一个基于人才培养,人才搜索的博客平台。12国内外研究现状截止目前,全世界的博客用户已经超过三亿的数量了,博客平台活跃程度进一步地提高,经常更新、浏览博客的用户比例为688,活跃的博客用户规模近达到128亿。在我国,博客网站系统以48的增长率在增长,博客网站已经成为人们在网络生活中所不可缺少重要的组成部分,与网络聊天系统并驾齐驱成为当今的热点。由此可见,博客系统已经在人们的日常生活中发挥着极其重要的作用,它在满足博客用户对网络生活不断增长的需求的同时,博客也正在以其本身的热度来改变着人们的交流方式和生活方式,加快并丰富了互联网信息传播的步伐和途径。时代当下,博客网站的影响力已毋庸置疑,在当今的信息社会中发挥的巨大作用也在日益渐增。在中国,博客网站系统的研究已具有一定的规模性,通过长时间的分析研究发展现状可以知道,我国的博客系统研究具有如下几个特点1博客网站对传统媒介的影响力是研究分析的热点之一。博客的蓬勃发展,在很大程度上对传统媒体产生了众多的影响,但两者者之间就必定存在着一定程度上的关联,进而萌生了研究二者密切关系的话题。2网络技术的背景成为突破研究的方面。根据互联网信息和科技技术的飞速发展,便促进博客系统在成长和创新方面得到了升华,关于博客网络技术背景的研究则更加侧重于如何让博客在众多热门同行的激烈竞争中吸引和招揽更多的博客用户并且进一步地扩大博客市场。3博客网站系统的研究范围具有广泛性。它正逐渐地渗透到当今社会的众多领域中去,在最近几年已经有越来越多的研究学者开始从文化、宗教、医疗、法律、教育、金融行业以及社交等方面对博客进行全面的研究。总之,博客的系统研究已经从对博客系统本身的应用实用性研究发展到对广大用户、社会发展的研究,随着对博客的研究的不断全面发展和系统深入,必将把博客推动到一个全新的新巅峰。13本文研究的主要内容现如今,博客完全突破了最原始的功能,渐渐走进社会的众多领域,然而博客现在不仅仅只是为了展示个人风采的平台。本系统除了能让用户发表文章,上传图片,在线听音乐之外,还能寻求更多更好的工作机会,站长通过后台的统计,看哪一个用户擅长于哪一方面,根据公司的需求,便会给此用户一个工作的新机会。同样可以向站长咨询相关的招聘信息。通过这样一个平台,既节约了人们的时间,同时通过与其他用户进行学术上的交流又能学到更多的新技术,新知识。本论文设计的人才搜索博客将更加关注用户每日所发表的文章,通过其文章发表数,访问量等来衡量其IT专业技能。同时注重博客用户的社交需求,本系统为用户提供了发表文章,发表评论,留言管理,个人信息管理,短消息功能,个人相册功能,还可以为用户提供书签保存,添加好友,黑名单等社交功能。针对本次论文的研究内容,系统的设计会将文章的发布、论坛区等展示个人风采与技能放在系统功能的重要位置,以便用户登录后进入个人博客空间就可以方便的发表文章日志和相册等个人信息,充分强调博客功能的重要性和便捷性。同时把文章、相册、留言、好友以及评论等信息的管理功能将放在操作便捷的位置,引导用户随时关注个人基本信息的管理,及时删除掉无用信息,增强个人博客空间的吸引力。使本系统具有更高的安全性和稳定性(如防SQL注入,ENCHACE缓存),以及更优良的功能层次的扩展性。14论文组织结构第1章绪论。首先阐述了本次课题提出的研究背景和目标,包括博客网站系统的产生原因和发展历史。掌握当今博客网站的发展状况,最后对博客论文的主要研究内容与目的和组织结构进行全面的简述。第2章课题关键技术的可行性研究。通过介绍了本系统在开发的过程中所用到的关键技术,主要用到了JAVA语言,JAVAEE平台中的S2SH框架技术,MYSQLSERVER55数据库,SQLYOG数据库操作界面,MYECLIPSE108开发工具,TOMCAT68服务器,FCKEDITOR编辑器以及B/S开发模式等相关技术。第3章系统需求分析。本章主要对基于人才搜索的博客系统进行了详细的需求分析,明确设计目标和整体要求,系统模块之间的各个功能需求。为博客系统的总体设计和详细设计提供了明确而清晰的设计方向。第4章系统总体设计。本章节主要是明确博客系统的总体设计目标,根据分析阶段的需求分析,博客系统流程以及数据库的分析与设计进行全面性地描述,为博客系统的详细设计奠定了充分的铺垫。第5章系统详细设计。本章节在前期的系统需求分析和系统总体设计的基础上,对博客系统各个功能模块和数据库进行了详细而全面的系统设计,明确各模块之间的联系以及模块功能的界面设计,尤其是博客系统的核心功能的具体实现,成为后期编程工作的主要实现依据和方向。第6章系统功能实现。本章主要是以系统的详细设计为基础,给出博客系统的具体设计和实现代码,至此本基于人才搜索的博客系统设计开发工作即将接近尾声,最后对本系统进行全面调试、白盒测试,黑盒测试,进一步全面完善本系统。第7章结论与展望。对本次论文和系统进行深刻而全面的总结,并对其中需要完善的部分进行学术性展望。第2章课题关键技术可行性研究21EHCACHE技术介绍EHCACHE是一个纯JAVA的进程内缓存框架,具有快速、精干等特点,是HIBERNATE中默认的CACHEPROVIDER。EHCACHE是一种广泛使用的开源JAVA分布式缓存。主要面向通用缓存,JAVAEE和轻量级容器。EHCACHE主要的特性有快速、简单、多种缓存策略、缓存数据有两级内存和磁盘,因此无需担心容量问题,缓存数据会在虚拟机重启的过程中写入磁盘,可以通过RMI、可插入API等方式进行分布式缓存,具有缓存和缓存管理器的侦听接口,支持多缓存管理器实例,以及一个实例的多个缓存区,提供HIBERNATE的缓存实现。22S2SH框架介绍S2SH即STRUTS2SPRINGHIBERNATE3个开源框架的组合,如图21所示域模块层DOMAINMODELBUSINESSOBJECTS表示层STRUTSMVC业务逻辑层数据持久层表示层ACTIONSERVLETSTRUTSACTIONSPRINGIOCTRANSACTIONBUSINESSSERVICECLASSHIBERNATE会话管理HIBERNATE连接池查询语支持和其他HIBERNATE服务DAOSERVICELOCATOR图21SSH框架架构图1STRUTS2是一个基于MVC的框架,通过STRUTS2的配置文件可以很好的实现模型层MODEL与视图层(VIEW)的分离,STRUTS2的MVC设计模式让编程者的逻辑思维变得更加清晰,效率更高。如图22所示。图22STRUTS组件结构图2SPRING是一个轻量级的开源框架,提供AOP实现,IOC控制,DAO/ORM对象关系映射支持,WEB集成等功能。AOP的目的是分离系统中的层次结构,使其独立于业务逻辑的实现,使得每个层相互关联单不相互影响。SPRING的IOC和AOP降低了项目开发中的耦合度,如图23所示。图23SPRING框架模块3HIBERNATE是基于JDBC的持久化解决的一个框架,是一个独特的“对象关系映射“框架。封装了JDBC连接数据库的代码。采用HIBERNATE作为持久层好处在于可以完全地以面向对象的思想方式进行博客系统分析和设计,如图24所示。图24HIBERNATE完整体系结构23MYSQLSERVER技术介绍MYSQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,这样便增加了存取速度并提高了灵活性。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MYSQL作为网站数据库。MYSQL是真正的多用户、多线程的SQL数据库的服务器。MYSQL是以客户机/服务器结构实现的,是由服务器守护程序MYSQLD和许多不同的客户程序和程序库构成的。为多种编程语言提供了API。支持多线程,充分利用CPU资源。优化的SQL查询算法,有效地提高查询速度。它使得数据的存储、删除、更新和存取数据变得更加容易。24MYECLIPSE开发工具介绍MYECLIPSE企业级工作平台(MYECLIPSEENTERPRISEWORKBENCH,简称MYECLIPSE)利用它我们可以在数据库MYSQL和JAVAEE的开发、部署以及应用程序服务器的整合方面能极大的提高工作效率和节约时间。完整地支持HTML,STRUTS2,JSP,CSS,JAVASCRIPT,SPRING4,SQL,HIBERNATE3等多种框架或技术。我们可以利用它在数据库和JAVA开发、发布以及应用程序与服务器的整合等方面极大的提高开发者的工作效率,是功能丰富的JAVAEE集成开发环境。25本章小结第2章介绍了本系统在开发过程中所用到的关键技术或插件,主要包括JAVA语言,J2EE平台中的S2SH框架,MYSQLSERVER数据库,MYECLIPSE10开发工具,AJAX异步刷新技术,EHCACHE缓存技术,VELOCITY开发模板,TOMCAT服务器以及B/S开发模式等相关技术。第3章系统需求分析31系统开发条件PC配置CPUINTELRCORETMI3M380253GHZ253GHZ内存200GBWEB服务器APACHETOMCAT7050操作系统MICROSOFTWINDOWS7旗舰版32位开发工具MYECLIPSE10,FIREFOX最新版浏览器数据库MYSQLSERVER32目标设计要求本系统的设计要求是采用MYECLIPSE10工具作为开发平台,以MYSQLSERVER作为数据库,VELOCITY开发模板,使用S2SH开源框架技术并基于B/SBROWSER/SERVER模式来对博客系统进行设计开发。本博客系统的设计目标是充分利用S2SH的框架优势,开发一个具有界面友好的、注重安全性的、用户体验良好的、易于扩展和维护、结构开放的基于人才搜索的博客网站系统。界面设计要求1博客首页首页的界面设计在保证功能齐全的同时,尽量做到简洁不冗余,为博客用户提供友好的界面交互,更加注重用户体验。应当在突出个人才能展示的同时,兼顾博客的社交功能,为博主提供博客好友的动态、最近访问、最新评论等信息。2注册界面注册分为三个步骤,填写用户基本信息,填写个人空间信息,注册成功。注册界面在做到简洁而美观的同时,通过采用JAVASCRIPT技术对用户输入的注册信息进行验证,保证用户注册信息的合法性和安全性。3主页提供最新发布文章、最新上传照片、博客每日精粹、热门博客,最新注册站点,热门文章站点,热门用户站点等信息展示,同时为用户显示短消息和友情链接,便于与他人进行交流。用户可以在浏览他人博客空间的时候,可以对其文章进行书签保存等操作。用户可以在他人的博客空间添加好友,以此实现交友功能,同时也可进行黑名单操作。4博客空间首页,博客空间首页当为用户提供用户查询浏览博客文章、日历、公告、留言、发送短消息等功能,同时管理自己博客空间的设置,以满足用户上网的需求,为用户提供更方便快捷的网络平台服务。5登陆界面由于本博客系统角色分为游客,VIP,普通用户,管理员4个角色,除了管理员其他都可在博客首页进行登录。33系统功能需求分析系统需要包括首页功能,用户个人管理,博客空间管理,音乐管理,短消息功能,书签管理,标签管理,黑名单,相册功能,留言及评论功能,好友功能等。首页功能需求分析1首页提供最新发布文章和评论、照片、最新上传音乐,热门文章、热门站点、最新注册站点、博客每日精粹以及博主列表等最新信息,以方便用户浏览。2提供用户登陆、注册功能,能够对用户在登录时输入的数据进行可靠地有效性验证,同时对已登录的用户提供进入个人博客空间的入口,同时为用户提供安全注销按钮,保护博客用户的账户安全。3首页还提供对文章、照片、音乐、标签、好友等信息提供查询功能,方便用户快速获取所需信息。4在博客首页,可以对热门站点,热门文章,照片,音乐进行订阅操作。方便自己实时浏览他人的动态消息。用户个人资料管理用户可以点击管理来修改自己的个人资料信息,包括密码、手机号、QQ号、个人宣言、头像、邮箱等资料。日志管理功能用户可以发表自己的博文,添加文章分类,设置关键字,同时可以对自己已发表的博文进行移到垃圾箱,设为精华,修改、删除和查看评论的操作。还可以为文章提供书签保存等功能,增强个人博客的社交功能。相册功能用户通过创建相簿,然后上传自己的照片到相册,同时可以对已有图片进行保存为书签,编辑,评论,删除等操作。留言功能用户在进入其他用户的博客空间时,进行留言操作,当用户进入自己的博客空间时便会提示有几条留言未读的字样。音乐功能用户可以新建音乐盒,然后添加歌曲,包括歌曲名,专辑,歌手,链接地址,歌词,这里主要采用在线添加音乐的方式。并可进行增删改查操作,播放,下载等功能。短消息功能这里会显示管理员发布的公告,可对好友消息,陌生人消息,系统消息,我发送的消息,进行查看和删除操作,还可给自己的好友写短信操作。黑名单功能若不希望某用户访问自己,可以通过黑名单设置。管理员功能管理员通过博客网站系统提供的管理员登陆入口进入博客系统后台对系统进行管理和维护。统计今日发帖数,今日回复数,今日新注册用户,主要模块为站点管理,日记列表,图片管理,风格管理,管理员设置。可以修改某一用户的权限,如果是非管理员,便不能登录到此管理页面。好友功能用户可以通过首页进入某个用户的博客空间,通过查看博主的个人资料,便可进行加为好友操作,待对方同意后,加好友成功,便可进行留言,短消息等操作了。搜索功能用户在博客首页也可以进行关键字,日志,照片等提示来搜索,同样,进入某用户的博客空间后,可以选择搜索范围来进行搜索,搜索范围有注册用户,个人博客,日志,照片,音乐,论坛等选择。标签管理用户在自己的博客空间发表文章,上传照片的时候,输入的关键字便自动形成一个标签库,通过标签这个功能,可以快速浏览自己的某一篇文章或某一张图片。同时也支持关键字的搜索。书签管理在浏览其他用户博客空间里文章或图片时,可以添加为书签,这样以后便能快速的查看自己书签库里的文章了。同时也可添加某一个友情链接为书签,可以对书签进行删除操作。34系统用例图本博客平台系统致力于为用户提供公司招聘信息,工作机会,以及更好的展现自我才能和在线交流的平台,围绕这一核心任务,将博客系统的用户分为四类VIP、普通用户、系统管理员和游客。系统管理员拥有最高权限,以便于对后天系统进行管理和维护,而未注册的用户被视为游客,只具有浏览和评论等相关有限的功能。管理员的角色可以对系统所有功能进行管理和维护,如站点用户管理,博客文章管理,相册管理,公告管理,及管理员设置,可以修改其他用户的权限,统计相关的数据信息等,管理员用例图如图31所示管理员图31管理员用例图注册并登录成功后的用户用户游客的所有功能以及可以进入自己的博客空间,拥有文章管理,书签管理,相册管理,好友管理,评论管理及个人资料管理的模块的权限,通过管理博客空间,使自己的博客空间更加具有吸引力,登录用户用例图如图32所示登录用户博客文章管理相册管理博客用户管理公告管理管理员设置站点管理文章管理相册管理好友功能评论管理个人管理书签管理图32登录用户用例图作为非登录用户即游客拥有较少的权限功能,可以在博客首页浏览所有用户发表的最新或最热文章,浏览相册,对某篇文章发表评论,进入某用户博客空间进行浏览等,游客用例图如图33所示游客图33游客35可行性研究分析351技术可行性本博客系统最终将在分布式系统上部署并运行,并且本人电脑的配置对系统的要求足够的,所以本博客系统的功能足以被实现并正常演示。在软件方面可以用以下几种1操作系统可以用WINDOWS732位。WINDOWS作为一个优秀的WEB网络操作系统,它在发行版本中集成了许多的网络应用服务软件。2WEB服务器端。TOMCAT是一个免费的开源的SERLVET容器,在TOMCAT服务器中,应用程序的部署较为简单,只需将工程项目打包放到TOMCAT的WEBAPP留言管理论坛管理浏览文章浏览相册发表评论浏览主页目录下,TOMCAT便会自动检测到这个文件及文件下的内容,并将其解压。TOMCAT也具有传统的WEB服务器的功能处理静态HTML页面。但是与APACHE相比,它处理静态HTML页面的能力就不如APACHE。所以我采用了TOMCAT和APACHE结合的服务器,让APACHE处理静态HTML页面,而TOMCAT服务器处理JSP页面和SERVLET容器。352经济可行性本系统的开发周期持续了34个月,开发所需的硬件和软件设施都是由PC机器来满足需求,PC机系统能够承担,没有花费多少费用。现如今,互联网网络服务器性能优良,完全可以满足本博客系统为博客用户提供服务的需求。该软件系统的安装、开发工具的安装、配置、部署、测试、调试、运行和维护,都由我来实施,且费用不高。353操作可行性本系统采用目前较流行的基于B/S架构进行开发设计,用户不需要安装本系统的任何WEB软件,只需要在PC机或笔记本电脑上通过浏览器输入访问地址即可对本博客网站系统进行访问,通过系统页面为用户提供各种各样的便捷服务,创建并管理属于自己的个人博客空间。总结上述三方面进行可行性分析、研究后,我们认为该项目的可行性是OK的。36本章小结本章主要对本基于人才搜索的博客系统进行了详细的需求分析设计,并且明确了系统的设计目标和实现要求,以及本博客系统的各个功能之间的联系与功能需求。为博客系统的总体设计和详细设计提供明确的设计方向和实现目标。第4章系统总体设计41系统总体架构本系统由用户PC机端(浏览器端)、WEB服务器端和数据库持久端构成。用户通过在浏览器端输入地址便能访问本博客系统进行使用。相应的用户请求,进而为博客用户提供相应的操作功能,并与服务器进行交换数据的操作,为用户提供相关信息和持久化数据到数据库。基于B/S架构的系统具有优良的安全性能,WINDOWS防火墙可以确保系统后台数据库的安全性。对博客系统进行的配置工作都只需集中在服务器端的后台,并且所有用户端的请求都是通过DBMS来访问数据库中的数据,采用了ENCACHE缓存技术,提高了用户的体验性。使用MD5对用户密码进行加密,进而极大的降低了数据直接暴露的风险性,也降低了系统在开发和维护过程中所涉及到的成本。本系统通过采用基于B/S架构大致可以分为三部分用户客户端、WEB服务器端和数据库服务端。用户端通过接受用户的相关请求并将请求的数据发送到服务器端,WEB服务器端通过接受来自用户的请求数据并进行相关的业务逻辑处理,同时将请求信息与数据库进行比较交换,从而完成前端用户的请求操作,并把处理之后的请求数据回传给用户端的界面。数据库持久端与服务器端响应WEB服务器的各个请求,存储WEB服务器端传来的数据信息或为服务器端提供相应的请求信息数据。本博客系统的总体架构如图41所示请求用户请求VM系统界面网络数据传输处理用户PC端(浏览器端)图41系统总体架构42系统主要功能模块设计本系统根据需求将用户划分为四大类系统管理员、VIP用户、普通用户和游客。登录用户可以使用登录成功后开放的功能,如发表博客、添加音乐、留言操作、发送短消息、添加书签、上传相册和管理个人信息等功能。系统管理员拥有最高权限,可以对博客系统的所有相关信息进行统一地管理和维护,而未注册的用户则被定为游客,只具有浏览相关信息和评论文章等有限的功能。本博客系统的主要模块设计如图42所示数据更新操作WEB服务器SERVER系统业务逻辑处理数据库服务端MYSQLWEB服务端数据库服务端S2SH博网站系统图42系统主要模块关系图用户通过注册登录并开通个人博客空间之后,可以选择日志分类,并发表相应分类的博客文章。同时可以通过提供的文本编辑器对文章格式进行编辑、保存此文为书签、移到垃圾箱、一移到草稿箱、设为精华等功能操作。文章管理模块用户可以查看自己全部的博客文章,同时有最新文章和热门日志的分类,并对其进行删除,修改,保存书签等管理操作。评论留言模块用户可以管理自己博客空间中的评论和留言,同时也可给好友发送留言和短消息。相册管理可以通过创建相簿,上传照片,并可以对照片进行编辑,删除,修改相簿属性,移动相簿,删除相簿等功能操作。个人信息管理模块用户可以对自己的基本资料进行查看和修改操作,例如游客管理登录用户管理VIP用户管理系统管理员文章相册浏览发表评论文章相册管理好友短消息管理音乐留言管理个人信息管理书签论坛管理站点管理日志列表管理图片管理风格管理公告管理管理员设置修改个人资料、上传头像、个人宣言、地区和联系信息等。用户注册模块新用户通过填写用户基本信息、填写个人空间、注册成功三个步骤,注册属于自己的博客账号,开通个人博客空间,以便使用本博客网站系统,注册模块需要对用户输入的信息进行规则性的校验,以保证用户所注册的信息符合博客系统的统一要求。43系统流程当用户作为游客身份或者还未进行登录进入本博客网站时,便会跳到博客首页,在首页,用户可以浏览最新发表的文章,最近上传照片,博客每日精粹,热门博客,最新注册的博客用户以及友情链接,用户可以通过选择相关类型来搜索。同时也可以点击某个用户进入他的博客空间进行文章,相册,留言查看,加对方为好友等功能,具体的博客系统流程如图43所示开始注册界面填写个人基本信息填写个人空间信息博客系统登录界面输入用户名输入口令保存时间博客网站系统首页N图43系统功能流程图当用户在博客首页登录成功后,可以点击进入个人博客空间。用户可以发表文章,上传照片,添加音乐,给好友留言,管理书签等操作,还可以对用户自己的个人资料进行查看和修改。如果是未登录用户,则进不来博客空间,系统会在用户进行所有管理操作之前对其进行是否已登录的拦截验证,用户只有处在已登录状态下,才可以对自己的博客空间进行管理操作,其系统流程如图44所示Y开始个人博客空间注册信息是否合理用户注册信息保存到数据库用户名密码是否正确N登录到博客系统进入博客空间Y退出博客系统结束用户注册信息保存到数据库Y用户名和口令是否正确Y图44个人博客空间管理44系统数据库设计不管什么样的项目,合理地设计数据库,不仅可以提高数据库对各种数据的执行效率,更能有助于提高系统访问并处理相关数据的效率,从而提高用户的体验性。针对系统性能的提升,增强用户的体验有着非常重要的作用。所谓概念模型,就是对信息世界进行建模,其表示方法有很多,其中最为常用的就是实体联系模型,也称ER模型,它是用ER图来描述现实世界的概念模型。下列ER图清晰简洁地描述出了本博客系统实体与其属性之间的关系。本系统的数据库ER图,如图45所示结束管理文章、相册发表是否已经登录系统登录界面NN管理自己的博客空间图45系统数据库ER图441数据库表实体属性图1用户信息DLOG_USER表用于保存注册用户的个人基本信息以及权限等信息,由于本系统用户角色有管理员,IVP用户,普通用户,游客,所以通过用户表来作为本博客系统区分不同用户,为不同权限用户提供不同服务的依据,如图46所示系统管理员管理管理普通用户VIP用户管理好友添加个人资料注册浏览浏览者留言音乐日志、标签书签用户用户名密码昵称用户名QQ手机注册时间用户角色用户名图46用户信息实体属性图2文章信息表DLOG_DIARY用于存储用户发布的文章的信息,包括博主名称、博主URL、文章标题、文章内容、文章标签、文章评论数、文章浏览数、文章大小、发布时间等信息,如图47所示图47博文信息实体属性图3评论留言BLOG_MESSAGE信息表,用于存储文章、日志和相册中的评论信息,给某个用户进行留言的信息,包括所评论的相应博文的ID、评论用户名、评论内容和时间、留言人、给谁留言、留言内容、留言时间、等,如图48所示邮箱个人简介出生日期性别博客文章博主URL修改时间文章类型文章大小发布时间博主名称文章标题文章内容文章标签评论数浏览数文章引用评论留言文章ID评论人评论内容评论ID留言人ID留言内容留言时间被留言人ID评论时间图48评论信息实体属性图4相册信息表存储包括用户ID,相簿ID、照片ID、相簿名称、相簿描述、照片数量、相册类型、访问密码、创建时间等所上传图片的信息,如图410所示图410相册信息实体属性图5系统公告表BLOG_BULLETIN主要存储管理员发布的公告信息,包括公告ID、站点ID、公告类型、发布时间、公告标题、公告内容等信息,图415所示图415公告信息实体属性图442数据库逻辑结构图站点信息表PK站点ID用户IDU1博客类型ID站点名称站点URL站点标题详细信息站点LOGO创建时间站点类型相册信息表PK相册IDU1照片IDU3站点IDU2博客类型ID相册名称相册描述照片数量相册类型访问密码照片排序创建时间博客书签表PK书签IDU1站点IDU2用户ID所属用户ID所属类型书签标题书签URL创建时间个人相册相簿ID相簿名称相簿描述用户ID照片ID相册类型访问密码创建时间照片数量公告信息表公告ID公告类型站点ID公告标题公告内容发布时间1M1M11M系统公告表PK公告IDU1站点ID公告类型公告标题公告内容公告状态发布时间博客用户表PK用户IDU1站点ID用户名密码用户角色用户昵称性别出生日期邮箱地址居住地址注册时间用户头像文章信息表PK文章IDU2站点IDU3用户IDU1文章分类ID博主博主URL文章标题文章内容文章大小文章标签发表时间短消息表PK短消息IDU1接收用户ID发送用户ID发送用户名发送内容发送时间消息状态阅读时间音乐信息表PK音乐IDU1音乐盒IDU3站点IDU2用户ID歌曲名歌词歌手音乐URL音乐类型添加时间访问量留言信息表PK留言IDU1站点IDU2用户ID留言内容留言时间回复内容回复时间好友信息表PK用户IDPK好友ID好友类型好友角色添加时间分组ID45本章小结本章节主要明确了博客系统的总体设计目标和任务要求,根据上面已经确定了的需求分析,以及对系统总体架构的叙述,系统的各个主要功能模块设计,博客系统流程以及各个数据库表的数据库设计进行了详细而全面的描述,为后面的详细设计提供了全面而完美的技术支持。从而开发出少BUG的系统。第5章系统详细设计51系统主要功能模块设计511登陆、注册功能用户在博客系统首页浏览相关信息时,可以通过点击登录进入登录界面,用MMMM户输入用户名和口令之后,系统将用户的登陆信息与数据库的用户信息表中的用户名和口令进行验证,将结果返回到前台页面显示给用户。若登录信息错误,则提醒用户用户名或密码错误,重新登录。登录成功后则可进入自己的个人博客空间,进行相关操作的管理。注册界面是游客或未注册用户首访问的界面,通过博客注册界面填写个人基本信息,填写个人空间信息,页面会通过AJAX动态验证用户名、密码、邮箱、QQ等是否符合基本要求,若不符合要求则提示用户重新输入相关信息,否则,则点击提交按钮,系统将用户信息存入数据库,然后自动登录跳到首页,用户便可进入个人博客空间进行管理。512博客网站首页管理当用户进入博客首页时,可作为游客身份浏览最新发布的文章,最新上传的图片,博客每日精粹,热门博客,查看最新注册的博主信息或者浏览某个用户的博客空间,同时也可搜索相关的信息。也可进行登录后,进入自己的博客空间进行管理。513个人博客空间管理个人空间首页展示个人发布的最新文章和热门日志,用户可以点击浏览已经发布的全部博客文章,以及其他用户的评论。用户可以对相册,音乐,留言以及个人资料进行管理,添加好友,向好友发送短消息等操作。对自己的博客空间进行相应的管理。514博客文章管理用户通过点击写文章。在发布界面依次输入文章标题,选择分类或新添分类,选择背景音乐,设置关键字,插入相册图片,也可上传附件,添加为书签,同时可设置心情系数和天气状况等功能,同时通过引用地址来动态发布文章,增加文章的吸引力和可读性,使用户发表的文章更加多样化、个性化。515书签管理用户可以把自己发表的文章添加到书签库里,同时在浏览其他用户的文章时,也可添加为书签,在个人博客空间里,可以查看自己的书签或删除书签。通过书签可以快速便捷的浏览相应文章,照片等信息。516用户基本资料、相册管理用户可以浏览和修改自己的基本信息,包括密码,邮箱,个人网址,个人宣言等资料。同时对自己文章中的所有评论,好友留言等信息,用户都有权限进行删除等管理操作。用户通过相册功能,创建相簿,上传照片到相簿,编辑照片,或删除已有图片。517系统后台管理博客系统后台只对管理员或者部分功能对VIP用户开放而普通用户没有权限,以便对本系统进行管理和维护,充分保证用户能更好的使用本系统。为管理员提供对用户信息、文章、相册和公告等信息的统一管理操作,统计站点的排行榜,统计每日,每周,每月的注册用户或相关统计。图51系统管理员业务流程图52数据库设计实现1用户表BLOG_USER,用于存储注册用户的个人信息,如表51所示表51用户信息表属性类型长度说明允许空主/外键USER_IDINT11用户ID否主键SITE_IDINT11站点ID否USERNAMEVARCHAR40用户名否PASSWORDVARCHAR50用户密码否SEXSMALLINT6性别否ADDRESSVARCHAR200住址否EMAILVARCHAR50邮箱允许PORTRAIT_ICONCHAR100头像允许2文章信息表BLOG_DIARY,用于存储用户发布的文章信息,如表52所示表52文章信息表属性类型长度说明允许空主/外键DIARY_IDINT11文章ID,自增长否主键SITE_IDINT11站点ID否外键CATALOG_IDINT11博客分类否外键TITLEVARCHAR200文章标题否CONTENTTEXT文章内容否WRITE_TIMEDATETIME添加时间否USER_IDINT11用户ID否外键VIEW_COUNTINT11浏览量否REPLY_COUNTINT11回复量否TAGSVARCHAR100文章标签允许DIARY_SIZEINT11文章大小否AUTHORVARCHAR20文章作者否DOARY_TYPESMALLINT6文章日志分类否3评论信息表BLOG_REPLY,存储用户提交的评论信息,如表53所示表53评论信息表属性类型长度说明允许空主/外键IDINT11评论信息ID、自增长否主键USER_IDINT11用户ID否外键DIARY_IDINT11文章表ID否外键AUTHORVARCHAR20文章作者否CONTENTVARCHAR100评论信息是CREATEDATEDATETIME20发表评论的时间是4文章分类信息表BLOG_CATALOG,如表54所示表54文章分类信息表属性类型长度说明允许空主/外键CATALOG_IDINT11分类ID否主键CATALOG_NAMEVARCHAR20分类名称否CATALOG_DESCVARCHAR200文章分类描述允许CREATE_TIMEDATETIME创建时间否ARTICLE_COUNTSMALLINT6分类数量否VERIFYCODEVARCHAR20访问密码允许5相册信息表BLOG_ALBUM,存储用户上传的照片信息,如表55所示表55相册信息表属性类型长度说明允许空主/外键ALBUM_IDINT11相册ID,自增长否主键PHOTO_IDINT11照片ID否SITE_IDINT11站点ID否外键ALBUM_NAMEVARCHAR40相册名称否ALBUM_DESCVARCHAR200相册描述允许PHOTO_COUNTINT11照片总数否ALBUM_TYPEINT11相册类型否VERIFYCODEVARCHAR20访问密码允许CREATE_TIMEDATETIME创建时间否6系统公告信息表BLOG_BULLETIN,存储系统公告信息,如表56所示表56系统公告信息表属性类型长度说明允许空主/外键BULLETIN_IDINT11公告ID,自增长否主键SITE_IDINT11站点ID否外键BULLETIN_TYPEINT11公告类型否PUB_TIMEDATETIME发布时间否STATUSSMALLINT6发布状态否TITLEVARCHAR200公告标题否CONTENTTEXT公告内容否7用户好友列表BLOG_FRIEND,存储用户所有的好友信息,如表57所示表57用户好友列表属性类型长度说明允许空主/外键USER_IDINT11用户ID否主键FRIEND_IDINT11好友ID否主键FRIEND_TYPEINT11好友类型否FRIEND_ROLEINT11好友角色否ADD_TIMEDATETIME添加时间否FRIEND_GROUP_IDINT11好友分组ID否8音乐信息列表BLOG_FRIEND,存储用户上传的音乐信息,如表58所示表58音乐信息列表属性类型长度说明允许空主/外键MUSIC_IDINT11音乐ID,自增长否主键MUSIC_BOX_IDINT11音乐盒ID允许外键USER_IDINT11用户ID否外键SITE_IDINT11站点ID否外键MUSIC_TITLEVARCHAR100音乐名称否MUSCI_WORDTEXT歌词允许SINGERVARCHAR50歌手允许URLVARCHAR200音乐链接地址允许CREATE_TIMEDATETIME创建时间允许53系统类图及交互图DIARYFORM类表示博客文章信息。其中CATALOG_ID、AUTHOR、TITLE、CONTENT等属性分别表示文章分类、作者、发布博文的标题、内容等信息,并有对应属性的GET和SET方法。DIARYDAO类中的UPDATEARTICLE、ADDARTICLE、DELETEARTICLEBYID等方法实现对文章信息在数据库中的增删改查操作。通过调用DIARYFORM类,文章相关信息封装到DIARYFORM类中,然后将文章信息持久化到数据库。DIARYACTION类对应具体文章操作的业务逻辑。DOAUTOCREATECATALOGANDWRITE、DOUPDATEARTICLE、DODELETEFROMTRASH等方法实现对文章增删改的逻辑操作,通过接受从前台页面传来的请求后进行逻辑业务处理,然后通过调用DIARYDAO类实现对底层数据库的数据访问操作。类图以及各个方法之间的关系如图53所示图53涉及文章操作的类图及相互间的关系USERLOGINSERV

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论