1、青岛理工大学毕业设计(论文)1青岛理工大学毕 业 设 计(论 文)题目 基于人才搜索的博客系统的设计与实现 学生姓名: 指导教师: 计算机工程 学院软件工程专业 班青岛理工大学毕业设计(论文)2年 月 日摘 要在互联网迅速发展,生活压力急剧加大的今天,人们最大的希望就是找到一份好工作来满足当前的现状,而公司又急缺相关行业的人才,虽然现在的招聘平台特别多,但是不足以招聘到更适合的人才,又不知道应聘者的实际水平,由此,基于人才搜索的博客网站系统应运而生。本博客网站系统最核心的目的就是给广大学习爱好者和应聘者提供一个自由学习的开放平台,通过这样一个交流学习平台,用户可以相互学习,相互弥补自己的不足,
2、同时给别的用户分享自己会的技术,管理员会定期发布一些公司的招聘信息和新技术的链接,让用户能够在最快时间了解到最新信息。同时本博客网站系统还提供了相册,音乐,好友,短消息,书签等功能,让所有用户能方便快捷的进行交流。本次论文的设计是多用户博客信息平台系统,主要满足喜欢互联网技术的用户对互联网在线交流的需求,为用户提供各种各样的丰富的功能。在项目中,通过使用了类之间的继承与接口,实现了各个类之间既有一定的关系又降低了耦合度,该博客系统主要为技术类的用户而用,人们可以发表自己的技术类文章,或者在工作中遇到的 BUG,然后怎么解决的,通过博客文章的方式总结起来,既防止自己以后遇到相同的问题,同时也帮助
3、了别人,通过这样一种相互学习,相互交流的方式,找到更专业的技术人士,人们可以更多方面的展示自己,让更多的用户可以通过博客平台进行交流与学习,促进人们的网络社交生活变得更加丰富多彩。同时也激励了一些爱学习互联网技术的人才,通过在博客网站上自学的方式来更加的充实自己,获得更高的工资,走向人生的巅峰。通过系统流程图,E-R 图,实体联系图,模块关系图,类图来充分展示出本系统的模块化结构组织,更加形象化的描述了本系统的核心功能和其他功能,充分考虑到了用户体验和系统的性能等问题,使用了目前最流的相关开发技术,使用户在使用的过程中不会青岛理工大学毕业设计(论文)3产生一些低级的问题,为那些爱好学习者和求职
4、者提供了一个全新的平台,在娱乐中学习,在学习中学到更多知识,同时找到自己称心的工作。关键词:Java,MyEclipse,Struts2+Spring+Hibernate,Velocity,Ehcache,MySQLABSTRACTWith the rapid development of Internet technology, the Internet in the modern life has played an important role.People can obtain abundant science and technology information through th
5、e network at the same time, also hope to through the platform to the Internet more and more people show their good side.Interested in technology, I browse or learn the classic blog articles, meet more like-minded friends online.Therefore, the network blog this communication tool arises at the histor
6、ic moment.Modern people through the blog, can be published on the Internet platform of personal knowledge, greatly enriched the network of modern life. In todays rapid development of computer network, network blog platform has become people to release all kinds of Internet information, online learni
7、ng, one of the essential way has become a kind of simple and quick, save time and effort of online communication platform.Nowadays at home and abroad have been studying the blog can how much benefits to people. Them by analyzing the present situation of network blog system and the users use of style
8、, USES the most popular web programming technology, from the angles of the client and the server to the performance requirements of blog sites, using EnCache technology, users in the use of this web site experience is good,better optimization of blog, bring brand-new user experience. This project ba
9、sed on Struts + Spring + Hibernate framework technology of multi-user blog information platform system, blog system based on SSH framework to implement can have better security (such as to prevent SQL injection, URL rewriting, data Cache Cache) code, the background is mostly adopts the way of the in
10、terface shows the function of flexible 青岛理工大学毕业设计(论文)4scalability and JAVA language has better interoperability. This paper through to the blog current situation and future development, and related functions, this paper expounds the key personal blog overall architecture design and implementation pr
11、ocess.KEYWORDS:Java,MyEclipse,Struts2+Spring+Hibernate,Velocity,Ehcach,MySQL目录1.1 研究背景 61.2 国内外研究现状 61.3 本文研究的主要内容 71.4 论文组织结构 8第 2 章 课题关键技术可行性研究 .92.1 Ehcache 技术介绍 92.2 S2SH 框架介绍 .92.3 MySQL Server 技术介绍 112.4 MyEclipse 开发工具介绍 .122.5 本章小结 .12第 3 章 系统需求分析 123.1 系统开发条件 .133.2 目标设计要求 .133.3 系统功能需求分析 .1
12、43.4 系统用例图 .153.5 可行性研究分析 .173.5.1 技术可行性 .183.5.2 经济可行性 .183.5.3 操作可行性 .183.6 本章小结 .19第 4 章 系统总体设计 19青岛理工大学毕业设计(论文)54.1 系统总体架构 .194.2 系统主要功能模块设计 .204.3 系统流程 .224.4 系统数据库设计 .244.4.1 数据库表实体属性图: .254.4.2 数据库逻辑结构图 .274.5 本章小结 .28第 5 章 系统详细设计 285.1 系统主要功能模块设计 .295.1.1 登陆、注册功能 .295.1.2 博客网站首页管理 .295.1.3 个
13、人博客空间管理 .295.1.4 博客文章管理 .295.1.5 书签管理 .305.1.6 用户基本资料、相册管理 .305.1.7 系统后台管理 .305.2 数据库设计实现 .315.3 系统类图及交互图 .345.4 本章小结 .37第 6 章 系统功能实现 386.1 Hibernate 配置数据库 .386.2 Struts2 配置文件 .426.3 Ehcache 缓存文件配置 .436.4 博客登录管理 .456.5 用户注册管理 .466.6 文章发表及管理 .476.7 留言及评论管理 .506.9 博客系统后台管理 .53第 7 章 系统测试 587.1 测试目的 .58
14、青岛理工大学毕业设计(论文)67.2 测试用例执行结果 .59第 8 章 结论与展望 608.1 结论 .608.2 展望 .61致谢 62参考文献 62第 1章 绪 论1.1 研究背景WEBLOG 即为网络博客,也称其为网络日志。早在十八世纪初,通过互联网平台发表博客的思想就已经被提出来了,但到了十九世纪才真正开始流行起来。从刚开始的仅有不到一万的用户到现在各种各样的博客网站系统纷纷涌现于当今社会。自 2006 年开始,在国内如新浪博客、网易博客、天涯博客等等各大门户网站,纷纷宣布即将进入博客时代,并不断涌现出一批继新浪博客、网易博客等聚集千万用户的博客系统,目前国内已有数十家大型的博客网络
15、站点。博客是继 E-MAIL(电子或 QQ 邮箱)、BBS (论坛系统)、ICQ (网络即时聊天)之后出现的第 4 种最新的网络交流和生活方式。Blog 网站现在也在教育方面、金融方面、公司内部、医疗方面等领域都得到了很大的发展,它将互联网从过去的专门通讯、在线交流等功能进一步强化,使其更加个性化、界面化、开放化、实时化、关注用户体验、全球化,把个人所学信息共享到互联网。通过分析并研究对比国内知名的博客网站系统,分析其做的成熟的原因和吸引用户的主流功能,设计实现一个能让用户更好的充实自己、展示自己的平台。此系统采用 Struts+Velocity+Hibernate 框架进行本系统的开发,以目
16、前现有博客系统的功能为基础,力求设计一个基于人才培养,人才搜索的博客平台。1.2 国内外研究现状青岛理工大学毕业设计(论文)7截止目前,全世界的博客用户已经超过三亿的数量了,博客平台活跃程度进一步地提高,经常更新、浏览博客的用户比例为 68.8%,活跃的博客用户规模近达到 1.28 亿。在我国,博客网站系统以 48%的增长率在增长,博客网站已经成为人们在网络生活中所不可缺少重要的组成部分,与网络聊天系统并驾齐驱成为当今的热点。由此可见,博客系统已经在人们的日常生活中发挥着极其重要的作用,它在满足博客用户对网络生活不断增长的需求的同时,博客也正在以其本身的热度来改变着人们的交流方式和生活方式,加
17、快并丰富了互联网信息传播的步伐和途径。时代当下,博客网站的影响力已毋庸置疑,在当今的信息社会中发挥的巨大作用也在日益渐增。在中国,博客网站系统的研究已具有一定的规模性,通过长时间的分析研究发展现状可以知道,我国的博客系统研究具有如下几个特点:1. 博客网站对传统媒介的影响力是研究分析的热点之一。博客的蓬勃发展,在很大程度上对传统媒体产生了众多的影响,但两者者之间就必定存在着一定程度上的关联,进而萌生了研究二者密切关系的话题。2. 网络技术的背景成为突破研究的方面。根据互联网信息和科技技术的飞速发展,便促进博客系统在成长和创新方面得到了升华,关于博客网络技术背景的研究则更加侧重于如何让博客在众多
18、热门同行的激烈竞争中吸引和招揽更多的博客用户并且进一步地扩大博客市场。3. 博客网站系统的研究范围具有广泛性。它正逐渐地渗透到当今社会的众多领域中去,在最近几年已经有越来越多的研究学者开始从文化、宗教、医疗、法律、教育、金融行业以及社交等方面对博客进行全面的研究。总之,博客的系统研究已经从对博客系统本身的应用实用性研究发展到对广大用户、社会发展的研究,随着对博客的研究的不断全面发展和系统深入,必将把博客推动到一个全新的新巅峰。1.3 本文研究的主要内容现如今,博客完全突破了最原始的功能,渐渐走进社会的众多领域,然而博青岛理工大学毕业设计(论文)8客现在不仅仅只是为了展示个人风采的平台。本系统除
19、了能让用户发表文章,上传图片,在线听音乐之外,还能寻求更多更好的工作机会,站长通过后台的统计,看哪一个用户擅长于哪一方面,根据公司的需求,便会给此用户一个工作的新机会。同样可以向站长咨询相关的招聘信息。通过这样一个平台,既节约了人们的时间,同时通过与其他用户进行学术上的交流又能学到更多的新技术,新知识。本论文设计的人才搜索博客将更加关注用户每日所发表的文章,通过其文章发表数,访问量等来衡量其 IT 专业技能。同时注重博客用户的社交需求,本系统为用户提供了发表文章,发表评论,留言管理,个人信息管理,短消息功能,个人相册功能,还可以为用户提供书签保存,添加好友,黑名单等社交功能。针对本次论文的研究
20、内容,系统的设计会将文章的发布、论坛区等展示个人风采与技能放在系统功能的重要位置,以便用户登录后进入个人博客空间就可以方便的发表文章日志和相册等个人信息,充分强调博客功能的重要性和便捷性。同时把文章、相册、留言、好友以及评论等信息的管理功能将放在操作便捷的位置,引导用户随时关注个人基本信息的管理,及时删除掉无用信息,增强个人博客空间的吸引力。使本系统具有更高的安全性和稳定性(如防 SQL 注入,ENCHACE 缓存),以及更优良的功能层次的扩展性。1.4 论文组织结构第 1 章 绪论。首先阐述了本次课题提出的研究背景和目标,包括博客网站系统的产生原因和发展历史。掌握当今博客网站的发展状况,最后
21、对博客论文的主要研究内容与目的和组织结构进行全面的简述。第 2 章 课题关键技术的可行性研究。通过介绍了本系统在开发的过程中所用到的关键技术,主要用到了 Java 语言,Java EE 平台中的 S2SH 框架技术,MySQL Server5.5 数据库, SQLyog 数据库操作界面, MyEclipse10.8 开发工具,Tomcat6.8 服务器,FCKEditor 编辑器以及 B/S 开发模式等相关技术。第 3 章 系统需求分析。本章主要对基于人才搜索的博客系统进行了详细的需求分析,明确设计目标和整体要求,系统模块之间的各个功能需求。为博客系统青岛理工大学毕业设计(论文)9的总体设计和
22、详细设计提供了明确而清晰的设计方向。第 4 章 系统总体设计。本章节主要是明确博客系统的总体设计目标,根据分析阶段的需求分析,博客系统流程以及数据库的分析与设计进行全面性地描述,为博客系统的详细设计奠定了充分的铺垫。第 5 章 系统详细设计。本章节在前期的系统需求分析和系统总体设计的基础上,对博客系统各个功能模块和数据库进行了详细而全面的系统设计,明确各模块之间的联系以及模块功能的界面设计,尤其是博客系统的核心功能的具体实现,成为后期编程工作的主要实现依据和方向。第 6 章 系统功能实现。本章主要是以系统的详细设计为基础,给出博客系统的具体设计和实现代码,至此本基于人才搜索的博客系统设计开发工
23、作即将接近尾声,最后对本系统进行全面调试、白盒测试,黑盒测试,进一步全面完善本系统。第 7 章 结论与展望。对本次论文和系统进行深刻而全面的总结,并对其中需要完善的部分进行学术性展望。第 2章 课题关键技术可行性研究2.1 Ehcache技术介绍EhCache 是一个纯 Java 的进程内缓存框架,具有快速、精干等特点,是Hibernate 中默认的 CacheProvider。Ehcache 是一种广泛使用的开源 Java 分布式缓存。主要面向通用缓存,Java EE 和轻量级容器。Ehcache 主要的特性有快速、简单、多种缓存策略、缓存数据有两级:内存和磁盘,因此无需担心容量问题,缓存数
24、据会在虚拟机重启的过程中写入磁盘,可以通过 RMI、可插入 API 等方式进行分布式缓存,具有缓存和缓存管理器的侦听接口,支持多缓存管理器实例,以及一个实例的多个缓存区,提供 Hibernate 的缓存实现。青岛理工大学毕业设计(论文)102.2 S2SH框架介绍S2SH 即 Struts2 + Spring + Hibernate 3 个开源框架的组合,如图 2.1 所示:域模块层 D o m a i n M o d e l B u s i n e s s O b j e c t s表 示 层S t r u t s - m v c业 务 逻 辑 层 数 据 持 久 层表 示 层A c t i
25、 o n S e r v l e tS t r u t s A c t i o nS p r i n g I o cT r a n s a c t i o nB u s i n e s sS e r v i c e c l a s sH i b e r n a t e 会 话 管 理H i b e r n a t e连 接 池查 询 语 支 持 和 其他 H i b e r n a t e 服 务D A OS e r v ic eL o c a to r图 2.1 SSH 框架架构图1. Struts2 是一个基于 MVC 的框架,通过 Struts2 的配置文件可以很好的实现模型层(Mode
26、l)与视图层( View)的分离,Struts2 的 MVC 设计模式让编程者的逻辑思维变得更加清晰,效率更高。如图 2.2 所示。图 2.2 Struts 组件结构图2. Spring 是一个轻量级的开源框架,提供 AOP 实现,IOC 控制,DAO/ORM(对象关系映射)支持,Web 集成等功能。AOP 的目的是分离系统中的层次结构,使其青岛理工大学毕业设计(论文)11独立于业务逻辑的实现,使得每个层相互关联单不相互影响。Spring 的 IOC 和 AOP 降低了项目开发中的耦合度,如图 2.3 所示。图 2.3 Spring 框架模块3. Hibernate 是基于 JDBC 的持久化
27、解决的一个框架,是一个独特的“对象关系映射“框架。封装了 JDBC 连接数据库的代码。采用 Hibernate 作为持久层好处在于:可以完全地以面向对象的思想方式进行博客系统分析和设计,如图 2.4 所示。图 2.4 Hibernate 完整体系结构青岛理工大学毕业设计(论文)122.3 MySQL Server技术介绍MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,这样便增加了存取速度并提高了灵活性。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。MySQL 是真正的多用户、多线程的 SQL 数据库
28、的服务器。MySQL 是以客户机/ 服务器结构实现的,是由服务器守护程序 mysqld 和许多不同的客户程序和程序库构成的。为多种编程语言提供了 API。支持多线程 ,充分利用 CPU 资源。优化的 SQL 查询算法,有效地提高查询速度。它使得数据的存储、删除、更新和存取数据变得更加容易。2.4 MyEclipse开发工具介绍MyEclipse 企业级工作平台(MyEclipse Enterprise Workbench,简称MyEclipse)利用它我们可以在数据库 Mysql 和 JavaEE 的开发、部署以及应用程序服务器的整合方面能极大的提高工作效率和节约时间。完整地支持HTML,St
29、ruts2,JSP ,CSS ,Javascript ,Spring4, SQL,Hibernate3 等多种框架或技术。我们可以利用它在数据库和 Java 开发、发布以及 应用程序与服务器的整合等方面极大的提高开发者的工作效率,是功能丰富的 Java EE 集成开发环境。2.5 本章小结第 2 章介绍了本系统在开发过程中所用到的关键技术或插件,主要包括 Java语言,J2EE 平台中的 S2SH 框架,MySQL Server 数据库,MyEclipse10 开发工具,Ajax 异步刷新技术, Ehcache 缓存技术,Velocity 开发模板,Tomcat 服务器以及B/S 开发模式等相
30、关技术。青岛理工大学毕业设计(论文)13第 3章 系统需求分析3.1 系统开发条件PC 配置:CPU:Intel(R) Core(TM) i3 M380 2.53GHZ 2.53GHZ内存: 2.00GBWeb 服务器:Apache-tomcat-7.0.50操作系统:Microsoft Windows 7 旗舰版 32 位开发工具:MyEclipse10,Firefox 最新版浏览器数据库:MySql Server3.2 目标设计要求本系统的设计要求是采用 MyEclipse10 工具作为开发平台,以 MySQL Server作为数据库,Velocity 开发模板,使用 S2SH 开源框架技
31、术并基于 B/S (Browser/Server)模式来对博客系统进行设计开发。本博客系统的设计目标是充分利用 S2SH 的框架优势,开发一个具有界面友好的、注重安全性的、用户体验良好的、易于扩展和维护、结构开放的基于人才搜索的博客网站系统。界面设计要求:1.博客首页:首页的界面设计在保证功能齐全的同时,尽量做到简洁不冗余,为博客用户提供友好的界面交互,更加注重用户体验。应当在突出个人才能展示的同时,兼顾博客的社交功能,为博主提供博客好友的动态、最近访问、最新评论等信息。2. 注册界面:注册分为三个步骤,填写用户基本信息,填写个人空间信息,青岛理工大学毕业设计(论文)14注册成功。注册界面在做
32、到简洁而美观的同时,通过采用 JavaScript 技术对用户输入的注册信息进行验证,保证用户注册信息的合法性和安全性。3. 主页提供最新发布文章、最新上传照片、博客每日精粹、热门博客,最新注册站点,热门文章站点,热门用户站点等信息展示,同时为用户显示短消息和友情链接,便于与他人进行交流。用户可以在浏览他人博客空间的时候,可以对其文章进行书签保存等操作。用户可以在他人的博客空间添加好友,以此实现交友功能,同时也可进行黑名单操作。4. 博客空间首页,博客空间首页当为用户提供用户查询浏览博客文章、日历、公告、留言、发送短消息等功能,同时管理自己博客空间的设置,以满足用户上网的需求,为用户提供更方便
33、快捷的网络平台服务。5.登陆界面:由于本博客系统角色分为游客,VIP,普通用户,管理员 4 个角色,除了管理员其他都可在博客首页进行登录。3.3 系统功能需求分析系统需要包括首页功能,用户个人管理,博客空间管理,音乐管理,短消息功能,书签管理,标签管理,黑名单,相册功能,留言及评论功能,好友功能等。首页功能需求分析:1. 首页提供最新发布文章和评论、照片、最新上传音乐,热门文章、热门站点、最新注册站点、博客每日精粹以及博主列表等最新信息,以方便用户浏览。2. 提供用户登陆、注册功能,能够对用户在登录时输入的数据进行可靠地有效性验证,同时对已登录的用户提供进入个人博客空间的入口,同时为用户提供安
34、全注销按钮,保护博客用户的账户安全。3. 首页还提供对文章、照片、音乐、标签、好友等信息提供查询功能,方便用户快速获取所需信息。4.在博客首页,可以对热门站点,热门文章,照片,音乐进行订阅操作。方便自己实时浏览他人的动态消息。青岛理工大学毕业设计(论文)15用户个人资料管理:用户可以点击管理来修改自己的个人资料信息,包括密码、手机号、QQ 号、个人宣言、头像、邮箱等资料。日志管理功能:用户可以发表自己的博文,添加文章分类,设置关键字,同时可以对自己已发表的博文进行移到垃圾箱,设为精华,修改、删除和查看评论的操作。还可以为文章提供书签保存等功能,增强个人博客的社交功能。相册功能:用户通过创建相簿
35、,然后上传自己的照片到相册,同时可以对已有图片进行保存为书签,编辑,评论,删除等操作。留言功能:用户在进入其他用户的博客空间时,进行留言操作,当用户进入自己的博客空间时便会提示有几条留言未读的字样。音乐功能:用户可以新建音乐盒,然后添加歌曲,包括歌曲名,专辑,歌手,链接地址,歌词,这里主要采用在线添加音乐的方式。并可进行增删改查操作,播放,下载等功能。短消息功能:这里会显示管理员发布的公告,可对好友消息,陌生人消息,系统消息,我发送的消息,进行查看和删除操作,还可给自己的好友写短信操作。黑名单功能:若不希望某用户访问自己,可以通过黑名单设置。管理员功能:管理员通过博客网站系统提供的管理员登陆入
36、口进入博客系统后台对系统进行管理和维护。统计今日发帖数,今日回复数,今日新注册用户,主要模块为:站点管理,日记列表,图片管理,风格管理,管理员设置。可以修改某一用户的权限,如果是非管理员,便不能登录到此管理页面。好友功能:用户可以通过首页进入某个用户的博客空间,通过查看博主的个人资料,便可进行加为好友操作,待对方同意后,加好友成功,便可进行留言,短消息等操作了。搜索功能:用户在博客首页也可以进行关键字,日志,照片等提示来搜索,同样,进入某用户的博客空间后,可以选择搜索范围来进行搜索,搜索范围有:注册用户,个人博客,日志,照片,音乐,论坛等选择。标签管理:用户在自己的博客空间发表文章,上传照片的
37、时候,输入的关键字便自动形成一个标签库,通过标签这个功能,可以快速浏览自己的某一篇文章青岛理工大学毕业设计(论文)16或某一张图片。同时也支持关键字的搜索。书签管理:在浏览其他用户博客空间里文章或图片时,可以添加为书签,这样以后便能快速的查看自己书签库里的文章了。同时也可添加某一个友情链接为书签,可以对书签进行删除操作。3.4 系统用例图本博客平台系统致力于为用户提供公司招聘信息,工作机会,以及更好的展现自我才能和在线交流的平台,围绕这一核心任务,将博客系统的用户分为四类:VIP、普通用户、系统管理员和游客。系统管理员拥有最高权限,以便于对后天系统进行管理和维护,而未注册的用户被视为游客,只具
38、有浏览和评论等相关有限的功能。管理员的角色可以对系统所有功能进行管理和维护,如站点用户管理,博客文章管理,相册管理,公告管理,及管理员设置,可以修改其他用户的权限,统计相关的数据信息等,管理员用例图如图 3.1 所示:管理员图 3.1 管理员用例图注册并登录成功后的用户用户游客的所有功能以及可以进入自己的博客空间,拥博客文章管理 相册管理 博客用户管理 公告管理 管理员设置 站点管理 青岛理工大学毕业设计(论文)17有文章管理,书签管理,相册管理,好友管理,评论管理及个人资料管理的模块的权限,通过管理博客空间,使自己的博客空间更加具有吸引力,登录用户用例图如图 3.2 所示:登录用户图 3.2
39、 登录用户用例图作为非登录用户(即游客) 拥有较少的权限功能,可以在博客首页浏览所有用户发表的最新或最热文章,浏览相册,对某篇文章发表评论,进入某用户博客空间进行浏览等,游客用例图如图 3.3 所示:游客图 3.3 游客文章管理 相册管理 好友功能 评论管理 个人管理 留言管理 书签管理 论坛管理 浏览文章 浏览相册 发表评论 浏览主页 青岛理工大学毕业设计(论文)183.5 可行性研究分析3.5.1 技术可行性本博客系统最终将在分布式系统上部署并运行,并且本人电脑的配置对系统的要求足够的,所以本博客系统的功能足以被实现并正常演示。在软件方面可以用以下几种:1. 操作系统可以用 Windows
40、7 32 位。Windows 作为一个优秀的 WEB 网络操作系统,它在发行版本中集成了许多的网络应用服务软件。2. web 服务器端。Tomcat 是一个免费的开源的 Serlvet 容器,在 Tomcat 服务器中,应用程序的部署较为简单,只需将工程项目打包放到 Tomcat 的 webapp目录下,Tomcat 便会自动检测到这个文件及文件下的内容,并将其解压。Tomcat也具有传统的 Web 服务器的功能:处理静态 Html 页面。但是与 Apache 相比,它处理静态 Html 页面的能力就不如 Apache。所以我采用了 Tomcat 和 Apache 结合的服务器,让 Apach
41、e 处理静态 Html 页面,而 Tomcat 服务器处理 JSP 页面和Servlet 容器。3.5.2 经济可行性本系统的开发周期持续了 34 个月,开发所需的硬件和软件设施都是由 PC机器来满足需求,PC 机系统能够承担,没有花费多少费用。现如今,互联网网络服务器性能优良,完全可以满足本博客系统为博客用户提供服务的需求。该软件系统的安装、开发工具的安装、配置、部署、测试、调试、运行和维护,都由我来实施,且费用不高。3.5.3 操作可行性青岛理工大学毕业设计(论文)19本系统采用目前较流行的基于 B/S 架构进行开发设计,用户不需要安装本系统的任何 Web 软件,只需要在 PC 机(或笔记
42、本电脑 )上通过浏览器输入访问地址即可对本博客网站系统进行访问,通过系统页面为用户提供各种各样的便捷服务,创建并管理属于自己的个人博客空间。总结上述三方面进行可行性分析、研究后,我们认为该项目的可行性是 OK的。3.6 本章小结本章主要对本基于人才搜索的博客系统进行了详细的需求分析设计,并且明确了系统的设计目标和实现要求,以及本博客系统的各个功能之间的联系与功能需求。为博客系统的总体设计和详细设计提供明确的设计方向和实现目标。第 4章 系统总体设计4.1 系统总体架构本系统由用户 PC 机端(浏览器端)、Web 服务器端和数据库持久端构成。用户通过在浏览器端输入地址便能访问本博客系统进行使用。
43、相应的用户请求,进而为博客用户提供相应的操作功能,并与服务器进行交换数据的操作,为用户提供相关信息和持久化数据到数据库。基于 B/S 架构的系统具有优良的安全性能,Windows 防火墙可以确保系统后台数据库的安全性。对博客系统进行的配置工作都只需集中在服务器端的后台,并且所有用户端的请求都是通过 DBMS 来访问数据库中的数据,采用了 Encache缓存技术,提高了用户的体验性。使用 MD5 对用户密码进行加密,进而极大的降低了数据直接暴露的风险性,也降低了系统在开发和维护过程中所涉及到的成本。青岛理工大学毕业设计(论文)20本系统通过采用基于 B/S 架构大致可以分为三部分:用户客户端、W
44、EB 服务器端和数据库服务端。用户端通过接受用户的相关请求并将请求的数据发送到服务器端,Web 服务器端通过接受来自用户的请求数据并进行相关的业务逻辑处理,同时将请求信息与数据库进行比较交换,从而完成前端用户的请求操作,并把处理之后的请求数据回传给用户端的界面。数据库持久端与服务器端响应 Web 服务器的各个请求,存储 Web 服务器端传来的数据信息或为服务器端提供相应的请求信息数据。本博客系统的总体架构如图 4.1 所示:请求用户请求VM 系统界面数据更新操作网络数据传输处理WEB 服务器(Server)系统业务逻辑处理数据库服务端MySQL用户 PC 端(浏览器端)Web服务端数据库服务端
45、青岛理工大学毕业设计(论文)21图 4.1 系统总体架构4.2 系统主要功能模块设计本系统根据需求将用户划分为四大类:系统管理员、VIP 用户、普通用户和游客。登录用户可以使用登录成功后开放的功能,如发表博客、添加音乐、留言操作、发送短消息、添加书签、上传相册和管理个人信息等功能。系统管理员拥有最高权限,可以对博客系统的所有相关信息进行统一地管理和维护,而未注册的用户则被定为游客,只具有浏览相关信息和评论文章等有限的功能。本博客系统的主要模块设计如图 4.2 所示:S2SH 博网站系统游客管理登录用户管理VIP用户管理系统管理员文章相册浏览发表评论文章相册管理好友短消息管理音乐留言管理个人信息
46、管理书签论坛管理站点管理日志列表管理图片管理风格管理公告管理管理员设置青岛理工大学毕业设计(论文)22图 4.2 系统主要模块关系图用户通过注册登录并开通个人博客空间之后,可以选择日志分类,并发表相应分类的博客文章。同时可以通过提供的文本编辑器对文章格式进行编辑、保存此文为书签、移到垃圾箱、一移到草稿箱、设为精华等功能操作。文章管理模块:用户可以查看自己全部的博客文章,同时有最新文章和热门日志的分类,并对其进行删除,修改,保存书签等管理操作。评论留言模块:用户可以管理自己博客空间中的评论和留言,同时也可给好友发送留言和短消息。相册管理:可以通过创建相簿,上传照片,并可以对照片进行编辑,删除,修
47、改相簿属性,移动相簿,删除相簿等功能操作。个人信息管理模块:用户可以对自己的基本资料进行查看和修改操作,例如修改个人资料、上传头像、个人宣言、地区和联系信息等。用户注册模块:新用户通过填写用户基本信息、填写个人空间、注册成功三个步骤,注册属于自己的博客账号,开通个人博客空间,以便使用本博客网站系统,注册模块需要对用户输入的信息进行规则性的校验,以保证用户所注册的信息符合博客系统的统一要求。4.3 系统流程当用户作为游客身份或者还未进行登录进入本博客网站时,便会跳到博客首页,在首页,用户可以浏览最新发表的文章,最近上传照片,博客每日精粹,热门博客,最新注册的博客用户以及友情链接,用户可以通过选择
48、相关类型来搜索。同时也可以点击某个用户进入他的博客空间进行文章,相册,青岛理工大学毕业设计(论文)23留言查看,加对方为好友等功能,具体的博客系统流程如图 4.3 所示:N开 始注册界面:填写个人基本信息填写个人空间信息注册信息是否合理用户注册信息保存到数据库博客系统登录界面输入用户名输入口令保存时间用户名密码是否正确N登录到博客系统进入博客空间Y用户注册信息保存到数据库Y博客网站系统首页青岛理工大学毕业设计(论文)24图 4.3 系统功能流程图当用户在博客首页登录成功后,可以点击进入个人博客空间。用户可以发表文章,上传照片,添加音乐,给好友留言,管理书签等操作,还可以对用户自己的个人资料进行
49、查看和修改。如果是未登录用户,则进不来博客空间,系统会在用户进行所有管理操作之前对其进行是否已登录的拦截验证,用户只有处在已登录状态下,才可以对自己的博客空间进行管理操作,其系统流程如图 4.4 所示:YY开始结束个人博客空间退出博客系统结束是否已经登录系统登录界面用户名和口令是否正确NN管理自己的博客空间青岛理工大学毕业设计(论文)25图 4.4 个人博客空间管理4.4 系统数据库设计不管什么样的项目,合理地设计数据库,不仅可以提高数据库对各种数据的执行效率,更能有助于提高系统访问并处理相关数据的效率,从而提高用户的体验性。针对系统性能的提升,增强用户的体验有着非常重要的作用。所谓概念模型,就是对信息世界进行建模,其表示方法有很多,其中最为常用的就是实体联系模型,也称 ER 模型,它是用 ER 图来描述现实世界的概念模型。下列ER 图清晰简洁地描述出了本博客系统实体与其属性之间的关系。本系统的数据库 E-R 图,如图 4.5 所示:系统管理员管理管理管理普通用户VIP 用户文章、相册发表管理添加 注册浏览浏览者音乐青岛理工大学毕业设计(论文)26图 4.5 系统数据库 E-R 图4.4.1 数据库表实体属性图:1.用户信息(DLOG_USER)表用于保存注册用户的个人基本信息以及