基于Java的博客管理系统的设计与实现.docx
《基于Java的博客管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Java的博客管理系统的设计与实现.docx(22页珍藏版)》请在冰豆网上搜索。
基于Java的博客管理系统的设计与实现
本科生毕业设计说明书
题目:
基于Java的博客管理系统的设计与实现
摘要
本文对博客系统的设计与开发过程进行了分析与叙述。
依照系统开发的实际操作步骤,文章从系统概述、系统分析、系统设计和系统实现这四大章节对系统开发过程进行分别阐述。
系统概述中主要进行了课题背景、课题意义和现状分析;系统分析中主要包括了系统设计前的需求分析、业务流程分析、数据流程分析和数据字典分析;而系统设计则是对系统体系结构、各功能模块、数据库结构设计等具体的系统实现过程进行剖析展示,在系统设计章节中有详细的文字解释并配有表图说明。
文章还列举了关键的功能模块实现代码。
本文力求可以为博客系统的开发设计找到一种切实可行的解决方案,在分析了目前国内外博客系统的现状的基础上,并经过反复摸索和学习研究后,借助编程语言JSP和SQLServer数据库最终实现了博客系统的开发,并在一系列测试后,达成了人性化、所需功能完善操作清晰的设计目标。
关键词:
JSP;SQLServer2005;博客
1系统概述............................................................1
1.1设计目的........................................................1
1.2设计思路........................................................1
1.3系统需求分析....................................................2
1.4开发可行性分析.................................................4
1.4.1管理上的可行性.............................................4
1.4.2技术上的可行性..............................................4
1.4.3经济上的可行性..............................................4
1.4.4执行可行性.................................................4
1.5开发环境.......................................................4
1.6运行环境......................................................4
1.7参考文献......................................................4
2总体设计...........................................................6
2.1系统物理结构....................................................6
2.1.1系统流程图..................................................6
2.1.2数据库分析.................................................7
2.2模块功能设计....................................................11
2.2.1系统首页设计............................................11
2.2.2用户注册模块..............................................11
2.2.3照片发布模块..............................................13
2.2.4添加文章模块..............................................14
2.2.5用户修改个人资料模块........................................14
2.2.6管理员登录模块.............................................15
2.2.7注册用户管理.............................................16
2.2.8公告管理模块界面............................................16
3运行设计...........................................................17
3.1运行代码.......................................................17
3.1.1用户注册模块界面............................................17
3.1.2照片模块界面................................................18
3.1.3添加文章模块界面............................................19
3.1.4修改个人资料界面............................................20
3.1.5登陆界面....................................................21
3.2数据库代码......................................................22
4系统测试..........................................................23
4.1系统测试....................................................23
4.1.1测试的目的..............................................23
4.1.2测试的准则............................................23
4.1.3测试的方法..............................................23
4.2功能测试....................................................24
4.3稳定性测试..................................................24
4.4安全性测试.................................................24
4.5系统测试....................................................24
4.6系统维护......................................................24
1系统概述
1.1设计目的和意义
随着互联网的迅猛发展,网络日益成为人们交流的重要媒介,网络交流方式也日新月异。
在没有自己的博客之前,人们会经常进出于论坛发表贴子或者通过即时通信软件聊天,来表达自已的想法,可是这些都是零散的和杂乱的。
博客的出现,让人们可以不断的把自己以前的和每天激发的一些想法或者感受整理放在自己的博客上,每次在写文章的时候,可能又会产生新的想法。
虽然一些想法一些思考只是皮毛,没有什么深度,但是当下笔去写的时候每次都会对某个小小的问题有了更多的一点点思考,再写博客的时候就感觉到了一种满足感,一种想法得以释放思考得以延伸的满足感。
生活中每天的一个小小的事情都会引起人们的思考,甚至是和朋友的聊天中一个小小的火花迸发。
督促自己努力、把一时的想法变成观点,争取在生命中的每天里留下点什么,这也是人们写博客的目的之一。
这样就能督促自己每一天不要浑浑噩噩,时光流逝无痕无声无息,写博客也是在自己的每一天上留下了一道浅浅的思考和划痕。
不仅如此,通过写博客、记录自己的想法可以帮助实现如下这些目的:
(1)记录生活,在自己的每一天上留下思考的划痕。
(2)整理思路,固化知识,获得更多更好的想法。
(3)分享,将自己的想法、经验与人分享。
(4)交流、提高,通过交流产生更多的思维火花,相互提高。
(5)交友,互相鼓励,一路同行。
博客系统的实现,用户轻松注册一个账号后,可以发布照片,个人工作过程、生活故事、思想历程、闪现的灵感等及时记录和发布,发挥个人无限的表达力;更可以以文会友,结识和汇聚朋友,进行深度交流沟通。
1.2设计思路
首先是拿到客户的需求,有时候客户的需求很不合理,由于客户对Java不理解和对自己操作简便的最大化给程序员造成了很大的麻烦,对于客户的这种无理的需求,项目经理通常要跟他们解释清楚,同时,有些需求是客户也想不到的,作为有良知的程序员,主动和客户提出来。
拿到客户的需求之后,要进行的是需求分析,这是一个很重要的过程,需求分析不好,将直接影响到程序员代码编写,无论是对客户,还是对公司都有很大的损失。
需求分析将客户的需求实现模块化,对每个功能具体化,这样编程起来就特别简单。
既节省了时间,又能实现代码的优化。
需求分析结束,就是代码的编写了,把程序员分成小组,每个小组负责不同的模块,这样分工明确,没有人能逃避自己的责任。
有利于项目时间的掌握和对项目的可控性的增强。
代码写完后就是个功能模块实现拼接的时候。
完成拼接以后就是进入项目的测试阶段,测试通过就是上线了。
最后就是系统的维护。
1.3系统需求分析
本系统致力于建立灵活、方便的博客系统,主要有三大功能模块:
系统管理员模块、注册的会员模块和游客访问模块。
系统管理员模块:
只有系统管理员才具有该模块的权限。
该模块需要实现注册用户和系统用户的管理,另外通过该模块可以浏览文章信息、浏览相册、删除文章、删除相册等,以及系统公告等信息。
系统公告参数具体包括标题和内容2个方面的信息。
注册用户模块:
用户只用通过该网站提供的接口注册后才有的功能。
该模块是系统核心的功能模块,要求实现博客文章发表、撰写日志、相册上传、文章评论、删除文章、删除照片、修改个人信息和好友管理的功能。
游客模块:
用户不需要注册就有的功能。
该模块要求实现博客文章信息浏览、相册查看和发表评论等功能。
系统功能图如图1-1所示:
图1-1系统功能图
1.4开发可行性分析
把博客伸到互联网上,建立起用户、网络、博客一体化的模式,对于商家来说是一大进步,促进网上博客的发展。
因此,商家大都不会对此持有反对意见,领导也能够相应的支持。
使用MyEclipse作为开发环境,服务器选用Apache,选择Java语言就能有效解决相关的问题,从而确保实现系统功能。
随着经济的发展,人们在网上的交流形式也越来越广泛。
相应的各种交流软件的需求就变得越来越大。
这样就提供了广阔的市场。
人们在网络交流上的消费也越来越高,这样就让商家看到了商机,从而就会加大投资,这样就提供了经济上的支持。
从而经济上是可行的。
本系统选用大家所熟知的火狐或者谷歌浏览界面,用户有基本的计算机知识就可以轻松使用。
并且整个系统选用友好的交互界面,简明扼要,对数据库的要求也不是很高。
因此,该系统的操作是可行的。
1.5开发环境
该系统利用Java技术来建构,Java具有语言相容性高、隐密安全性高、容易操作易于学习等特点,它具有很强大的功能、友好的界面、开放的编程技术和完全的站点建设方案。
系统的开发工具是MyEclipse,数据库选用SQLSERVER数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。
1.6运行环境
系统使用基于Java语言,后台的数据库使用SQLSERVER数据库管理整个联想集团人力资源管理系统的后台数据。
系统运行环境是jdk1.7+ApacheTomcat7。
Tomcat服务器是一个免费的开放源代码的Web应用服务器。
Tomcat提供了各种平台的版本供下载,可以从其官方网站上下载其源代码版或者二进制版。
由于Java的跨平台特性,基于Java的Tomcat也具有跨平台性。
1.7参考文献
[1]姜雷.基于Java技术的实验室管理系统的设计与实现[D].电子科技大学,2014
[2]王添财.基于JavaEE的在线考试系统的设计与实现[D].华南理工大学,2014
[3]张韬.基于JavaWeb的材料采购业务管理系统的设计与实现[D].电子科技大学,2014
[4]闫伟光.基于JavaEE的个人博客管理系统系统的设计与实现[D].内蒙古大学,2013
[5]印旻.Java语言与面向对象程序设计[M].北京:
清华大学出版社,2013
[6]桂思强.数据库程序设计[M].北京:
中国铁道出版社,2013
[7]王华杰,黄山.数据库编程[M].北京:
科学出版社,2013
[8]张洪波,张黎明,单银银.JSP/HTLM编程实作教程[M].北京:
北京希望电子出版社,2011
[9]胡社.HTML编程.[M].北京:
人民邮电出版社,2012
[10]李廉.Web服务器技术指南[M].北京:
机械工业出版社,2013
[11]杨小平、尤晓东多媒体技术及应用[M].北京:
清华大学出版社,2014
[12]刘乃琦、苏畅Java应用开发与实践[M].北京:
人民邮电出版社,2012
[13]张海藩软件工程导论(第五版)[M].北京:
清华大学出版社,2012
[14]马建红、李占波JSP应用与开发技术[M].北京:
清华大学出版社,2013
2总体设计
2.1系统物理结构
本系统的系统结构是按照了自上向下的设计理念完成的。
第一层是用户登录界面。
第二层是网站首页。
第三层主要提供系统管理员功能,也包括用户信息管理,文章管理、相册管理、公告管理等,用户登录成功后可以转至各个管理功能。
第四层即各个管理功能的所有功能。
2.1.1系统流程图如图2-1所示。
图2-1系统流程图
2.1.2数据库分析
数据库是本系统的核心,系统中所有的信息都存储在数据库中,从而实现需要的功能。
本系统中数据库采用SQLSERVER作为数据库工具。
如果直接在数据库软件上建立表格,开发出来的数据库多半存在很多弊端,由于没有全面分析用户需求,数据库很可能在网站编写过程中需要多次修改,这将大大降低开发效率。
一个良好的数据库开发过程一般是先系统分析,在逻辑设计,然后物理实现。
系统分析中分析数据库用户需求,并画出E-R(Entity-Relationship)图直观地表示出数据库系统的需求。
逻辑设计中根据系统分析设计一个关系模型。
物理设计为逻辑设计中的数据库模型选取一个最适合的应用环境的物理结构,通常选取一个常用的数据库软件,用数据库软件创建与逻辑设计中数据模型对应的数据库。
1、数据库需求分析
博客系统中,数据库要解决如下需求:
(1)保存会员信息,包括员工的姓名、性别、出生日期、民族等员工的信息。
(2)保存管理员的信息,包括管理员的姓名、编号等信息。
2、数据库概念设计
拥有以上的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体以及它们之间的关系,为后面的逻辑结构设计打下基础。
这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。
分析本系统的需求,可以得到如下实体间E-R图如图2-2所示:
图2-2系统数据库E-R图
3、数据库逻辑设计
数据库的概念结构设计完毕后,可以将上面的数据库概念转化成某种数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
利用这个实际数据模型,可以很直观的看出数据库中每个数据表的所储存的信息情况,比如字段的名称,字段的类型,字段是否允许为空以及对字段进行的说明,这其中包括了主键字段不允许为空的这一特性。
各个E-R图转换的关系表如下:
(1)用户信息表(t_users)
用户信息表主要用于存放用户的信息,主要字段包括:
用户ID,用户账号,密码,状态,地址,电话,头像等。
表3-1用户信息表(t_users)
字段名
数据类型
字段描述
长度
主键
ID
int
用户ID
4
√
Name
varchar
用户账号
50
Pwd
varchar
用户密码
50
Realname
varchar
昵称
50
Sex
varchar
性别
50
Address
varchar
住址
50
Tel
varchar
联系方式
50
picpath
varchar
头像
50
(2)文章信息表(t_bowen)
文章信息表主要用于存储用户添加的文章信息,主要字段有文章编号、标题、内容。
表3-2文章信息表(t_bowen)
字段名
数据类型
字段描述
长度
主键
ID
Int
文章编号
4
√
Title
Varchar
标题
50
Content
Varchar
文章内容
5000
Times
Date
添加时间
4
User_id
Int
用户Id
4
Clicks
Int
浏览量
4
(3)相册信息表(t_xiangce)
文章信息表主要用于存储用户添加的相册信息,主要字段有相册编号、标题、内容。
表3-3相册类型信息表(t_xiangce)
字段名
数据类型
字段描述
长度
主键
ID
Int
相册编号
4
√
Title
Varchar
相册标题
50
Times
Date
添加时间
4
User_id
Int
用户Id
4
(4)评论信息表(t_pinglun)
评论信息表主要用于对文章的评论信息,主要字段包括:
评论时间,评论内容,评论者姓名。
表3-4评论信息表(t_pinglun)
字段名
数据类型
字段描述
长度
主键
ID
Int
评论编号
4
√
content
Varchar
评论内容
50
shjian
Varchar
评论时间
50
bowen_id
int
文章ID
50
(5)公告信息表(t_gonggao)
公告信息表主要用于网站的公告的信息,主要字段包括:
公告标题、公告内容添加日期。
表3-5公告信息表(t_gonggao)
字段名
数据类型
字段描述
长度
主键
Id
varchar
编号
4
√
Title
varchar
标题
50
Conent
varchar
内容
5000
times
Datetime
发布时间
4
(6)照片信息表(t_zhaopian)
照片信息表主要用于用户的照片信息,主要字段包括:
用户ID、照片标题、照片介绍。
表3-6好友信息表(t_zhaopian)
字段名
数据类型
字段描述
长度
主键
ID
Int
编号
4
√
title
varchar
照片标题
4
fujian
varchar
照片路径
4
jieshao
varchar
照片介绍
xiangce_id
Int
相册ID
(7)管理员信息表(admin)
管理员信息表主要用于系统管理员的信息,主要字段包括:
编号、登陆账号、登陆密码。
表3-7管理员信息表(admin)
字段名
数据类型
字段描述
长度
主键
ID
Int
编号
10
√
Name
varchar
登陆账号
50
Pwd
varchar
登陆密码
50
2.2模块功能设计
2.2.1系统首页设计
页面的上方显示的是该网站的logo和当前的时间,下方主要部分是信息显示区域,右侧中间部分是通知公告,管理员发布的信息公告都可以在此点击后链接到相应的信息页面查看具体通知公告,右上方是登陆模块,用户必须输入正确的用户名、密码和验证码后才能进入系统,右下方方是一个精美的日立表。
首页界面如图2-3所示。
图2-3系统首页图
2.2.2用户注册模块
游客要想使用本系统的功能,并不是仅仅局限于浏览和评论,前台条件是必须先注册一个用户账号,然后凭此账号登陆,才能拥有相册上传、好友管理、文章发布等这些功能。
注册界面如图2-4所示。
图2-4用户注册模块界面
2.2.3照片发布模块
在这个界面中,用户需要输入照片标题、照片说明信息。
这个地方还用到的现在比较流行的富文本编辑器fckEditor。
图2-5照片发布模板图
2.2.4添加文章模块
在该界面中首先输入文章内容。
单击“提交”按钮,即可完成归文章发布操作,如图2-6所示。
图2-6添加文章模块界面
2.2.5用户修改个人资料模块
点击个人资料链接。
跳转到个人资料编辑页面。
系统自动赋值数据到个人信息的文框中。
可以直接修改文本框的内容,修改完毕,单击“提交”按钮。
如图2-7所示。
图2-7用户个人资料编辑模块界面
2.2.6管理员登录模块
系统管理员要维护整个系统,必须先登陆到系统中,在登陆页面,首先将从前台页面提交的用户名和密码进行接受,之后在后台进行处理,按照用户名在数据库中进行查询如果查到该用户则将该用户的权限和密码全都取出来分别赋给两个字符串变量,判断从数据库中读出的密码与登录时输入的密码是否配比上,若两个密码相同则根据权限的值进入相应的页面,否则输出密码错误。
如图2-8所示。
图2-8系统管理员登陆模块界面
2.2.7注册用户管理
管理员登陆到系统后。
点击上面的菜单“用户管理”,可以浏览注册用的信息,同时也可以删除不合法的用户。
以保证系统的纯洁性。
如图2-9所示。
图2-9注册用户模块界面
2.2.8公告管理模块界面
管理员登陆到系统后。
点击上面的菜单“公告管理”,可以浏览以前发布的公告信息,同时也可以删除、编辑旧的公告,录入新的公告。
如图2-10所示。
图2-10公告管理模块界面
3运行设计
3.1运行代码
3.1.1用户注册模块界面
publicStringuserReg()
{
TUseruser=newTUser();
user.setUserName(userName);
user.setUserPw(userPw);
user.setUserAddress(userAddress);
user.setUserTel(userTel);
user.setUserRealname(userRealname);
user.setUserEmail(userEmail);
user.setUserSex(userSex);
user.setUserQq(userQq);
user.setFujian(fujian.equals("")==true?
"/img/none.gif":
fujian);
user.setFangwenliang(0);
user.setUserDel("no");
userDAO.save(user)