admin 管理员组

文章数量: 1184232


2023年12月18日发(作者:manuscript什么意思)

(完整word版)基于javaweb校园论坛的设计与实现

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

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

论坛由Struts+Spring+Hibernate三大框架技术并结合当今流行的一些技术进行开发,本论坛系统采用B/S体系结构,数据库采用了功能强大的oracle数据库和PL/SQL Developer数据库集成开发环境。本论坛按照软件开发的过程,按照一定的需求,对于论坛的开发进行详细的分析和设计,从而保证了校园论坛的开发和实现过程。

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

(完整word版)基于javaweb校园论坛的设计与实现

目 录

1.系统概述 ............................................................................................................................... 0

1。1 总体概述 ................................................................................................................ 0

1。2 开发背景及目的 ................................................................................................... 0

1.4 系统可行性分析....................................................................................................... 0

1。4。1 技术可行性 ............................................................................................. 0

1。4。2 经济可行性 ............................................................................................. 0

1。4.3 操作可行性 ................................................................................................. 1

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

2.1 JAVA EE平台简介 ................................................................................................... 1

2.2 SSH三大框架介绍 .................................................................................................. 1

2.3 oracle数据库简介 ................................................................................................... 3

2.4 CSS+div布局简介 .................................................................................................. 4

3. 系统需求设计 .................................................................................................................... 5

3.1 系统概要设计 ........................................................................................................... 5

3。1。1 功能模块分析与设计 ............................................................................. 5

3.2 系统数据库设计....................................................................................................... 9

3。2。1 实体类图: ................................................................................................. 9

3。2。2 数据库表及关系建立 ............................................................................. 9

4。系统详细设计 ................................................................................................................. 14

4。1 系统框架实现..................................................................................................... 14

4.1.1 底层数据库的建立 .................................................................................... 14

4.1.2 持久化层的建立 ........................................................................................ 15

(完整word版)基于javaweb校园论坛的设计与实现

4。1。3 业务逻辑层的建立 .............................................................................. 16

4.1。4 表示层的建立 ......................................................................................... 18

4.2 系统功能界面 ........................................................................................................ 19

4。2。1 登录系统界面 ...................................................................................... 19

4.2.3 回复帖子界面 ............................................................................................. 24

4。2。4 个人中心维护界面 .............................................................................. 25

4。2。4 申请版主界面 ...................................................................................... 26

4。2。5 后台管理界面 ...................................................................................... 29

4。2.6 其他主要界面 ......................................................................................... 31

4。3 关键技术说明..................................................................................................... 31

1)。jsp嵌入java代码 ........................................................................................ 31

2).页面分页技术 ................................................................................................... 32

3).jQuery技术的引用 ......................................................................................... 35

4).文件的上传和下载技术................................................................................... 36

4.4开发环境说明及搭建 ............................................................................................ 38

4.4.1环境说明 ...................................................................................................... 38

4。4.2搭建过程截图 .......................................................................................... 38

5.系统的调试与测试 ............................................................................................................ 41

5.1 测试概述 ................................................................................................................ 41

5.1。1 软件测试目的 ......................................................................................... 41

5.1.2 软件测试任务 ............................................................................................. 41

5.1.2 软件测试的环境 ........................................................................................ 41

5。2 系统功能测试..................................................................................................... 42

(完整word版)基于javaweb校园论坛的设计与实现

5.2.1 黑盒测试 ..................................................................................................... 42

5.2.2 白盒测试 ..................................................................................................... 45

5。2。3 模块接口测试 ...................................................................................... 45

5。3 集成测试 ............................................................................................................. 46

5。3.1 自顶向下集成 ......................................................................................... 46

5。3。2 确认测试标准 ...................................................................................... 46

6。 结论 ................................................................................................................................ 46

7。 致谢 ................................................................................................................................ 47

(完整word版)基于javaweb校园论坛的设计与实现

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/SQL Developer数据库集成开发环境等开发的系统,现有的技术比较完备,可以完成论坛系统的开发设计,其中SSH框架设计思想优秀且技术成熟,为本系统的开发提供了很好的技术条件,同时,开发时间也较为充足,预计可以在预定时间内完成系统开发[3]。

1。4.2 经济可行性

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

0

(完整word版)基于javaweb校园论坛的设计与实现

1.4。3 操作可行性

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

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

2。1 JAVA EE平台简介

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

1.简化结构:只要遵循J2EE的标准,都可以支持此开发模型[4]。

2。提高开发效率

3。可移植性强

4。重用性好

5。易于维护

6。可伸缩性

7。广泛性

2.2 SSH三大框架介绍

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

(完整word版)基于javaweb校园论坛的设计与实现

的四层架构使系统更易搭建和维护。其中Struts实现控制业务跳转,Hibernate框架则对持久层提供服务,Spring进行管理。

SSH由以下3个框架构成:

1。Struts框架

Struts是一个优秀的框架,对MVC系统提供了良好的支持。其基本构成如图2-1所示

2. Spring框架

图2-1 Struts框架工作流程

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

目的:使开发过程更简易

功能:代替EJB,有更多功能

范围:一切Java应用

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

2

(完整word版)基于javaweb校园论坛的设计与实现

图2.2 Spring框架构成

3。Hibernate框架

Hibernate框架对数据进行封装使之成为对象,开发人员可以通过操作对象的方式来操作数据库,从而使开发更便捷。Hibernate在底层使数据持久化,给开发过程更简易[4]。

它的构成如下图所示:

图2.3 Spring框架构成

2.3 oracle数据库简介

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

Oracle数据库的主要特点

1.性能优越,支持广泛

3

(完整word版)基于javaweb校园论坛的设计与实现

2.安全性和完整性控制

3。支持分布式数据处理

4.可移植性

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

1).可用性强

2).可扩展性强

3).数据安全性强

4).稳定性强

2。4 CSS+div布局简介

Div+CSS标准的主要优点:

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

2.结构更加清晰。

3。缩短改版时间.

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

容易编写。

6。提高易用性。使用CSS可以结构化HTML。

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

8。表现和内容相分离。

4

(完整word版)基于javaweb校园论坛的设计与实现

3.系统需求设计

3。1 系统概要设计

3.1.1 功能模块分析与设计

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

本论坛系统根据需要将操作用户依次分为:游客、普通会员、版主会员、管理员,其中级别高的用户拥有低级别用户的权限。

以下是论坛系统用例图:

5

(完整word版)基于javaweb校园论坛的设计与实现

用户登录个人中心注册用户<>发表帖子浏览帖子回复帖子搜索帖子收藏帖子游客普通用户<>申请版主版块帖子管理公告管理论坛版块管理员<>版块管理版主会员管理用户管理*帖子管理*论坛管理员

图3.1 论坛系统用例图

1)游客用户模块

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

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

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

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

2)会员用户模块

游客在本论坛系统进行注册成功后,在登录页可以进行登录,登录成功后成为会员用户,可以获得更6

(完整word版)基于javaweb校园论坛的设计与实现

多的基本操作的权限,为以下几点:

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

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

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

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

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

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

3)版主用户模块

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

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

论坛公告管理

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

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

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

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

4)管理员版块

管理员拥有本论坛系统的最大权限,拥有版主的所有权限,并可以拥有对于所有版块、用户、帖子、 7

(完整word版)基于javaweb校园论坛的设计与实现

版主的管理,具体操作功能如下:

版块管理

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

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

修改版块,管理员可修改版块信息.

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

用户管理

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

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

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

帖子管理

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

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

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

版主管理

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

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

删除版主,管理员可删除版块的版主.

8

(完整word版)基于javaweb校园论坛的设计与实现

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

username

realname

sex

类型

number

Varchar2(50)

Varchar2(50)

Varchar2(4)

中文名

用户ID

用户名

真实姓名

性别

9

备注

主键

非空

(完整word版)基于javaweb校园论坛的设计与实现

address

password

email

phone

photo

birthday

score

lasttime

registertime

postCount

replyCount

status

roleid

signature

Varchar2(50)

Varchar2(30)

Varchar2(50)

Varchar2(11)

Varchar2(50)

date

number

date

date

number

number

number

number

Varchar2(50)

地址

密码

电子邮件

手机号码

头像

出生日期

积分

最后登录时间

注册日期

用户帖子数

用户回帖数

状态

角色ID

签名档

非空

非空

默认为0

非空

默认为0

默认为0

0正常;1禁用

非空

表3-2.T_ROLE属性说明表

属性

id

name

describe

类型

Number

中文名

角色ID

备注

主键

非空

Varchar2(30)

角色名称

Vachar2(50)

角色简介

表3-3。T_POST属性说明表

属性

类型

中文名

备注

10

(完整word版)基于javaweb校园论坛的设计与实现

id

title

content

startTime

reward

theme

status

author

sectionId

number

Varchar2(50)

clob

date

number

Varchar2

number

number

number

帖子ID

帖子标题

内容

发帖日期

悬赏积分

标签

帖子状态

发帖人

版块ID

主键

外键

外键

表3-4。 T_POSTFILE属性说明表

属性

id

filename

newfilenamvarchar2(200)

e

postid

类型

number

varchar2(200)

中文名

编号

文件名

备注

主键

非空

新文件名

非空

number

帖子ID

外键

表3-5. T_REPLYPOST属性说明表

属性

id

content

rePostTime

类型

number

clob

date

中文名

回帖ID

内容

回复日期

备注

主键

非空

非空

11

(完整word版)基于javaweb校园论坛的设计与实现

reuid

postId

number

number

用户ID(回复)

帖子ID

外键

外键

表3-6.T_SECTION属性说明表

属性

id

name

describe

postCounnumber

t

类型

number

Varchar2

Varchar2

中文名

版块ID

版块名

版块描述

备注

主键

版块帖子总数

表3—7。T_sec(Section_user关联)属性说明表

属性

id

sectionID

userid

status

类型

number

number

number

number

中文名

ID

版块ID

用户ID

状态

备注

主键

外键

外键

0 可用;1失效

表3—8.T_NOTICE属性说明表

属性

id

title

content

time

类型

number

Varchar2

clob

date

中文名

公告ID

标题

内容

公告时间

12

备注

主键

非空

非空

非空

(完整word版)基于javaweb校园论坛的设计与实现

userId

number

用户ID

外键

表3-10.T_Collection属性说明表

属性

id

userID

postID

类型

number

number

number

中文名

ID

用户ID

帖子ID

备注

主键

外键

外键

表3-11.T_APPLY属性说明表

属性

id

userID

SectionID

status

类型

number

number

number

number

中文名

ID

用户ID

版块ID

审批状况

备注

主键

外键

外键

0 未批;1已批;2取消

13

(完整word版)基于javaweb校园论坛的设计与实现

4.系统详细设计

4.1 系统框架实现

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

图4-1 S.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

版主申请表

14

(完整word版)基于javaweb校园论坛的设计与实现

4.1.2 持久化层的建立

Hibernate的持久对象是基于POJO和java collections。此外,系统建立Hibernate的持久层。首先把BO持久化Hibernate是通过POJO工作的, 开发人员可以通过操作对象的方式去操作数据库,因此数据对象需要给所有的fileds 加上getter,setter方法。 Hibernate中对象映射通过XML文件实现,以下为本系统开发xml映射文件:

2。

ction。

4。TNotices。

5。TPost。hbm。xml

ile。

7。TReplypost。

8。

9。。xml

on。hbm。xml

。hbm。xml

其中例如 TCollection。 映射文件如下:

15

(完整word版)基于javaweb校园论坛的设计与实现

图4—2 TCollection。hbm。xml映射文件

本系统开发可以在目录。pojo下找到以上这些xml文件。Hibernate通过配置文件使程序进行通信,包括使用哪个连接池或DataSource,要加载哪些持久对象。而Session接口是用来完成Select,Save,Delete和Update这些操作。

4。1.3 业务逻辑层的建立

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

图4-3 映射文件

spring框架使用“依赖注射”(dependency injection)。 Spring把程序中所涉及到的业务逻辑 16

(完整word版)基于javaweb校园论坛的设计与实现

和Dao的对象,例如transactionManager(事物管理器)、baseTransaction(事务代理父工厂)、sessionFactory(Session工厂)都通过XML配置联系起来.

17

(完整word版)基于javaweb校园论坛的设计与实现

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

每个对象都可以在Spring 配置信息中用〈bean〉标签引用。由此,

HibernateTransactionManager有个sessionFactory setter 和 getter方法,这是用来在Spring启动的时候实现依赖注入(DI)。在sessionFactory属性里引用父Session工厂,从而低了维护代码的代价。

图4—5 Spring配置文件

4.1.4 表示层的建立

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

图4-6 映射表(部分)

18

(完整word版)基于javaweb校园论坛的设计与实现

4。2 系统功能界面

4。2.1 登录系统界面

会员用户登录论坛系统成功后将自己的用户信息存储在session中[8]。通过在登录页面输入正确的用户名、密码和验证码后按下登陆按钮后会通过jQuery方式对用户输入的值进行判断,并给与相应的提示

表 4—1 登录用例说明

用例

简要描述

参与者

前置条件

主事件流

登录系统

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

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

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

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

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

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

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

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

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

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

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

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

19

(完整word版)基于javaweb校园论坛的设计与实现

备选流

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

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

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

后置条件

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

下面是界面效果:

图4—7 系统登录图

以下为界面设计代码:

图4-8 登录界面代码图

以下为js执行的代码:

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

20

(完整word版)基于javaweb校园论坛的设计与实现

{ var loginName=document。getElementById(”loginName”);

var loginPwd=document。getElementById(”loginPwd")

if(loginName。value!=””&&loginPwd。value!="")

{ tCode();

}else

{ mentById(”info")。innerHTML=”用户名或密码不能为空!”;

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

function isRightCode() {

var c = $("#veryCode").attr(”value");

var loginName=$("#loginName")。attr(”value”);

var loginPwd=$(”#loginPwd”)。attr("value”);

$.ajax( {

type : ”POST”,

url : ”web/ResultAction”,

data : {cs:c,loginNames:loginName,loginPwds:loginPwd},

success : callback

});

}

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

function callback(data) {

if(data。toString()==1)

{ [0]。action=”indexAction";

21

(完整word版)基于javaweb校园论坛的设计与实现

}

document。forms[0]。submit();

return;

}else

{

$(”#info”)。html(data);

return;

4.2.2 发表帖子界面

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

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

22

(完整word版)基于javaweb校园论坛的设计与实现

用例

简要描述

发表帖子

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

参与者

前置条件

主事件流

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

参与者已登录本论坛系统

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

1.基流(Basic Flow)

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

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

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

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

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

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

2.异常流(Exception Flow)

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

E—2:输入的内容非法,数据库中不插入,系统提示内容不合法,用例终止.

面是界面效果:

备选流

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

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

23

4—9 发后置条件

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

(完整word版)基于javaweb校园论坛的设计与实现

帖界面

4.2。3 回复帖子界面

用户在登陆论坛系统后,可以对于已发表的帖子进行回复。点击回复后跳转到编辑页面,编辑内容不能为空,系统检测用户数据是否合法,不合法进行相关提示。

表 4—3 回复帖子用例说明

24

用例

下效果:

简要描述

回复帖子

(完整word版)基于javaweb校园论坛的设计与实现

当系统已经成功将帖子显示在帖子列表上,用户可以点击回复按钮,系统会跳转到回复页面,用户输入内容后点击回复按钮,系统添加该评论到数据库中并显示在页面的相应位置上

面是界面参与者

前置条件

主事件流

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

参与者已登录

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

1.基流(Basic Flow)

1当用户点击回复按钮时,用例启动.

2系统进入到回帖编辑界面。

图3输入回复内容,然后提交。

回复界4。在用户没有登录的情况下提示用户登录后才可对帖子进行回4.2。4

维护界用系统登己的个用户可的个人到自己息,也到自己备选流

子。

②输入内容为空或输入错误,提示用户正确填写输入内容才能进行

4—10

个人中心面

户在论坛录后有自人中心,以在自己中心查看的详细信可以查看收藏的帖①数据库异常,提示用户无法操作稍后在试。

复,登录后则可以进行回复。

4系统检测输入是否准确。

5系统在将该帖子信息添加到数据库中并在帖子页面的相应位置显示该条回复内容.

6。发表成功后系统跳到用户所回复的帖子页面。

2.异常流(Exception Flow)

E—1:输入内容为空,提示不能为空,用例终止。

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

回复。

25

后置条件

操作成功后进入回帖页面,否则不跳转。

(完整word版)基于javaweb校园论坛的设计与实现

维护用下效果:

用例

简要描述

个人中心中心维护

当系统已经成功将帖子显示在帖子列表上,用户可以点击回复按钮,系统会跳转到回复页面,用户输入内容后点击回复按钮,系统添加该评论到数据库中并显示在页面的相应位置上

4-3 个人中心例说明

面是界面参与者

前置条件

主事件流

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

用户已登录

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

1.基流(Basic Flow)

1当用户点击回复按钮时,用例启动。

2系统进入界面到回帖编辑内容。

3输入回复内容后进行提交.

图个人中4.2.4

界面

会登录系对自己论坛版请成为理员同成为版

4。在用户没有登录的情况下提示用户登录后才可对帖子进行回复,登录后则可以进行回复。

4系统检测输入的准确性。

5系统在将该帖子信息添加到数据库中并在帖子页面的相应位置显示该条回复内容.

6.发表成功后系统进入帖子列表页面。

2.异常流(Exception Flow)

E-1:输入的内容为空,系统提示内容不能为空,用例终止.

4—11

心界面

申请版主员用户在统后可以感兴趣的块进行申E-2:输入的内容非法,数据库中不插入,系统提示内容不合法,版主,管用例结束。

备选流

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

②输入内容为空或输入错误,提示用户正确填写输入内容才能进行回复。

后置条件

26

意后即可主。

发表成功后进入用户回复的帖子页面,否则不跳转。

(完整word版)基于javaweb校园论坛的设计与实现

表 4—4 申请版主用例说明

27

(完整word版)基于javaweb校园论坛的设计与实现

用例

简要描述

申请版主

当会员用户登录以后,可以对于喜爱的版块向管理员申请版主的身份,帮助管理版块的帖子内容.

参与者

前置条件

主事件流

会员用户

用户已登录

参与者登录到本论坛系统,并单击申请版主链接时,此用例开始。

1.基流(Basic Flow)

1.1当参与者点击申请版主时,用例启动。

1.2系统跳转到申请版主编辑界面。

1.3用户输入选择要申请的版块和申请理由后点击进行提交按钮。

1。4。未登录,不能进行申请。

1.4检测用户输入的内容是否准确.

1。5系统将信息添加到数据库。

1.6.操作成功后系统跳到个人中心页面.

2.异常流(Exception Flow)

E—1:该用户输入的内容为空,系统提示内容非空,用例终止。

E-2:该用户输入的内容不合法,数据库中不插入,系统提示内容不合法,用例终止。

下效果:

面是界面图请版主

备选流

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

②输入内容为空或输入错误,提示用户正确填写输入内容才能进行回复.

28

4-12 申界面

后置条件

发表成功后进入个人中心页面,否则不跳转。

(完整word版)基于javaweb校园论坛的设计与实现

4。2。5 后台管理界面

版主和管理员有进行后台管理的权值,版主可以管理 其所属的版块帖子和公告进行管理,管理员则具有最高权限,可以对帖子、公告、用户、版主申请等进行管理,当不同角色的用户登入系统时,系统判定后会加载入其相应的操作功能,使其规范和完善论坛的管理.

表 4—4 后台管理说明

29

(完整word版)基于javaweb校园论坛的设计与实现

用例

简要描述

参与者

前置条件

主事件流

版主、管理员

当版主或管理员登录系统后,系统自动检测其身份,并加载其对应身份的操作页面,然后可以对相应的角色操作进行管理。

会员用户

参与者已登录且具有相应的身份

参与者登录到本论坛系统,并单击相应权限链接时,此用例开始。

1.基流(Basic Flow)

1当参与者点击后台管理链接时,用例启动。

2系统跳转到后台管理页面。

3系统加载其对应角色权限可以进行的操作。

4。在用户操作数据非法时,给予相应提示.

4系统检测用户操作和输入内容是否准确。

5操作成功后给予相应的提示

2.异常流(Exception Flow)

E-1:输入的内容为空,系统提示内容非空,用例终止.

E-2:输入的内容非法,数据库中不插入,系统提示内容不合法,用例结束。

面是界面下效果:

备选流

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

②输入内容错误,提示用户正确填写输入内容才能进行回复.

图4台管理后置条件

—13 后界面

操作成功后进入到后台管理页面,否则不跳转。

30

(完整word版)基于javaweb校园论坛的设计与实现

4。2.6 其他主要界面

图4-14 帖子浏览界面

4.3 关键技术说明

1).jsp嵌入java代码

在jsp页面中我们可以在jsp页面中嵌入java代码,从而大大方便了web开发人员对于jsp的使用。本论坛系统采用SSH技术,是基于MVC的一种模式的应用,Model为数据库持久层的Hibernate,View为在前台与服务器进行交互的Action,Control为进行事务管理的Spring.配置数据源的时候本论坛系统通过Spring进行管理数据源,后台在配置好数据源和Session工程后,只要获取实例中的得到DAO接口就可以调用实现的方法,具体在java代码中引用java代码使用一下操作:

首先要在jsp页面首部添加以下两条引用

<%@page import=”org。springframework。licationContextUtils”%>

然后在页面中即可引用以下方法调用DAO,注意在使用时Spring的依赖注入,不能使用直接实例化方法来获得DAO,那样会导致空指针异常。

<% ServletContext servletContext = request。getSession()。getServletContext();

31

(完整word版)基于javaweb校园论坛的设计与实现

WebApplicationContext wac =

uiredWebApplicationContext(servletContext);

UserDao userDAO = (UserDao)n(”userDao");

//然后可以对dao的方法进行调用;

2)。页面分页技术

对于分页总的来说有两种方式一种是在页面形成分页DIV 用户申请换页时再进行页面相应数据的加载,服务器再根据用户的申请发送相应的数据内容[9],一种是先将所有数据加载到页面Session中,然后在对Session进行分页,两种方式各有各的优点和缺点,本论坛系统采用的是第一种方法通过页面请求再进行加载数据内容,在分页的过程中最主要的参数有三个,一个是总记录数pagecount,一个是页面分页数pageSize 还有一个是当前页currentPage;知道这三个参数后就可以知道总页数和后台需要返回给前台的数据。以下为主要方法形成分页DIV:

public String pagetool(String flag) {

StringBuffer str = new StringBuffer(); String url = amUrl();

int ProPage = this。currentpage - 1; int Nextpage = this。currentpage + 1;

if ((PageDAO。Text)) {

(”

src="images/" name="Image3" border=”0" width=”40px;"/〉〈/a〉”);

str。append("&nbsp;&nbsp; ");

str。append("

0” width="40px;”/>〈/a〉");

} else {

str。append(”

str。append("&nbsp; ;&nbsp;");

("〈img src=”images/back。gif” name="Image3” border=”0" width=”40px;"/>”);

if (tpage 〈 unt) {

str。append("〈a href='” + url + ”&currentpage=" + Nextpage

+ "'>〈img src="images/” name="Image3” border=”(" ; &nbsp;");

0” width=”40px;”/〉〈/a>”);

str。append(”&nbsp;&nbsp;&nbsp;");

} else {

33

(完整word版)基于javaweb校园论坛的设计与实现

(”〈img src=”images/next。gif"name="Image3”border=”0” width="40px;"/>”);

}

if (this。pagecount 〉 1 && this。currentpage != unt) {

(”〈a href='” + url + ”¤tpage=” + pagecount

+ ”'>

(”&nbsp; ; ");

width=”40px;”/>

str。append(”&nbsp;&nbsp;&nbsp;");

} else { (”

str。append("〈img src="images/go。gif" name="Image3” border="0"

(" ;&nbsp; ;");

width=”40px;”/〉 ");

("〈select name='currentpage' onchange='javascript:ChangePage();' style="width:50px;">");

for (int j = 1; j 〈= pagecount; j++) {

("〈option value=’” + j + ”’”);

if (currentpage == j) {

(”selected"); }

str。append(">”); (”" + j + ””);

("");

34

(完整word版)基于javaweb校园论坛的设计与实现

}

(”〈/select>页");

("&nbsp;〈/table〉”);

(”〈script language='javascript’>");

(”function ChangePage(testpage){”);

str。append(”document。='” + url

+ ”&currentpage='+testpage+’';”);

str。append(”document。pageform。submit();”);

str。append(”}”); str。append("〈/script>”);

str。append("〈/form〉");

有了以上形成分页div的方法后即可调用形成的DIV通过Session放在页面进行显示了

ribute(”currentpage”, currentpage);

ribute(”pageTool”, pageTool);

Jsp页面引用即可:

${ol} 〈/div>

3)。jQuery技术的引用

jQuery,顾名思议,也就是JavaScript和查询(Query),即是辅助JavaScript开发的库。它是一个轻量级的js库,通过jQuery技术我们可以实现jsp前台页面的部分刷新功能,把页面与逻辑和事件分离开来[10].通过jQuery中的$.ajax()函数,开发人员更简易的进行开发和使用,提高了性能和数据交互的功能,以下为本论坛引用jQuery的部分内容:

35

(完整word版)基于javaweb校园论坛的设计与实现

首先在要在jsp首部引入jQuery。js并加入文件

〈SCRIPT type="text/javascript” src="js/jQuery。js">〈/SCRIPT>

然后在引用事件的方法中即可使用ajax 访问URL地址,类型为post;这里没有向后台传递参数,所以data为null,当成功执行后执行callback()方法 亦可实现当执行失败时error执行的方法,

function collect(){

}

$.ajax({

type : ”post",

url : ”ajax/isloginAction”,

data: null,

success : callback

});

成功执行后可以在返回的方法中接受参数,然后进行相关的提示等操作。

4).文件的上传和下载技术

文件的上传和下载在实际开发过程中经常会用到,本论坛采用的图片和附件是通过文件流传输的方式将文件传输到指定的文件夹,在数据库中只存放文件的路径,jsp页面需要用的图片只需要通过路径进行加载即可,以下是关于本系统开发使用的上传和下载主要功能说明。

首先是有一个拷贝上传文件的方法

36

(完整word版)基于javaweb校园论坛的设计与实现

图4—15 文件拷贝方法

后台调用上传方法给予文件本来和新文件对应于文件夹中保存的名称,后台操作如下:

图4-16 附件上传操作

下载则要给出正取的访问路径,然后在访问Action返回的是流的形式

图4-17 struts中上传设置

主要实现以下getFileName()和getDownloadFile()方法还要导入一个上传下载的文件 37

(完整word版)基于javaweb校园论坛的设计与实现

fileUpload_ties:

图4—18 流传输方法

4。4开发环境说明及搭建

4.4。1环境说明

本论坛系统使用MyEclipse进行开发, MyEclipse是一种企业级工作平台,可以极大的提高我们的工作开发效率。MyEclipse具有丰富的功能[11]

本系统开发采用oracle数据库,oracle是sun公司推出的一款优秀的大型数据库,具有良好的性能,本系统开发过程中使用和PL/SQL同时进行使用,使开发管理更加便捷。Tomcat服务器则是一款轻量级的服务器,目前是比较流行的。

4。4.2搭建过程截图

1.新建项目及导入SSH的截图过程:

38

(完整word版)基于javaweb校园论坛的设计与实现

图4—19 创建工程

图4-20 添加spring管理

39

(完整word版)基于javaweb校园论坛的设计与实现

图4-21 添加SSH开发环境

2。在MyEclipseDatebase Explorer 中使用Hibernate对数据库做映射的操作:

图4—22 Hibernate映射反转

40

(完整word版)基于javaweb校园论坛的设计与实现

5.系统的调试与测试

5。1 测试概述

5。1.1 软件测试目的

1)。确保软件质量。

2).提供风险评估和信息反馈。

3)。保证软件开发过程中有较高的质量.

5。1.2 软件测试任务

1).寻找存在的bug。

2).避免软件缺陷。

3).衡量软件的质量。

4).关注用户的所需.

总目标:确保软件的质量。

5.1。2 软件测试的环境

通过Tomcat服务器,开发人员进行发布后,就可以通过在浏览器的URL中输入默认站点(默认站点 41

(完整word版)基于javaweb校园论坛的设计与实现

为127。0.0.1),浏览器访问已经搭建的服务器,服务器收到请求后,通过HTML文件返回给浏览器,从而实现信息之间的交互[12]。

5。2 系统功能测试

5.2.1 黑盒测试

在不知道系统内部结构的情况下对系统进行测试,检测系统的容错性,在单元测试中分别对各个模块进行测试,首先测试各个模块是否正常运行.

黑盒测试如下:

表5—1 黑盒测试表

功能名称

输入动作

预期效果

实际结果

1.发表帖子

a)

点击‘发表帖子’

1.发表帖子

a)

跳转到帖子发表页面

b)

检测输入的是否合法,前台帖子操作

b)

输入主题和内容信息,选

实际效果与预择版块,亦可传上附件,点击‘发表’按钮

2。回复帖子

a)

点击‘回复’

b)

编辑回复的内容后,点击成功后进入到新发表期效果的帖子页面。

2.回复帖子

a)

跳转到帖子回复的页面

一致

b) 系统检测输入的合法性,回复成功后刷新回复的帖子页面。

3.收藏帖子

a)提示收藏成功或相应提交按钮。

3收藏帖子

a)

点击‘收藏帖子'

4 搜索帖子

42

(完整word版)基于javaweb校园论坛的设计与实现

a) 输入 关键字,点击进行搜提示。

4.搜索帖子

a)

查询出相应的帖子信息,显示出帖子列表

1修改个人资料

a)点击修改资料

1修改个人资料

a)进入修改资料页

个人中心管理

实际效果与预 b)修改资料,并点击提交修改

b)提示修改成功

期效果2查看收藏帖子

a)点击查看收藏帖子

3申请版主

a)点击申请版主

2查看收藏帖子

一致

a)查看到我收藏的所有帖子

3申请版主

b)输入申请理由,然后进行提 a)进入申请版主页

b)提示申请成功

1。添加公告

c)

显示添加公告信息表单

1。添加公告

c)

点击‘添加’按钮

d)

输入公告内容,然后进行公告管理

实际效果与预d)

系统提示公告添加成功

期效果一致

‘提交’

2.修改公告

2.修改公告

b)

显示所有

c)

点击‘编辑'–修改公告

c)

系统提示修改结果

d)

点击提交按钮

3.删除公告

3.删除公告

a)提示删除操作结果

b)

点击删除公告

1。查询帖子

43

1。查询帖子

(完整word版)基于javaweb校园论坛的设计与实现

后台帖子管理

a)输入关键字后,点击‘查询’

2。修改帖子

a)点击‘编辑’帖子

b)点击提交按钮

3。删除帖子

选择要删除的帖子

a)按照条件查询出相应结实际效果的帖子

2.修改帖子

a)进入编辑帖子页面

b)提示修改成功

3.删除帖子

a)提示用户删除,确定后进行删除并提示

果与预期效果一致

1.添加版块

a)点击‘添加版块

b)输入版块内容,点击‘提交’按钮

2.修改版块

a)点击‘编辑’版块

1.添加版块

a)进入添加版块信息页面

版块管理

实际效果与预b)系统提示版块添加成期效果功

一致

2。修改版块

a)显示所有版块

b)点击提交修改按钮

b)系统提示修改成功

3.删除版块

3.删除版块

点击要删除的版块

a)提示删除操作结果

1。添加用户

a)点击‘添加用户

b)输入用户内容,然后进行‘提交’

2.修改用户

1。添加用户

a)进入添加用户信息页用户管理

实际效果与预面

期效果b)系统提示用户添加成一致

44


本文标签: 系统 用户 帖子

更多相关文章

简单几步,教你如何利用USB网卡将树莓派3B变身为WiFi发射站

1月前

寒假放假回家,忘记带无线路由器了,家里只有一根网线没有wifi,幸亏带了树莓派还有一个usb无线网卡,于是考虑用树莓派来做无线热点,利用树莓派来共享无线网络。 个人原创,版权所有,转载请注明原文出处,并保留原文链接:

Ubuntu中的QQ玩得不愉快?解决自动关闭的秘诀!

1月前

如何处理(ubuntu版QQ)自动关闭的问题。sudo gedit usrbinqq打开后在第二行加入这一句:export GDK_NATIVE_WINDOWS=true保存即可。

QQ浏览器自动更新不想受?三步操作,让升级由你掌握!

1月前

如何关闭QQ浏览器自动更新功能:详细步骤与常见问题解析在日常使用电脑的过程中,许多用户都曾遇到过软件自动更新的困扰。以QQ浏览器为例,其自动更新功能虽然旨在为用户提供最新版本的功能和安全补丁,但部分用户反馈新版本可能存在

QQ浏览器自动更新设置误关?快跟着这篇教程重新开启

1月前

QQ浏览器自动更新功能关闭后如何重新启用?详细步骤解析 在日常使用电脑过程中,浏览器作为核心上网工具,其安全性和功能更新至关重要。近期不少用户反馈遇到QQ浏览器自动更新功能被意外关闭的情况,这不仅可能导致浏览器长期处于旧版本状

无线路由器桥接掉线?5个实用方案让网络流畅

1月前

半年前用两个tplink无线路由器搭建了一个桥接的网络,但是二级路由器总是断线需要重启。经过大半年的摸索,偶然间解决了问题,在这里共享给为同样问题困扰的朋友。我的配置是tp 742做主路由器,连接联通的光纤。t

高效提升桥接稳定性:应对无线路由器掉线

1月前

半年前用两个tplink无线路由器搭建了一个桥接的网络,但是二级路由器总是断线需要重启。经过大半年的摸索,偶然间解决了问题,在这里共享给为同样问题困扰的朋友。我的配置是tp 742做主路由器,连接联通的光纤。t

网络优化新方案:探索TPLink与Netcore路由器的桥接模式

1月前

朋友的无线到我家就很微弱,天气状况好的时候,还是可以接受的,糟的时候网络质量就非常的差。 于是果断入手了TPLink,通过桥接的方式 扩展他的信号,让wifi覆盖无死角。 基本配置如下(参考网络上的资料,但是不同的路由

192.168.0.127之谜:揭秘网络背后的精彩故事

1月前

首先得明白 192.168.0.1是个 IP地址,更细一点的话,属于 C类型的,后面的 27则表示 网络号的长度

192.168.1.1的FTP服务器遇到障碍?这里有一站式解决方案!

1月前

、属于IP地址的C类地址,属于保留IP,专门用于设置。一般来讲这个地址的密码根据厂商的设置会有所不同,但一般会是:用户名(区分大小写):ADMIN 密码:ADMIN如果您已经修改了这个

解锁家庭网络配置:了解192.168.0.1和192.168.1.1的用途

1月前

哈哈,这个问题问得真好!让我来给你讲讲192.168.0.1和192.168.1.1这两个"网络小管家"的区别吧~ 其实啊,它们就像是两个不同性格的邻居,虽然住在一个大社区(192.168.0.0-192.168

192.168.0.1与192.168.1.1:家庭网络地址的细微区别

1月前

哈哈,这个问题问得真好!让我来给你讲讲192.168.0.1和192.168.1.1这两个"网络小管家"的区别吧~ 其实啊,它们就像是两个不同性格的邻居,虽然住在一个大社区(192.168.0.0-192.168

轻松搞定192.168.0.1,从初学者到高手的路由器设置技巧

1月前

摘 要 (导读:192.168.0.1路由器设置)1、路由器正确安装:2、IP地址设置3、登录路由器4、设置路由器目录本文将介绍192.168.0.1路由器设置的方法及教程;适用于小白新手换新路由器或者路" (导读

系统优化新纪元:Dism++ x64 2025最新版,Windows精简与C盘瘦身的终极攻略

1月前

一、 为什么技术人都要用 Dism++? 在 Windows 运维和优化领域, Dism++被称为“全球第一款基于 CBS 的 Dism GUI 实现”。 对于普通用户,这可能听起来很拗口。简单

Dism命令教程:Adobe Flash Player安装与维护的简便方法

1月前

DISM(Deployment Image Servicing and Management)可以编辑WIM,安装,卸载,配置WinRE或者WinPE,也可以用来部署系统。它通常存在于C:Windowssystem32路径下(若是

Dism++:让你的电脑焕然一新,快速提升性能,告别延迟!

1月前

无需全家桶,不占内存,5MB的绿色工具让你的Windows流畅如新!在Windows系统长期使用过程中,系统臃肿、运行卡顿、C盘爆满等问题困扰着绝大多数用户。面对这些痛点,很多人的第一反应是重装系统,但今天我将介绍一款更

一招搞定电脑卡顿?Dism++优化技巧大公开

1月前

1.系统文件清理 虽然dism的文件清理比较弱,但相对于其他清理工具来说,清理系统垃圾文件功能比较丰富,选择软件的空间回收栏目,勾选所有的清理功能,点击扫描,稍等片刻,即可扫描出不需要的文件,点击清理即可。 其中需要注

Dism++x64全面解析:告别臃肿系统,C盘焕发新生的全面优化方案

1月前

一、 为什么技术人都要用 Dism++? 在 Windows 运维和优化领域, Dism++被称为“全球第一款基于 CBS 的 Dism GUI 实现”。 对于普通用户,这可能听起来很拗口。简单

一文读懂Dism命令行,Adobe Flash Player安装不再难!

1月前

相关文章推荐:Windows ADK 下载地址: 命令示例:Gimagex图形化演示:以下命令由DISMGUI生成,原汁原味1.首次备份镜像【Captu

Dism日志入门:轻松掌握Windows系统维护技巧!

1月前

使用DISM命令修复系统注意:DISM命令只会修复系统自带的文件,第三方软件、驱动问题使用此命令修复是无效的,修复过程是比较漫长的,但是修复期间不会影响你系统正常使用、也不会卡什么的,占用资源比较低。 一、检查映像

Adobe Flash Player的未来发展趋势预测

1月前

目录背景: 在日常的工作中,由于我的笔记本自带的SSD固态硬盘是512G的容量,平时下几个大型的文件或者资料就要快满了,于是决定换一个1TB的固态硬盘,换之前首先确认自己现在用的是什么类型的固态硬盘,推荐大家一款

发表评论

全部评论 0
暂无评论