基于java web校园论坛的设计与实现.docx

上传人:b****8 文档编号:9483456 上传时间:2023-02-04 格式:DOCX 页数:48 大小:1.10MB
下载 相关 举报
基于java web校园论坛的设计与实现.docx_第1页
第1页 / 共48页
基于java web校园论坛的设计与实现.docx_第2页
第2页 / 共48页
基于java web校园论坛的设计与实现.docx_第3页
第3页 / 共48页
基于java web校园论坛的设计与实现.docx_第4页
第4页 / 共48页
基于java web校园论坛的设计与实现.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

基于java web校园论坛的设计与实现.docx

《基于java web校园论坛的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于java web校园论坛的设计与实现.docx(48页珍藏版)》请在冰豆网上搜索。

基于java web校园论坛的设计与实现.docx

基于javaweb校园论坛的设计与实现

基于javaweb校园论坛的设计与实现

【摘要】随着当今世界网络的发展,网络越来越被人们所接受,而网络论坛为人们的交流和解决问题提供了很大的帮助,为了使人们更好的交流,结合当前流行的SSH三大框架和jQuery等技术开发出一个方便的网上交流系统。

论坛由Struts+Spring+Hibernate三大框架技术并结合当今流行的一些技术进行开发,本论坛系统采用B/S体系结构,数据库采用了功能强大的oracle数据库和PL/SQLDeveloper数据库集成开发环境。

本论坛按照软件开发的过程,按照一定的需求,对于论坛的开发进行详细的分析和设计,从而保证了校园论坛的开发和实现过程。

【关键词】BBS;SSH;软件工程;ORACLE

1.系统概述

1.1总体概述

随着二十一世纪以来网络技术的不断发展,网络为人们提供了方便交流的场所。

而网上论坛深受人们喜爱,网上论坛提供了一个可以相互交流的空间,也在以它独特的方式影响和改变着我们的生活[1]。

本论坛采用当今流行的SSH(struts+Spring+Hibernate)三大框架技术进行开发,数据库是具有良好性能的oracle数据库,通过结合jQuery、html、jsp、css、div等技术,根据软件开发的过程进行需求分析、概要设计、详细设计、编码和测试等来实现和完善本论坛系统。

1.2开发背景及目的

自从1978年出现最早的BBS系统以来,伴随着计算机技术的发展和流行,人们对论坛系统的需求不断增加,人们需要一个扩展性和可维护性更好的论坛系统[2]。

基于人们对于网上交流系统的需求,由SSH框架(Sturts+Spring+hibernate)开发的BBS论坛就具有了很好的优势。

为了使人们更好的进行交流,结合当前流行的SSH开发技术,开发出一套较为完整的论坛系统,由此,人们可以在网上自由的交流,可以帮助他人解决一些问题和进行经验的分享。

1.4系统可行性分析

1.4.1技术可行性

本系统是一个基于SSH(struts2+spring+hibernate)三大框架、oracle数据库和PL/SQLDeveloper数据库集成开发环境等开发的系统,现有的技术比较完备,可以完成论坛系统的开发设计,其中SSH框架设计思想优秀且技术成熟,为本系统的开发提供了很好的技术条件,同时,开发时间也较为充足,预计可以在预定时间内完成系统开发[3]。

1.4.2经济可行性

本系统的开发只要具有支持本系统的开发应用平台,无需资金的投入,系统的开发基于本人对程序开发的学习和实践,且软件的开发过程成本不高,因此从经济可行性的角度考虑完全是可行的。

1.4.3操作可行性

本系统采用B/S结构进行开发和设计,只需具备基本计算机操作能力,用户便可以熟悉本系统的操作,系统按照版块划分,用户可以很容易找到操作目标,以及人性化的提示和设计,提高了系统的易用性,总之,本系统操作简便,容易上手。

 

2.系统开发平台及相关技术介绍

2.1JAVAEE平台简介

本论坛系统使用J2EE平台进行开发,J2EE平台有以下几个优点:

1.简化结构:

只要遵循J2EE的标准,都可以支持此开发模型[4]。

2.提高开发效率

3.可移植性强

4.重用性好

5.易于维护

6.可伸缩性

7.广泛性

2.2SSH三大框架介绍

SSH由struts+spring+hibernate三大框架组成,是一款被普遍使用的开源框架[4]。

SSH框架系统的四层架构使系统更易搭建和维护。

其中Struts实现控制业务跳转,Hibernate框架则对持久层提供服务,Spring进行管理。

SSH由以下3个框架构成:

1.Struts框架

Struts是一个优秀的框架,对MVC系统提供了良好的支持。

其基本构成如图2-1所示

图2-1Struts框架工作流程

2.Spring框架

Spring框架能够使开发过程更加简易,使用JavaBean进行操作,使得系统的开发更具简易性和可测试性,降低了系统的耦合性。

目的:

使开发过程更简易

功能:

代替EJB,有更多功能

范围:

一切Java应用

Spring是一个轻量级的优秀容器框架,由以下7个部分构成

图2.2Spring框架构成

3.Hibernate框架

Hibernate框架对数据进行封装使之成为对象,开发人员可以通过操作对象的方式来操作数据库,从而使开发更便捷。

Hibernate在底层使数据持久化,给开发过程更简易[4]。

它的构成如下图所示:

图2.3Spring框架构成

2.3oracle数据库简介

ORACLE是一种大型关系的结构化查询的数据库,是目前最流行的数据库之一,有以下几个特点[5]。

Oracle数据库的主要特点

1.性能优越,支持广泛

2.安全性和完整性控制

3.支持分布式数据处理

4.可移植性

总之,oracle数据库有以下几个优点:

1).可用性强

2).可扩展性强

3).数据安全性强

4).稳定性强

2.4CSS+div布局简介

Div+CSS标准的主要优点:

1.减少页面代码,提高运行速度,使带宽成本更低[6]。

2.结构更加清晰。

3.缩短改版时间。

4.强大的字体控制和排版能力。

5.CSS容易编写。

6.提高易用性。

使用CSS可以结构化HTML。

7.更好的完成页面布局。

8.表现和内容相分离。

 

3.系统需求设计

3.1系统概要设计

3.1.1功能模块分析与设计

本论坛系统具备了一般BBS具有的功能,包括用户注册、登录、发表帖子、浏览帖子、回复帖子、收藏帖子、个人资料修改等。

本论坛系统根据需要将操作用户依次分为:

游客、普通会员、版主会员、管理员,其中级别高的用户拥有低级别用户的权限。

以下是论坛系统用例图:

图3.1论坛系统用例图

1)游客用户模块

用户在本校园论坛系统没有登陆的时候(即游客)可以对本系统网站进行访问,并且具有以下几种基本操作功能:

Ø查看帖子,访问者可以在没有登录的情况下访问版块的帖子,进入帖子查看帖子的具体发表信息。

还可以查看最近一周的新帖子。

Ø搜索帖子,可以输入简要的关键字对本论坛按照主题内容进行搜索到论坛的帖子。

Ø登陆和注册,游客用户可以在本论坛系统进行登录和注册,登录后的用户可以拥有进一步的权限,用户可以进行注册成为本论坛的会员用户。

2)会员用户模块

游客在本论坛系统进行注册成功后,在登录页可以进行登录,登录成功后成为会员用户,可以获得更多的基本操作的权限,为以下几点:

Ø发表帖子,会员用户可以发表自己想要发表主题帖子,在发表帖子的同时可以在帖子上添加附件进行资源的共享,以供会员用户进行下载使用。

Ø回复帖子,会员用户可以在可以回复的帖子上回复自己想要发表的观点和想法,但是不能违反论坛健康发展的规定。

Ø收藏帖子,会员可以收藏帖子,以便查看自己的喜欢的帖子。

Ø下载附件,登录后用户可以进入帖子页下载相关附件。

Ø个人中心,登录后的用户拥有自己的个人空间,在个人中心会员用户可以修改可以的个人资料,可以查看到自己完整的基本信息,包括发帖数、回帖数、积分、用户ID、登录名、邮箱、性别、最近登录时间等,并且可以通过查看我收藏的帖子链接进行查看自己收藏的喜欢的帖子,也可以对自己喜欢的帖子取消收藏。

Ø申请版主,会员用户可以申请成为喜欢版块的帖子,在申请版主的链接后进入申请页面,选择想要申请的版块,并且输入自己想要申请的理由,申请成功后等待管理员批准结果。

3)版主用户模块

版主拥有会员权限和以下几种操作权限:

Ø版块帖子管理,版主可对版块帖子进行管理,可以管理版块所有帖子。

Ø论坛公告管理

1 添加公告,版主登录后可进行添加公告操作。

2 查看公告,版主可以查看所有的公告信息。

3 修改公告,版主可以修改公告的信息内容。

4 删除公告,版主可以删除过时或者失效的公告。

4)管理员版块

管理员拥有本论坛系统的最大权限,拥有版主的所有权限,并可以拥有对于所有版块、用户、帖子、版主的管理,具体操作功能如下:

Ø版块管理

1 添加版块,管理员可添加新版块,以供需要。

2 查看版块,管理员可查看版块信息。

3 修改版块,管理员可修改版块信息。

4 删除版块,管理员可删除版块。

Ø用户管理

1 查看用户,管理员可以查看到用户信息

2 修改用户,管理员可以修改用户资料

3 禁用会员用户,管理员可以禁止一些不遵守法律法规和论坛规定的用户进行禁止使用该用户操作。

Ø帖子管理

1 查看帖子,管理员可以查看帖子的详细信息,并可以通过一些关键字进行搜索。

2 修改帖子,管理员可以修改帖子的一些相关信息。

3 删除帖子,管理员可以删除一些过时或者不合法的帖子信息。

Ø版主管理

1 审批版主,管理员可以审批会员用户申请的版主申请理由,同意后该用户即可版主用户,亦可拒绝申请用户的请求。

2 添加版主,管理员可添加新版主。

3 删除版主,管理员可删除版块的版主。

3.2系统数据库设计

3.2.1实体类图:

图3.2论坛系统数据库实体类图

3.2.2数据库表及关系建立

本论坛系统包括T_USER(用户表)、T_ROLE(角色信息表)、T_POST(帖子表)、T_POSTFILE(帖子附件表)、T_REPLYPOST(回复帖子表)、T_SECTION(版块表)、T_sec(版主版块关联表)、T_NOTICE(公告表)、T_Collection(帖子收藏表)、T_APPLY(版主申请表),以上数据库表的建立能够为本论坛的功能提供相应的数据库支持。

表3-1.T_USER属性说明表

属性

类型

中文名

备注

id

number

用户ID

主键

username

Varchar2(50)

用户名

非空

realname

Varchar2(50)

真实姓名

sex

Varchar2(4)

性别

address

Varchar2(50)

地址

password

Varchar2(30)

密码

非空

email

Varchar2(50)

电子邮件

非空

phone

Varchar2(11)

手机号码

photo

Varchar2(50)

头像

birthday

date

出生日期

score

number

积分

默认为0

lasttime

date

最后登录时间

registertime

date

注册日期

非空

postCount

number

用户帖子数

默认为0

replyCount

number

用户回帖数

默认为0

status

number

状态

0正常;1禁用

roleid

number

角色ID

非空

signature

Varchar2(50)

签名档

表3-2.T_ROLE属性说明表

属性

类型

中文名

备注

id

Number

角色ID

主键

name

Varchar2(30)

角色名称

非空

describe

Vachar2(50)

角色简介

表3-3.T_POST属性说明表

属性

类型

中文名

备注

id

number

帖子ID

主键

title

Varchar2(50)

帖子标题

content

clob

内容

startTime

date

发帖日期

reward

number

悬赏积分

theme

Varchar2

标签

status

number

帖子状态

author

number

发帖人

外键

sectionId

number

版块ID

外键

表3-4.T_POSTFILE属性说明表

属性

类型

中文名

备注

id

number

编号

主键

filename

varchar2(200)

文件名

非空

newfilename

varchar2(200)

新文件名

非空

postid

number

帖子ID

外键

表3-5.T_REPLYPOST属性说明表

属性

类型

中文名

备注

id

number

回帖ID

主键

content

clob

内容

非空

rePostTime

date

回复日期

非空

reuid

number

用户ID(回复)

外键

postId

number

帖子ID

外键

表3-6.T_SECTION属性说明表

属性

类型

中文名

备注

id

number

版块ID

主键

name

Varchar2

版块名

describe

Varchar2

版块描述

postCount

number

版块帖子总数

表3-7.T_sec(Section_user关联)属性说明表

属性

类型

中文名

备注

id

number

ID

主键

sectionID

number

版块ID

外键

userid

number

用户ID

外键

status

number

状态

0可用;1失效

表3-8.T_NOTICE属性说明表

属性

类型

中文名

备注

id

number

公告ID

主键

title

Varchar2

标题

非空

content

clob

内容

非空

time

date

公告时间

非空

userId

number

用户ID

外键

表3-10.T_Collection属性说明表

属性

类型

中文名

备注

id

number

ID

主键

userID

number

用户ID

外键

postID

number

帖子ID

外键

表3-11.T_APPLY属性说明表

属性

类型

中文名

备注

id

number

ID

主键

userID

number

用户ID

外键

SectionID

number

版块ID

外键

status

number

审批状况

0未批;1已批;2取消

4.系统详细设计

4.1系统框架实现

采用四层结构进行系统的整体设计,使得结构灵活,可维护性较好,各个层在处理上分工明确,功能任务清晰,使开发人员开发更具便捷[7]。

图4-1S.S.H框架的结合使用

4.1.1底层数据库的建立

以下为数据库建立的表:

T_user用户信息表

T_role角色表

T_post帖子信息表

T_postfile帖子附件表

T_replypost帖子回复表

T_section版块表

T_sec版块_用户关联表

T_notice公告表

T_collection收藏帖子表

T_apply版主申请表

4.1.2持久化层的建立

Hibernate的持久对象是基于POJO和javacollections。

此外,系统建立Hibernate的持久层。

首先把BO持久化Hibernate是通过POJO工作的,开发人员可以通过操作对象的方式去操作数据库,因此数据对象需要给所有的fileds加上getter,setter方法。

Hibernate中对象映射通过XML文件实现,以下为本系统开发xml映射文件:

1.TApply.hbm.xml

2.TAttention.hbm.xml

3.TCollection.hbm.xml

4.TNotices.hbm.xml

5.TPost.hbm.xml

6.TPostfile.hbm.xml

7.TReplypost.hbm.xml

8.TRole.hbm.xml

9.TSec.hbm.xml

10.TSection.hbm.xml

11.TUser.hbm.xml

其中例如TCollection.hbm.xml映射文件如下:

图4-2TCollection.hbm.xml映射文件

本系统开发可以在目录com.bbs.pojo下找到以上这些xml文件。

Hibernate通过配置文件使程序进行通信,包括使用哪个连接池或DataSource,要加载哪些持久对象。

而Session接口是用来完成Select,Save,Delete和Update这些操作。

4.1.3业务逻辑层的建立

本论坛系统的业务逻辑是交由struts中的Action进行操作的,在前台相关的业务请求会在后台得到响应,其中一些关联的映射,是写在struts框架的struts.xml中的。

图4-3struts.xml映射文件

spring框架使用“依赖注射”(dependencyinjection)。

Spring把程序中所涉及到的业务逻辑和Dao的对象,例如transactionManager(事物管理器)、baseTransaction(事务代理父工厂)、sessionFactory(Session工厂)都通过XML配置联系起来。

图4-4applicationContext.xml映射文件(部分)

每个对象都可以在Spring配置信息applicationContext.xml中用标签引用。

由此,HibernateTransactionManager有个sessionFactorysetter和getter方法,这是用来在Spring启动的时候实现依赖注入(DI)。

在sessionFactory属性里引用父Session工厂,从而低了维护代码的代价。

图4-5Spring配置文件

4.1.4表示层的建立

在表示层中通过struts.xml文件使业务方法进行关联映射,通过AJAX异步加载技术进行建立,本系统中关联映射如下:

图4-6struts.xml映射表(部分)

4.2系统功能界面

4.2.1登录系统界面

会员用户登录论坛系统成功后将自己的用户信息存储在session中[8]。

通过在登录页面输入正确的用户名、密码和验证码后按下登陆按钮后会通过jQuery方式对用户输入的值进行判断,并给与相应的提示

表4-1登录用例说明

用例

登录系统

简要描述

此用例允许参与者进行系统登录验证。

参与者

游客、会员用户、版主用户、管理员

前置条件

用户进入本系统登录界面。

主事件流

参与者输入系统网址进入论坛系统登录页面,此用例开始。

1登录系统界面显示帐号密码的输入表单,包括以下的项。

1.1表单标题是“论坛系统登陆”。

1.2在界面右边、中间高度提供账号密码的输入框。

1.3在帐号密码框下方,显示验证码、验证码输入框和换一个验证码的提示,并可以通过换一个链接响应服务器换掉一个验证码。

1.4在登录界面右上角有注册和返回首页的链接

2当光标停留在输入框时,可以进行帐号密码或验证码输入。

3点击登录按钮,则参与者帐号密码信息被提交至服务器进行验证。

4文本框内容为空或验证码错误,则显示提示信息,字体颜色为红色。

备选流

①数据库发生错误,提示登录错误请重试。

②账号或密码不正确,提示账号或密码错误。

③验证码为空,提示要求正确填写验证码。

后置条件

登录成功后进入到首页,否则不跳转。

下面是界面效果:

图4-7系统登录图

以下为界面设计代码:

图4-8登录界面代码图

以下为js执行的代码:

functionsubmitLogin()//登陆提交、验证密码不能为空

{varloginName=document.getElementById("loginName");

varloginPwd=document.getElementById("loginPwd")

if(loginName.value!

=""&&loginPwd.value!

="")

{this.isRightCode();

}else

{document.getElementById("info").innerHTML="用户名或密码不能为空!

";}

}

//用ajax访问url,类型为post用data传参,success后执行callback()方法

functionisRightCode(){

varc=$("#veryCode").attr("value");

varloginName=$("#loginName").attr("value");

varloginPwd=$("#loginPwd").attr("value");

$.ajax({

type:

"POST",

url:

"web/ResultAction",

data:

{cs:

c,loginNames:

loginName,loginPwds:

loginPwd},

success:

callback

});

}

//后台验证后返回data参数为1的时候登陆成功跳到首页,登陆失败后提示错误信息

functioncallback(data){

if(data.toString()==1)

{document.forms[0].action="indexAction";

document.forms[0].submit();

return;

}else

{$("#info").html(data);

return;

}

}

4.2.2发表帖子界面

用户在登录后可发表帖子,用户点击发表帖子按钮后进入发表编辑页面,用户选择要发表的模块并输入内容,亦可传上要分享的附件后进行发表,系统检测用户输入内容的合法性,合法输入后将数据写入数据库,并且跳转到新的帖子页面。

 

表4-2发表帖子用例说明

用例

发表帖子

简要描述

当用户单击发表帖子按钮时,系统跳转到发表帖子界面,用户输入帖子主题和内容并可上传附件后,点击发表按钮,系统提示相应的信息

参与者

会员用户、版主用户、管理员

前置条件

参与者已登录本论坛系统

主事件流

参与者登录到本论坛系统,并单击发表帖子按钮时,此用例开始。

1.基流(Basic Flow)

1.1当用户点击发表按钮,用例启动。

1.2系统跳转到发表帖子界面。

1.3用户输入自己想发表的内容并选择版块,亦可传入要分享的附件后按下进行发表的按钮。

1.4系统检测用户输入的内容是否准确性。

1.5系统在将该帖子信息添加到数据库中并在页面的相应位置显示该条帖子。

6.发表成功后系统跳到查看最新发表的帖子的页面。

2.异常流(ExceptionFlow)

E-1:

输入的内容为空,系统提示内容不为空,用例结束。

E-2:

输入的内容非法,数据库中不插入,系统提示内容不合法,用例终止。

备选流

①数据库异常,提示用户无法操作稍后在试。

②输入内容为空或输入错误,提示用户正确填写输入内容。

后置条件

发表成功后跳转到新发表的帖子页面,否则不跳转。

`下面是界面效果:

图4-9发帖界面

4.2.3回复帖子界面

用户在登陆论坛系统后,可以对于已发表的帖子进行回复。

点击回复后跳转到编辑页面,编辑内容不能为

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1