1、 基于 java web 校园论坛的设计与实现 【摘要】 随着当今世界网络的发展,网络越来越被人们所接受,而网络论坛为人们的交流和解决问题提供了很大的帮助,为了使人们更好的交流,结合当前流行的 SSH 三大框架和 jQuery 等技术开发出一个方便的网上交流系统。 论坛由 Struts+Spring+Hibernate 三大框架技术并结合当今流行的一些技术进行开发,本 论坛系统采用 B/S 体系结构,数据库采用了功能强大的 oracle 数据库和 PL/SQL Developer 数据库集成开发环境。本论坛按照软件开发的过程 ,按照一定的需求,对于论坛的开发进行详细的分析和设计,从而保证了校园
2、论坛的开发和实现过程。 【关键词】 BBS;SSH;软件工程 ;ORACLE 目 录 1.系统概述 . 1 1.1 总体概述 . 1 1.2 开发背景及目的 . 1 1.4 系统可行性分析 . 1 1.4.1 技术可行性 . 1 1.4.2 经济可行性 . 1 1.4.3 操作可行性 . 1 2.系统开发平台及相关技术介绍 . 2 2.1 JAVA EE 平台 简介 . 2 2.2 SSH 三大框架介绍 . 2 2.3 oracle 数据 库简介 . 3 2.4 CSS+div 布局简介 . 3 3. 系统需求设计 . 5 3.1 系统概要设计 . 5 3.1.1 功能模块分析与 设计 . 5
3、 3.2 系统数据库设计 . 7 3.2.1 实体类图: . 7 3.2.2 数据库表及关系建立 . 7 4.系统详细设计 . 10 4.1 系统框架实现 . 10 4.1.1 底层数据库的建立 . 10 4.1.2 持久化层的建立 . 10 4.1.3 业务逻辑层的建立 . 11 4.1.4 表示层的建立 . 13 4.2 系统功能界面 . 13 4.2.1 登录系统界面 . 13 4.2.3 回复帖子界面 . 16 4.2.4 个人中心维护界面 . 17 4.2.4 申请版主界面 . 18 4.2.5 后台管理界面 . 19 4.2.6 其他主要 界面 . 21 4.3 关键技术说明 .
4、21 1).jsp 嵌入 java 代码 . 21 2).页面分页技术 . 21 3).jQuery 技术的引用 . 23 4).文件的上传和下载技术 . 23 4.4 开发环境说明及搭建 . 25 4.4.1 环境说明 . 25 4.4.2 搭建 过程截图 . 25 5.系统的调试与测试 . 28 5.1 测试概述 . 28 5.1.1 软件测试目的 . 28 5.1.2 软件测试任务 . 28 5.1.2 软件测试的环境 . 28 5.2 系统功能测试 . 28 5.2.1 黑盒测试 . 28 5.2.2 白盒测试 . 30 5.2.3 模块接口测试 . 30 5.3 集成测试 . 30
5、5.3.1 自顶向下集成 . 30 5.3.2 确认测试标准 . 30 6. 结论 . 31 7. 致谢 . 32 1 1.系统概述 1.1 总体概述 随着二十一世纪以来网络技术的不断发展,网络为人们提供了方便交流的场所。而网上论坛深受人们喜爱,网上论坛提供了一个可以相互交流的空间,也在以它独特的方式影响和改变着我们的生活 1。 本论坛采用当今流行的 SSH( struts+Spring+Hibernate)三大框架技术进行开发,数据库是具有良好性能的 oracle 数据库,通过结合 jQuery、 html、 jsp、 css、 div 等技术,根据软件开发的过程进行需求分析、概要设计、详细
6、设计、编码和测试等来实现和完善本论坛系统。 1.2 开发背景及目的 自从 1978 年出现最早的 BBS 系统以来,伴随着计算机技术的发展和流行,人们对论坛系统的需求不断增加,人们需要一个扩展性和可维护性更好的论坛系统 2。基于人们对于网上交流系统的需求 , 由SSH 框架 (Sturts+Spring+hibernate)开发的 BBS 论坛就具有了很好的优势。 为了使人们更好的进行交流,结合当前流行的 SSH 开发技术,开发出一套较为完整的论坛系统,由此,人们可以在网上自由的交流,可以帮助他人解决一些问题和进行经验的分享。 1.4 系统可行性分析 1.4.1 技术可行性 本系统是一个基于
7、SSH(struts2+spring+hibernate)三大框架、 oracle 数据库和 PL/SQL Developer数据库 集成开发环境等开发的系统,现有的技术比较完备,可以完成论坛系统的开发设计,其中 SSH框架设计思想 优秀且技术成熟,为本系统的开发提供了很好的技术条件, 同时,开发时间也较为充足,预计可以在预定时间内完成系统开发 3。 1.4.2 经济可行性 本系统的开发只要具有支持本系统的开发应用平台,无需资金的投入,系统的开发基于本人对程序开发的学习和实践,且软件的开发过程成本不高,因此从经济可行性的角度考虑完全是可行的。 1.4.3 操作可行性 本系统采用 B/S 结构进
8、行开发和设计,只需具备基本计算机操作能力,用户便可以熟悉本系统的操作,系统按照版块划分,用户可以很容易找到操作目标,以及人性化的提示和设计,提高了系统 的易用性,总之,本系统操作简便,容易上手。 2 2.系统开发平台及相关技术介绍 2.1 JAVA EE 平台 简介 本论坛系统使用 J2EE 平台进行开发, J2EE 平台有以下几个优点: 1.简化结构 :只要遵循 J2EE 的标准,都可以支持此开发模型 4。 2.提高开发效率 3.可移植性强 4.重用性好 5.易于维护 6.可伸缩性 7.广泛性 2.2 SSH 三大框架介绍 SSH 由 struts+spring+hibernate 三大框架
9、组成,是一款被普遍使用的开源框架 4。 SSH 框架系统的四层架构使系 统更易搭建和维护。其中 Struts 实现控制业务跳转, Hibernate 框架则对持久层提供服务, Spring 进行管理。 SSH 由以下 3 个框架构成 : 1.Struts 框架 Struts 是一个优秀的框架,对 MVC 系统提供了良好的支持。其基本构成如图 2-1 所示 图 2-1 Struts 框架工作流程 2. Spring 框架 Spring 框架能够使开发过程更加简易,使用 JavaBean 进行操作,使得系统的开发更具简易性和可测试性,降低了系统的耦合性。 目的:使开发过程更简易 功能:代替 EJB
10、,有更多功能 范围:一切 Java 应用 Spring 是一个轻量级的优秀容器框架, 由以下 7 个部分构成 3 图 2.2 Spring 框架构成 3.Hibernate 框架 Hibernate 框架对数据进行封装使之成为对象,开发人员可以通过操作对象的方式来操作数据库,从而使开发更便捷。 Hibernate 在底层使数据持久化,给开发过程更简易 4。 它的构成如下图所示: 图 2.3 Spring 框架构成 2.3 oracle 数据库简介 ORACLE 是一种大型关系的结构化查询的数据库,是目前最流行的数据库之一,有以下几个特点 5。 Oracle 数据库的主要特点 1.性能优越,支持
11、广泛 2.安全性和完整性控制 3.支持分布式数据处理 4.可移植性 总之, oracle 数据库有以下几个优点: 1).可用性强 2).可扩展性强 3).数据安全性强 4).稳定性强 2.4 CSS+div 布局简介 Div+CSS 标准的主要优点 : 4 1.减少页面代码,提高运行速度 ,使带宽成本更低 6。 2.结构更加清晰。 3.缩短改版时间。 4.强大的字体控制和排版能力。 5.CSS 容易编写。 6.提高易用性。使用 CSS 可以结构化 HTML。 7.更好的完成页面布局。 8.表现和内容相分离。 5 3.系统需求设计 3.1 系统概要设计 3.1.1 功能模块分析与设计 本论坛系统
12、具备了一般 BBS 具有的功能,包括用户注册、登录、发表帖子、浏览帖子、回复帖子、收藏帖子、个人资料修改等。 本论坛系统根据需要将操作用户依次分为:游客、普通会员、版主会员、管理员,其中级别高的用户拥有低级别用户的权限。 以下是论坛系统用例图: 游 客普 通 用 户论 坛 版 块 管 理 员论 坛 管 理 员用 户 登 录注 册 用 户浏 览 帖 子搜 索 帖 子个 人 中 心发 表 帖 子回 复 帖 子申 请 版 主版 块 帖 子 管 理版 块 管 理版 主 会 员 管 理收 藏 帖 子公 告 管 理用 户 管 理帖 子 管 理*图 3.1 论坛系统用 例图 1)游客用户模块 用户在本校园论
13、坛系统没有登陆的时候(即游客)可以对本系统网站进行访问,并且具有以下几种基本操作功能: 查看帖子,访问者可以在没有登录的情况下访问版块的帖子,进入帖子查看帖子的具体发表信息。还可以查看最近一周的新帖子。 搜索帖子,可以输入简要的关键字对本论坛按照主题内容进行搜索到论坛的帖子。 登陆和注册,游客用户可以在本论坛系统进行登录和注册,登录后的用户可以拥有进一步的权限,用户可以进行注册成为本论坛的会员用户。 2)会员用户模块 游客在本论坛系统进行注册成功后,在登录页可以进行 登录,登录成功后成为会员用户,可以获得更多的基本操作的权限,为以下几点: 6 发表帖子,会员用户可以发表自己想要发表主题帖子,在
14、发表帖子的同时可以在帖子上添加附件进行资源的共享,以供会员用户进行下载使用。 回复帖子,会员用户可以在可以回复的帖子上回复自己想要发表的观点和想法,但是不能违反论坛健康发展的规定。 收藏帖子,会员可以收藏帖子,以便查看自己的喜欢的帖子。 下载附件,登录后用户可以进入帖子页下载相关附件。 个人中心,登录后的用户拥有自己的个人空间,在个人中心会员用户可以修改可以的个人资料,可以查看到自己完 整的基本信息,包括发帖数、回帖数、积分、用户 ID、登录名、邮箱、性别、最近登录时间等,并且可以通过查看我收藏的帖子链接进行查看自己收藏的喜欢的帖子,也可以对自己喜欢的帖子取消收藏。 申请版主,会员用户可以申请
15、成为喜欢版块的帖子,在申请版主的链接后进入申请页面,选择想要申请的版块,并且输入自己想要申请的理由,申请成功后等待管理员批准结果。 3)版主用户模块 版主拥有会员权限和以下几种操作权限: 版块帖子管理,版主可对版块帖子进行管理,可以管理版块所有帖子。 论坛公告管理 添加公告,版主登录后可进行添加公告操作 。 查看公告,版主可以查看所有的公告信息。 修改公告,版主可以修改公告的信息内容。 删除公告,版主可以删除过时或者失效的公告。 4)管理员版块 管理员拥有本论坛系统的最大权限,拥有版主的所有权限,并可以拥有对于所有版块、用户、帖子、版主的管理,具体操作功能如下: 版块管理 添加版块,管理员可添
16、加新版块,以供需要。 查看版块,管理员可查看版块信息。 修改版块,管理员可修改版块信息。 删除版块,管理员可删除版块。 用户管理 查看用户,管理员可以查看到用户信息 修改用户,管理员可以修改用户资料 禁用会员用户,管理 员可以禁止一些不遵守法律法规和论坛规定的用户进行禁止使用该用户操作。 帖子管理 查看帖子,管理员可以查看帖子的详细信息,并可以通过一些关键字进行搜索。 修改帖子,管理员可以修改帖子的一些相关信息。 删除帖子,管理员可以删除一些过时或者不合法的帖子信息。 版主管理 审批版主,管理员可以审批会员用户申请的版主申请理由,同意后该用户即可版主用户,亦可拒绝申请用户的请求。 添加版主,管
17、理员可添加新版主。 删除版主,管理员可删除版块的版主。 7 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(版主申请表 ),以上数据库表的建立能够为本论坛的功能提供相应的数据库支持。
18、表 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) 签名档