XXX
2008届毕业生毕业论文(设计)
题目:多人blog开发设计
院(系)别 信息工程系
专 业 计算机科学与技术
班 级 计算
学 号
姓 名
指导教师
二○○八年六月
原 创 声 明
本人 郑重声明:所呈交的论文“多人blog开发设计”,是本人在导师何斌和徐海云的指导下开展研究工作所取得的成果。除文中特别加以标注和致谢的地方外,论文中不包含任何其他个人或集体已经发表或撰写过的研究成果,对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明,本人完全意识到本声明的法律后果,尊重知识产权,并愿为此承担一切法律责任。
论文作者(签字):
日期: 年 月 日
随着互联网技术的发展与逐渐成熟,网络交流已经演变成为一种时尚。博客也被越来越多的人喜欢,校园内师生需要一个交流的机会,因此本人所设计的多人博客系统将作为师生交流的平台。
本文介绍了系统的设计目标,系统需求和整体设计方案,较详细的论述了系统的详细设计和实现。系统主要完成了用户注册,登陆,日志管理,相册管理,个人资料管理,留言管理,好友管理,消息管理等功能。
本系统是利用JBuiler 开发的基于Struts和Hibernate 框架的系统。设计使用Struts 作为表现层的框架,使用Hibernate 作为持久化层的框架,大大曾强了应用的可扩展性和可维护性。
关键词:博客,Struts,Hibernate,JSP
With the development of Intenet technology and gradually mature, Internet exchanges has evolved into a fashion.The Blog has also been liked by more and more pople.In the university, tecchers and students need an opportunity to exchange,so the blog system I designed will serve as a plateform for exchange of teachers and students.
Key words:Blog, Struts, Hibernate , JSP
目 录
5.2 创建Hibernate 配置文件hibernate.cfg.xml
前 言
在这个网络迅速发展的时代里,网络交流给我们带来了很多方便。如今博客颇受人们欢迎,也出现了成了专门的撰写博客的人。博客充分利用网络互动,更新及时的特点,让你最快获取有价值的信息与资源;在博客中你可以发挥无限的表现力,及时记录和发布个人的生活故事、闪现的灵感等;更可以以文会友,结识和汇聚朋友,进行深度交流沟通,总之博客给人们提供了一个交流与互动的平台。另外“校内网”的崛起也证明了网络交流在大学生的生活中占有了重要的角色。我的设计也就是从这里出发的, blog系统为师生在校内打造一个交流的平台,以便更好的沟通。
从发展之初,博客就带有双重功能,一方面它是很棒的在线写日志的工具,另一方面也是绝佳的交流工具。该词最早是在2002年8月8日由著名的网络评论家王俊秀和方兴东共同撰文提出来的。它源于英文单词Blog/Blogger,是Weblog(Web 和Log的组合词)的简称,就是在网络上的一种流水记录形式或者简称“网络日志”。 博客从一开始首先就是指一种网络交流方式――继Email、BBS、IM(即时通讯)之后出现的第四种网络交流方式。有人说博客是网络时代的个人“读者文摘”,是以超级链接为武器的网络日记,是信息时代的麦哲伦。总之,博客是一个正处于快速发展和快速演变中的互联网新应用。
今天,Java Web开发越来越多,成为一种时尚。而且也有越来越多的框架被应用到开发中,加快了开发的速度,提高了开发的质量。像Struts 框架就是一款优秀的基于MVC的Java Web框架,Hibernate 同样是一款优秀的开源的对象关系映像框架。本系统使用Struts加Hibernate框架进行设计开发,使得更容易开发和维护。本系统实现了用户的注册,登录,日志管理,相册管理,评论管理,消息管理,个人资料管理等功能,在线写日志功能已很好的体现。老师和学生经过注册后,可以将自己的感想和感悟发表于网上与他人共享和交流。
1 系统开发概述
1.1 概述
本系统是利用JBuiler 开发的基于Struts框架和Hibernate 框架的系统。系统使用Struts 作为表现层框架,使用Hibernate 作为持久化层框架,使用MySQL 作数据库。以下对所使用的框架和工具,数据库作一下简要介绍。在这之前首先解释一下什么是框架,为什么要使用框架。
框架(framework)是可重用的,半成品的应用程序,可以用来产生专门的定制程序[Johnson] [1]。框架可以省去那些通用的而又繁琐的细节,让开发者有更多的时间与精力来解决实际业务问题,大大提高了Web 应用的开发速度。如果没有这些现有的框架(如Struts,Hibernate等),开发人员不得不首先花大量的时间和精力来设计和开发自己的框架[1]。因此本系统使用了Struts和Hibernate框架。
Struts 作为一款优秀的基于MVC的Java Web框架,已经得到了广大的企业和Java Web开发人员的认可,成为Java Web开发的首选框架[2]。
Struts的优点:它跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,另外Struts的主要优点集中表现在Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。
图1.1 Java Web 应用的结构
Fig.1.1 Java Web Application Structure
本系统使用到了Struts和Hibernate框架,使用MySQL数据库。
(1) Struts 在Apache 软件许可[ASF,License]下对公众是免费的。
(2) Hibernate是一个开源的对象关系映射框架。
(3) MySQL数据库是免费的开源软件。
基于以上三点,开发成本是可行的,并且系统开发完成后维护不需要太多的人力,财力,因此在经济方面是可行的。
在这之前已经学过一些Java Web开发,而且现在已经了解了Struts框架和Hibernate框架,自己有能力独立开发此系统。并且JBuilder集成了JDK和Tomcat,省去了配置JSP环境的繁冗细节,Struts 在Jbuilder中得到了无缝的支持,像可视化的Struts流程编辑器,Struts程序流程一目了然;Hibernate对JDBC进行了轻量级的对象封装,只操作Hibernate提供的几个类就可以达到操作关系数据库的目的,因此在技术方面可行。
(1) 系统基于B/S模式,服务集中于服务器端实现,客户端硬件不需要太高配置,运行可行。
(2) 系统完全是在浏览器上的界面操作,操作可行。
2.2需求分析
在开发之前对一原有的系统进行了原型化分析,发现存在以下问题:
(1) 用户注册时没有密码提示功能。
(2) 用户界面模板单一。
(3) 写日志的工具功能不够强大,不方便用户随心所欲的写日志。
(4) 日志和相册用户不能自定义分类。
(1) 系统要求采用B/S模式。
(2) 用户注册时有密码提示功能和密码安全级别检查功能。
(3) 用户可以自定义模板。
(4) 设计较好的写日志工具,增加文本编辑功能和自定义标签功能。
(5) 用户可以上传附件。
(6) 用户可以给好友发送短消息。
(7) 用户可以对日志和照片发表评论。
(8) 写日志,评论等不能因为编码问题出现乱码。
系统开发的总体目标是为了方便师生交流,实现博客的基本功能,如发表日志,发表评论,上传照片等。系统有较好的容错能力,增加系统的健壮性。
系统主要模块功能分析图如下:
(1) 相册模块
图 2.1 相册模块
Fig.2.1 Album module
(2)博客设置模块
图 2.2 博客设置模块
Fig.2.2 Blog setting module
(3)日志模块
图 2.3 日志模块
Fig.2.3 Log module
(4)个人资料管理模块
图 2.4 个人资料管理模块
Fig.2.4 Personal information management module
图3.1 系统E-R图
Fig.3.1 System E-R chat
通过分析E-R图,为了使数据库结构清晰,数据冗余达到最小,访问速度达到最快,对数据库系统设计采取了分类,分层的设计方法。数据库部分表结构如下面的表所示:
表3.1 管理员表
Tab.3.1 Admin table
字段名 |
数据类型 |
长度 |
允许空 |
主键 |
默认值 |
说明 |
id |
unsigned int |
10 |
N |
Y |
|
编号 |
username |
varchar |
20 |
N |
N |
admin |
登录名 |
password |
varchar |
20 |
Y |
N |
|
登录密码 |
lastloginip |
varchar |
20 |
Y |
N |
|
最后登录IP |
lastlogintime |
time |
|
Y |
N |
|
最后登录时间 |
说明:管理员表纪录管理员的信息。
表3.2 附件表
Tab.3.2 Attachment table
字段名 |
数据类型 |
长度 |
允许空 |
主键 |
默认值 |
说明 |
id |
unsigned int |
|
N |
Y |
|
附件编号 |
uid |
unsigned int |
|
N |
N |
|
用户编号 |
type |
varchar |
10 |
N |
N |
|
附件类型 |
url |
varchar |
255 |
N |
N |
|
附件地址 |
说明:附件表记录上传的附件的信息,与用户表参照对应。
表3.3 博客类别表
Tab.3.3 Blog class table
字段名 |
数据类型 |
长度 |
允许空 |
主键 |
默认值 |
说明 |
id |
unsigned int |
|
N |
Y |
|
博客类型编号 |
name |
varchar |
50 |
N |
N |
新博客类别 |
博客类型名字 |
description |
varchar |
255 |
Y |
N |
|
类型描述 |
说明:博客类别表记录用户博客类别。
表3.4 积分规则表
Tab.3.4 Coin rule table
字段名 |
数据类型 |
长度 |
允许空 |
主键 |
默认值 |
说明 |
id |
unsigned int |
|
N |
Y |
|
编号 |
default |
smallint |
|
N |
N |
300 |
注册默认加分 |
diarycoin |
smallint |
|
N |
N |
5 |
日志加分 |
photocoin |
smallint |
|
N |
N |
5 |
上传照片加分 |
digcoin |
smallint |
|
N |
N |
1 |
推荐加分(被推荐) |
messagecoin |
smallint |
|
N |
N |
1 |
留言加分(被留言) |
commentcoin |
smallint |
|
N |
N |
50 |
评论加分(被评论) |
ablumcost |
smallint |
|
N |
N |
1 |
创建相册扣分 |
attachcost |
smallint |
|
N |
N |
1 |
下载附件扣分 |
说明:积分规则表记录系统积分规则。
表3.5 系统相册类别表
Tab.3.5Dystem ablum class table
字段名 |
数据类型 |
长度 |
允许空 |
主键 |
默认值 |
说明 |
id |
long |
|
N |
Y |
|
相册类别编号 |
name |
varchar |
20 |
Y |
N |
|
相册类别名字 |
说明:系统相册类别表记录系统相册类别。
表3.6 系统配置表
Tab.3.6 System config table
字段名 |
数据类型 |
长度 |
允许空 |
主键 |
默认值 |
说明 |
id |
long |
10 |
N |
Y |
|
编号 |
site_name |
varchar |
50 |
Y |
N |
SOSBlog |
网站名称 |
site_title |
varchar |
50 |
Y |
N |
SOSBlog |
网站标题 |
site_url |
varchar |
50 |
Y |
N |
|
网站地址 |
site_copyright |
varchar |
255 |
Y |
N |
Copyright © 2008- AllRights Reserved. |
版权说明 |
site_keywords |
varchar |
255 |
Y |
N |
|
关键字 |
site_email |
varchar |
50 |
Y |
N |
|
站长邮箱 |
reg_text |
mediumtext |
|
Y |
N |
|
用户注册协议 |
user_placard |
mediumtext |
|
Y |
N |
欢迎使用SOSBlog系统 |
用户后台公告 |
user_updir |
varchar |
|
N |
N |
upfiles |
用户上传文件目录 |
user_dir |
varchar |
|
N |
N |
u |
用户站点目录 |
maxDiaryLength |
smallint |
|
N |
N |
65535 |
用户日志允许最多字符数 |
maxMessageLength |
smallint |
|
N |
N |
32768 |
留言允许最多字数 |
maxCommentLength |
smallint |
|
N |
N |
32768 |
评论允许最多字数 |
is_regAudit |
bool |
|
N |
N |
TRUE |
用户注册是否需要审核 |
is_diaryAudit |
bool |
|
N |
N |
FALSE |
发表日志是否需要审核 |
is_active |
bool |
|
N |
N |
TRUE |
网站是否运行 |
is_reg |
bool |
|
N |
N |
TRUE |
是否允许新用户注册 |
is_getPassword |
bool |
|
N |
N |
TRUE |
是否允许用户取回密码 |
is_album |
bool |
|
N |
N |
FALSE |
是否允许创建相册 |
is_musicBox |
bool |
|
N |
N |
FALSE |
是否允许使用音乐盒 |
is_regVerify |
bool |
|
N |
N |
TRUE |
注册时是否需要验证码 |
is_loginVerify |
bool |
|
N |
N |
TRUE |
登陆时是否需要验证码 |
is_commentVerify |
bool |
|
N |
N |
TRUE |
评论、留言时是否需要验证码 |
is_message |
bool |
|
N |
N |
TRUE |
游客是否允许留言 |
is_comment |
bool |
|
N |
N |
TRUE |
游客是否允许评论 |
说明:系统配置表记录系统配置信息。
表3.7 系统日志类别表
Tab.3.7 System subject table
字段名 |
数据类型 |
长度 |
允许空 |
主键 |
默认值 |
说明 |
id |
long |
|
N |
Y |
|
日志类别编号 |
name |
varchar |
20 |
N |
N |
|
日志类别名字 |
说明:系统日志类别表记录系统日志类别。
表3.8 用户表
Tab.3.8 User table
字段名 |
数据类型 |
长度 |
允许空 |
主键 |
默认值 |
说明 |
uid |
long |
|
N |
Y |
|
用户编号 |
username |
varchar |
50 |
N |
N |
|
用户名 |
password |
varchar |
50 |
N |
N |
|
用户密码 |
question |
varchar |
50 |
N |
N |
|
密码提示问题 |
answer |
varchar |
50 |
N |
N |
|
密码提示答案 |
|
varchar |
50 |
N |
N |
|
用户注册邮箱 |
province |
varchar |
50 |
N |
N |
|
省份 |
city |
varchar |
50 |
N |
N |
|
城市 |
job |
varchar |
50 |
N |
N |
|
用户职业 |
iconurl |
varchar |
50 |
Y |
N |
|
头像地址 |
nickname |
varchar |
50 |
Y |
N |
|
昵称 |
realname |
varchar |
50 |
Y |
N |
|
真实名字 |
gender |
long |
|
Y |
N |
|
性别 0:女 1:男 |
birthday |
date |
|
Y |
N |
|
生日 |
|
varchar |
50 |
Y |
N |
|
QQ号 |
msn |
varchar |
50 |
Y |
N |
|
MSN |
phone |
varchar |
50 |
Y |
N |
|
电话 |
mobile |
varchar |
50 |
Y |
N |
|
手机 |
homepage |
varchar |
50 |
Y |
N |
|
主页 |
address |
varchar |
255 |
Y |
N |
|
地址 |
postcode |
varchar |
20 |
Y |
N |
|
邮编 |
blogname |
varchar |
50 |
Y |
N |
|
博客名 |
bloginfo |
varchar |
255 |
Y |
N |
|
站点信息 |
blogplacard |
varchar |
255 |
Y |
N |
|
BLOG公告 |
blogclassid |
unsigned int |
|
N |
N |
0 |
用户博客类别编号 |
blogskinmain |
mediumtext |
|
N |
N |
|
日志主模版 |
blogskinsub |
mediumtext |
|
N |
N |
|
日志副模版 |
playertypeid |
unsigned int |
|
Y |
N |
0 |
播放器类型 |
show_diarywordnum |
long |
|
N |
N |
50 |
日志默认部分显示字数 |
show_diaryperpage |
long |
|
N |
N |
10 |
每页显示日志篇数 |
show_photoperpage |
long |
|
N |
N |
6 |
每页显示照片数 |
show_newdiarynum |
long |
|
N |
N |
5 |
显示最新日志条数 |
show_newcommentnum |
long |
|
N |
N |
10 |
显示最新评论数 |
show_newreplynum |
long |
|
N |
N |
10 |
显示最新留言条数 |
show_commentorder |
long |
|
N |
N |
0 |
日志评论排列顺序(0:时间顺序 1:时间倒序) |
editortype |
long |
|
N |
N |
0 |
默认编辑器类型 |
字段名 |
数据类型 |
长度 |
允许空 |
主键 |
默认值 |
说明 |
isclasslist |
bool |
|
N |
N |
TRUE |
分类日志是否以列表显示 |
isindexlist |
bool |
|
N |
N |
TRUE |
首页日志是否以列表显示 |
isdigable |
bool |
|
N |
N |
TRUE |
是否可以被被推荐(博客推荐和日志推荐) |
regtime |
date |
|
Y |
N |
now |
注册日期 |
regip |
varchar |
20 |
Y |
N |
|
注册IP |
lastlogintime |
date |
|
Y |
N |
now |
最后登陆时间 |
lastloginip |
varchar |
20 |
Y |
N |
|
最登陆IP |
logincount |
long |
|
N |
N |
0 |
登陆次数 |
hits |
long |
|
N |
N |
0 |
被浏览次数 |
coins |
long |
|
N |
N |
100 |
用户积分 |
userlevelid |
long |
|
N |
N |
0 |
用户等级 |
diarycount |
long |
|
N |
N |
0 |
用户日志总数 |
photocount |
long |
|
N |
N |
0 |
用户照片总数 |
messagecount |
long |
|
N |
N |
0 |
留言总数 |
commentcount |
long |
|
N |
N |
0 |
评论总数 |
digcount |
long |
|
N |
N |
0 |
用户被推荐次数 |
attachmentcount |
long |
|
N |
N |
0 |
用户的传附件数 |
isactive |
bool |
|
N |
N |
TRUE |
用户是否是活动状态 |
说明:用户表记录用户基本信息,与博客类别表,用户模板表,参照对应。
表3.9 用户模板表
Tab.3.9 User skin table
字段名 |
数据类型 |
长度 |
允许空 |
主键 |
默认值 |
说明 |
id |
long |
|
N |
Y |
|
用户模版编号 |
skinname |
varchar |
50 |
Y |
N |
SOSBlog用户模版 |
模版名称 |
skinpic |
varchar |
255 |
Y |
N |
usrskins/default/logo.jpg |
模版图片 |
skinauthor |
varchar |
50 |
Y |
N |
|
模版作者 |
skinauthorurl |
varchar |
255 |
Y |
N |
|
作者链接 |
skinmain |
mediumtext |
|
N |
N |
|
主模版 |
skinsub |
mediumtext |
|
N |
N |
|
副模版 |
isdefault |
bool |
|
N |
N |
N |
是否是默认模版 |
ispass |
bool |
|
N |
N |
N |
是否通过审核 |
说明:用户模板表记录用户模板信息。
表3.10 用户等级表
Tab.3.10 User level table
字段名 |
数据类型 |
长度 |
允许空 |
主键 |
默认值 |
说明 |
id |
long |
|
N |
Y |
|
用户等级编号 |
levelname |
varchar |
50 |
N |
N |
用户等级 |
等级名称 |
coinlimit |
long |
|
N |
N |
0 |
用户需要积分数量 |
usercount |
long |
|
N |
N |
0 |
此等级的用户数 |
字段名 |
数据类型 |
长度 |
允许空 |
主键 |
默认值 |
说明 |
filespace |
long |
|
N |
N |
0 |
此等级用户可使用的空间大小 |
说明:用户等级表记录用户等级信息。
表3.11 用户日志分类表
Tab.3.11 User subject table
字段名 |
数据类型 |
长度 |
允许空 |
主键 |
默认值 |
说明 |
id |
long |
|
N |
Y |
|
分类编号 |
uid |
long |
|
N |
N |
|
用户编号 |
name |
varchar |
20 |
Y |
N |
|
分类名字 |
说明:用户日志分类表记录用户日志类别。与用户表,系统日志分类表参照对应。
表3.12 用户相册表
Tab.3.12 User ablum class table
字段名 |
数据类型 |
长度 |
允许空 |
主键 |
默认值 |
说明 |
abid |
long |
|
N |
Y |
|
编号 |
uid |
long |
|
N |
N |
|
用户编号 |
ablumname |
varchar |
20 |
Y |
N |
|
相册名字 |
coverurl |
varchar |
255 |
Y |
N |
|
封面URL |
typeid |
long |
|
N |
N |
|
类型编号 |
说明:用户相册表记录用户相册信息,与用户表,相册分类表参照对应。
表3.13 用户照片表
Tab.3.13 User photo table
字段名 |
数据类型 |
长度 |
允许空 |
主键 |
默认值 |
说明 |
photoid |
long |
|
N |
Y |
|
编号 |
abid |
long |
|
N |
N |
|
相册编号 |
photourl |
varchar |
255 |
N |
N |
|
照片URL |
title |
varchar |
20 |
Y |
N |
|
相片标题 |
description |
varchar |
500 |
Y |
N |
|
相片描述 |
hits |
long |
|
Y |
N |
|
点击数 |
说明:用户照片表记录用户相片信息。与用户相册表参照对应。
表3.14 用户好友表
Tab.3.14 User’ friend table
字段名 |
数据类型 |
长度 |
允许空 |
主键 |
默认值 |
说明 |
uid |
long |
|
N |
Y |
|
用户编号 |
friendid |
long |
|
N |
Y |
|
朋友编号 |
type |
long |
|
Y |
N |
|
类型 0:好友1:黑名单 |
说明:用户好友表记录用户好友信息,与用户表参照对应。
表3.15 用户短消息表
Tab.3.15 User’s message table
字段名 |
数据类型 |
长度 |
允许空 |
主键 |
默认值 |
说明 |
id |
long |
|
N |
Y |
|
编号 |
senderid |
varchar |
20 |
N |
N |
|
发送者 |
recieverid |
varchar |
20 |
N |
N |
|
接收者 |
isread |
bool |
|
Y |
N |
|
是否已读 |
title |
varchar |
15 |
Y |
N |
新消息 |
标题 |
context |
varchar |
1000 |
Y |
N |
|
正文 |
addtime |
date |
|
Y |
N |
|
发送时间 |
说明:用户短消息表记录用户短消息的信息,与用户表参照对应。
表3.16 用户留言表
Tab.3.16 User’s message table
字段名 |
数据类型 |
长度 |
允许空 |
主键 |
默认值 |
说明 |
mid |
long |
|
N |
Y |
|
消息编号 |
uid |
long |
|
N |
N |
|
用户编号 |
writerid |
long |
|
N |
N |
|
写消息者 |
addtime |
date |
|
Y |
N |
|
消息发送时间 |
content |
varchar |
50 |
Y |
N |
|
消息发送者IP |
reply |
varchar |
500 |
Y |
N |
|
回复内容 |
replyTime |
date |
|
Y |
N |
|
回复时间 |
homepage |
varchar |
50 |
Y |
N |
|
用户主页url |
content |
varchar |
500 |
Y |
N |
|
消息内容 |
title |
varchar |
20 |
Y |
N |
|
消息主题 |
说明:用户留言表记录用户留言,与用户表参照对应。
系统所使用的整体架构如图4.1所示:
图4.1 系统架构
Fig.4.1 System architecture
系统整体架构说明:
(1) Struts框架作表现层。跟用户打交道的是JSP页面,Struts的ActionForm类获取用户的请求,由Action类去处理用户的请求,最后再由JSP页面显示处理的结果。
(2) Hibernate框架作持久化层。当需要操作数据库时,Hibernate 根据配置文件hibernate.cfg.xml提供的信息链接数据库,再根据持久化类和对象-关系映射文件对相应的数据库表进行操作。
(3) MySQL作数据库。
系统总体设计结构图如下图4.2 所示:
图4.2 系统结构图
Fig.4.2 Structure of the system
图4.3 个人资料页面迁移
Fig.4.3 Personal information pages relocation
图4.3的说明:
当用户需要对个人资料进行设置或对密码进行修改时,userInfoActionForm类获取用户的请求,userInfoAction类去处理用户的请求,主要针对用户表进行修改。
(1) 点击个人资料设置,对个人的信息资料进行设置和修改,如头像,昵称,真实姓名,生日,QQ号,msn号,每页显示的照片数,每页显示的日志篇数,显示最新留言条数等等。修改完毕点击提交按钮进行提交。
(2) 点击密码修改连接,在文本框中填入新密码,选择密码提示问题,填写密码提示问题答案,按确定按钮提交信息。
图4.4 日志页面迁移
Fig.4.4 Log pages relocation
5 编码
部分代码介绍,对于每一个模块来说,实现的方法都是一样的,都是使用JSP页面作表现层,Struts框架中的Action 作控制层,而用Hibernate框架去实现与MySQL 数据库的连接,完成对数据库的操作。部分代码实现如下:
这个持久化类是Hibernate连接数据库的一个条件,类中的成员变量与数据库中的相关表是对应的,以下是Userphoto类的部分代码(请参照:表3.13用户照片表)。
package sosblog.beans;
import java.io.Serializable;
import java.util.Set;
import org.apache.commons.lang.builder.ToStringBuilder;
public class Userphoto implements Serializable {
private Integer id;
private String url;
private String title;
private String description;
private Integer digcount;
private Integer readcount;
private Integer commentcount;
private sosblog.beans.Userablum userablum;
private Set userphotocomments;
public Integer getId() {
return this.id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUrl() {
return this.url;
}
public void setUrl(String url) {
this.url = url;
}
public String getTitle() {
return this.title;
}
public void setTitle(String title) {
this.title = title;
}
6.1 测试方法
表6.1 测试表
Tab. 6.1 test table
测试模块 |
测试功能 |
测试用例/测试方法 |
测试结果 |
测试说明 |
用户注册 |
密码安全级别检查 |
(1) 密码:19860529 (2) 密码:zhangliang (3) 密码:zl0433131 (4) 密码:zl@vsc08 |
密码安全级别检查能正确执行 |
测试用户能否正常注册 |
阅读协议 |
点击阅读协议 |
协议能正常在注册页面显示 |
||
用户注册 |
填写注册信息,点击提交 |
用户能正常注册 |
||
测试模块 |
测试功能 |
测试用例/测试方法 |
测试结果 |
测试说明 |
用户登录 |
登录 |
(1) 用户名:zhangl 密码:zl@vsc08 (2) 用户名:zhangsan 密码:123456 |
已注册用户能正确登录 非注册用户不能登录 |
测试用户是否能正常登陆 |
日志管理 |
添加日志分类 |
点添加日志类别,输入:人生感悟 |
能正确添加日志类别 |
测试日志管理模块功能是否实现及结果是否正常 |
编辑日志 |
写日志:新日志,添加表情,以及用编辑工具对其进行编辑 |
编辑工具正常,达到预想功能 |
||
发布日志 |
写好日志内容,填写验证码,对日志进行发布 |
日志能正确发布 |
||
修改日志 |
在日志管理栏,点击修改,对日志进行修改 |
日志能被正确修改 |
||
删除日志 |
将选中的日志删除 |
日志能被删除 |
||
备份日志 |
备份日志,填写起始时间和终止时间,选择备份的文件类型(txt,html,xml) |
日志能被正确备份到本地 |
||
相册管理 |
创建相册 |
创建相册 |
相册能被正确创建 |
测试相册管理模块功能是否实现及结果是否正常 |
上传相片 |
选择相片,点击上传 |
照片能被上传到服务器指定目录下 |
||
好友管理 |
添加好友 |
输入好友用户名,点添加 |
用户存在能正常添加好友 用户不存在提示好友不存在 |
测试好友管理模块功能是否实现及结果是否正常 |
删除好友 |
将好友删除 |
好友能被删除 |
||
将好友添加到黑名单 |
将好友添加到黑名单 |
将好友添加到黑名单能正确执行 |
||
给好友发送短消息 |
在好友列表界面点击写短消息,写入消息内容 |
好友能正确收到短消息 |
||
个人资料管理 |
完善个人资料 |
根据提示 |
|
测试个人资料管理模块功能是否实现及结果是否正常 |
修改密码 |
输入新密码,以及密码提示问题和密码提示问题答案 |
密码能被正确修改,以及密码提示问题也能被正确修改 |
项目名称:多人blog系统
(1) 测试目的:
结 论
设计使用Struts 作为表现层的框架,使用Hibernate 作为持久化层的框架,大大曾强了应用的可扩展性和可维护性。
经过这次设计,我对Struts 框架和 Hibernate 框架有了初步了解,对web开发也有了进一步的认识。 系统已实现用户的注册,用户的登陆,发表日志,添加好友,发送短消息,个人资料管理等功能。但是系统在管理员的设计方面还存在部分问题,但是此部分并不影响系统的正常的运行。
多人blog系统开发已经完成,经测试能够较好的运行。达到了预期的设计思想,实现了所期望的功能,希望此系统能够为校园内的老师和同学提供更好的服务,增加之间的网络交流。
[1] Ted Husted 著.Eric Liu(铁手)译.Struts In Action 中文版
[2] 邱哲,王俊标,马斗.Struts Web 设计与开发大全. 北京:清华大学出版社
[3] 陈雄华,涂传滨等.精通JBuilder 2005.电子工业出版社.2005
[4] Todd Cook 著.谷雨,高春蓉等译.JSP 从入门到精通.电子工业出版社.2003