基于java web校园论坛的设计与实现【摘要】随着当今世界网络的发展,网络越来越被人们所接受,而网络论坛为人们的交流和解决问题提供了很大的帮助,为了使人们更好的交流,结合当前流行的SSH三大框架和jQuery等技术开发出一个方便的网上交流系统论坛由Struts+Spring+Hibernate三大框架技术并结合当今流行的一些技术进行开发,本论坛系统采用B/S体系结构,数据库采用了功能强大的oracle数据库和PL/SQL Developer数据库集成开发环境本论坛按照软件开发的过程,按照一定的需求,对于论坛的开发进行详细的分析和设计,从而保证了校园论坛的开发和实现过程关键词】BBS;SSH;软件工程;ORACLE目 录1.系统概述 11.1 总体概述 11.2 开发背景及目的 11.4 系统可行性分析 11.4.1 技术可行性 11.4.2 经济可行性 11.4.3 操作可行性 12.系统开发平台及相关技术介绍 22.1 JAVA EE平台简介 22.2 SSH三大框架介绍 22.3 oracle数据库简介 32.4 CSS+div布局简介 43. 系统需求设计 53.1 系统概要设计 53.1.1 功能模块分析与设计 53.2 系统数据库设计 73.2.1 实体类图: 73.2.2 数据库表及关系建立 74.系统详细设计 104.1 系统框架实现 104.1.1 底层数据库的建立 104.1.2 持久化层的建立 104.1.3 业务逻辑层的建立 114.1.4 表示层的建立 134.2 系统功能界面 134.2.1 登录系统界面 134.2.3 回复帖子界面 174.2.4 个人中心维护界面 184.2.4 申请版主界面 194.2.5 后台管理界面 194.2.6 其他主要界面 214.3 关键技术说明 211).jsp嵌入java代码 212).页面分页技术 213).jQuery技术的引用 234).文件的上传和下载技术 244.4开发环境说明及搭建 254.4.1环境说明 254.4.2搭建过程截图 255.系统的调试与测试 285.1 测试概述 285.1.1 软件测试目的 285.1.2 软件测试任务 285.1.2 软件测试的环境 285.2 系统功能测试 285.2.1 黑盒测试 285.2.2 白盒测试 305.2.3 模块接口测试 305.3 集成测试 305.3.1 自顶向下集成 305.3.2 确认测试标准 306. 结论 317. 致谢 321.系统概述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 经济可行性本系统的开发只要具有支持本系统的开发应用平台,无需资金的投入,系统的开发基于本人对程序开发的学习和实践,且软件的开发过程成本不高,因此从经济可行性的角度考虑完全是可行的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框架系统的四层架构使系统更易搭建和维护其中Struts实现控制业务跳转,Hibernate框架则对持久层提供服务,Spring进行管理SSH由以下3个框架构成:1.Struts框架Struts是一个优秀的框架,对MVC系统提供了良好的支持。
其基本构成如图2-1所示 图2-1 Struts框架工作流程2. Spring框架Spring框架能够使开发过程更加简易,使用JavaBean进行操作,使得系统的开发更具简易性和可测试性,降低了系统的耦合性目的:使开发过程更简易功能:代替EJB,有更多功能范围:一切Java应用Spring是一个轻量级的优秀容器框架,由以下7个部分构成图2.2 Spring框架构成3.Hibernate框架Hibernate框架对数据进行封装使之成为对象,开发人员可以通过操作对象的方式来操作数据库,从而使开发更便捷Hibernate在底层使数据持久化,给开发过程更简易[4]它的构成如下图所示:图2.3 Spring框架构成2.3 oracle数据库简介ORACLE 是一种大型关系的结构化查询的数据库,是目前最流行的数据库之一,有以下几个特点[5]Oracle数据库的主要特点1.性能优越,支持广泛2.安全性和完整性控制3.支持分布式数据处理4.可移植性总之,oracle数据库有以下几个优点:1).可用性强2).可扩展性强3).数据安全性强4).稳定性强2.4 CSS+div布局简介Div+CSS标准的主要优点:1.减少页面代码,提高运行速度,使带宽成本更低[6]。
2.结构更加清晰3.缩短改版时间4.强大的字体控制和排版能力5.CSS容易编写6.提高易用性使用CSS可以结构化HTML7.更好的完成页面布局8.表现和内容相分离3. 系统需求设计3.1 系统概要设计3.1.1 功能模块分析与设计本论坛系统具备了一般BBS具有的功能,包括用户注册、登录、发表帖子、浏览帖子、回复帖子、收藏帖子、个人资料修改等本论坛系统根据需要将操作用户依次分为:游客、普通会员、版主会员、管理员,其中级别高的用户拥有低级别用户的权限以下是论坛系统用例图:图3.1 论坛系统用例图1)游客用户模块用户在本校园论坛系统没有登陆的时候(即游客)可以对本系统网站进行访问,并且具有以下几种基本操作功能:Ø 查看帖子,访问者可以在没有登录的情况下访问版块的帖子,进入帖子查看帖子的具体发表信息还可以查看最近一周的新帖子Ø 搜索帖子,可以输入简要的关键字对本论坛按照主题内容进行搜索到论坛的帖子Ø 登陆和注册,游客用户可以在本论坛系统进行登录和注册,登录后的用户可以拥有进一步的权限,用户可以进行注册成为本论坛的会员用户2)会员用户模块 游客在本论坛系统进行注册成功后,在登录页可以进行登录,登录成功后成为会员用户,可以获得更多的基本操作的权限,为以下几点:Ø 发表帖子,会员用户可以发表自己想要发表主题帖子,在发表帖子的同时可以在帖子上添加附件进行资源的共享,以供会员用户进行下载使用。
Ø 回复帖子,会员用户可以在可以回复的帖子上回复自己想要发表的观点和想法,但是不能违反论坛健康发展的规定Ø 收藏帖子,会员可以收藏帖子,以便查看自己的喜欢的帖子Ø 下载附件,登录后用户可以进入帖子页下载相关附件Ø 个人中心,登录后的用户拥有自己的个人空间,在个人中心会员用户可以修改可以的个人资料,可以查看到自己完整的基本信息,包括发帖数、回帖数、积分、用户ID、登录名、邮箱、性别、最近登录时间等,并且可以通过查看我收藏的帖子链接进行查看自己收藏的喜欢的帖子,也可以对自己喜欢的帖子取消收藏Ø 申请版主,会员用户可以申请成为喜欢版块的帖子,在申请版主的链接后进入申请页面,选择想要申请的版块,并且输入自己想要申请的理由,申请成功后等待管理员批准结果3)版主用户模块版主拥有会员权限和以下几种操作权限:Ø 版块帖子管理,版主可对版块帖子进行管理,可以管理版块所有帖子Ø 论坛公告管理① 添加公告,版主登录后可进行添加公告操作② 查看公告,版主可以查看所有的公告信息③ 修改公告,版主可以修改公告的信息内容④ 删除公告,版主可以删除过时或者失效的公告4)管理员版块管理员拥有本论坛系统的最大权限,拥有版主的所有权限,并可以拥有对于所有版块、用户、帖子、版主的管理,具体操作功能如下:Ø 版块管理① 添加版块,管理员可添加新版块,以供需要。
② 查看版块,管理员可查看版块信息③ 修改版块,管理员可修改版块信息④ 删除版块,管理员可删除版块Ø 用户管理① 查看用户,管理员可以查看到用户信息② 修改用户,管理员可以修改用户资料③ 禁用会员用户,管理员可以禁止一些不遵守法律法规和论坛规定的用户进行禁止使用该用户操作Ø 帖子管理① 查看帖子,管理员可以查看帖子的详细信息,并可以通过一些关键字进行搜索② 修改帖子,管理员可以修改帖子的一些相关信息③ 删除帖子,管理员可以删除一些过时或者不合法的帖子信息Ø 版主管理① 审批版主,管理员可以审批会员用户申请的版主申请理由,同意后该用户即可版主用户,亦可拒绝申请用户的请求② 添加版主,管理员可添加新版主③ 删除版主,管理员可删除版块的版主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_Col。