ImageVerifierCode 换一换
格式:DOCX , 页数:48 ,大小:1.10MB ,
资源ID:9483456      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9483456.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于java web校园论坛的设计与实现.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、基于java web校园论坛的设计与实现基于java web校园论坛的设计与实现【摘要】随着当今世界网络的发展,网络越来越被人们所接受,而网络论坛为人们的交流和解决问题提供了很大的帮助,为了使人们更好的交流,结合当前流行的SSH三大框架和jQuery等技术开发出一个方便的网上交流系统。论坛由Struts+Spring+Hibernate三大框架技术并结合当今流行的一些技术进行开发,本论坛系统采用B/S体系结构,数据库采用了功能强大的oracle数据库和PL/SQL Developer数据库集成开发环境。本论坛按照软件开发的过程,按照一定的需求,对于论坛的开发进行详细的分析和设计,从而保证了校园

2、论坛的开发和实现过程。【关键词】BBS;SSH;软件工程;ORACLE1.系统概述1.1 总体概述随着二十一世纪以来网络技术的不断发展,网络为人们提供了方便交流的场所。而网上论坛深受人们喜爱,网上论坛提供了一个可以相互交流的空间,也在以它独特的方式影响和改变着我们的生活1。本论坛采用当今流行的SSH(struts+Spring+Hibernate)三大框架技术进行开发,数据库是具有良好性能的oracle数据库,通过结合jQuery、html、jsp、css、div等技术,根据软件开发的过程进行需求分析、概要设计、详细设计、编码和测试等来实现和完善本论坛系统。1.2 开发背景及目的自从1978年

3、出现最早的BBS系统以来,伴随着计算机技术的发展和流行,人们对论坛系统的需求不断增加,人们需要一个扩展性和可维护性更好的论坛系统2。基于人们对于网上交流系统的需求, 由SSH框架(Sturts+Spring+hibernate)开发的BBS论坛就具有了很好的优势。为了使人们更好的进行交流,结合当前流行的SSH开发技术,开发出一套较为完整的论坛系统,由此,人们可以在网上自由的交流,可以帮助他人解决一些问题和进行经验的分享。1.4 系统可行性分析1.4.1 技术可行性本系统是一个基于SSH(struts2+spring+hibernate)三大框架、oracle数据库和PL/SQL Develop

4、er数据库集成开发环境等开发的系统,现有的技术比较完备,可以完成论坛系统的开发设计,其中SSH框架设计思想优秀且技术成熟,为本系统的开发提供了很好的技术条件,同时,开发时间也较为充足,预计可以在预定时间内完成系统开发3。1.4.2 经济可行性本系统的开发只要具有支持本系统的开发应用平台,无需资金的投入,系统的开发基于本人对程序开发的学习和实践,且软件的开发过程成本不高,因此从经济可行性的角度考虑完全是可行的。1.4.3 操作可行性本系统采用B/S结构进行开发和设计,只需具备基本计算机操作能力,用户便可以熟悉本系统的操作,系统按照版块划分,用户可以很容易找到操作目标,以及人性化的提示和设计,提高

5、了系统的易用性,总之,本系统操作简便,容易上手。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个框架构

6、成:1.Struts框架Struts是一个优秀的框架,对MVC系统提供了良好的支持。其基本构成如图2-1所示 图2-1 Struts框架工作流程2. Spring框架Spring框架能够使开发过程更加简易,使用JavaBean进行操作,使得系统的开发更具简易性和可测试性,降低了系统的耦合性。目的:使开发过程更简易功能:代替EJB,有更多功能范围:一切Java应用Spring是一个轻量级的优秀容器框架,由以下7个部分构成图2.2 Spring框架构成3.Hibernate框架Hibernate框架对数据进行封装使之成为对象,开发人员可以通过操作对象的方式来操作数据库,从而使开发更便捷。Hiber

7、nate在底层使数据持久化,给开发过程更简易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.强大的字体控制和排版

8、能力。5.CSS容易编写。6.提高易用性。使用CSS可以结构化HTML。7.更好的完成页面布局。8.表现和内容相分离。3.系统需求设计3.1 系统概要设计3.1.1 功能模块分析与设计本论坛系统具备了一般BBS具有的功能,包括用户注册、登录、发表帖子、浏览帖子、回复帖子、收藏帖子、个人资料修改等。本论坛系统根据需要将操作用户依次分为:游客、普通会员、版主会员、管理员,其中级别高的用户拥有低级别用户的权限。以下是论坛系统用例图:图3.1 论坛系统用例图1)游客用户模块用户在本校园论坛系统没有登陆的时候(即游客)可以对本系统网站进行访问,并且具有以下几种基本操作功能:查看帖子,访问者可以在没有登录

9、的情况下访问版块的帖子,进入帖子查看帖子的具体发表信息。还可以查看最近一周的新帖子。搜索帖子,可以输入简要的关键字对本论坛按照主题内容进行搜索到论坛的帖子。登陆和注册,游客用户可以在本论坛系统进行登录和注册,登录后的用户可以拥有进一步的权限,用户可以进行注册成为本论坛的会员用户。2)会员用户模块 游客在本论坛系统进行注册成功后,在登录页可以进行登录,登录成功后成为会员用户,可以获得更多的基本操作的权限,为以下几点:发表帖子,会员用户可以发表自己想要发表主题帖子,在发表帖子的同时可以在帖子上添加附件进行资源的共享,以供会员用户进行下载使用。回复帖子,会员用户可以在可以回复的帖子上回复自己想要发表

10、的观点和想法,但是不能违反论坛健康发展的规定。收藏帖子,会员可以收藏帖子,以便查看自己的喜欢的帖子。下载附件,登录后用户可以进入帖子页下载相关附件。个人中心,登录后的用户拥有自己的个人空间,在个人中心会员用户可以修改可以的个人资料,可以查看到自己完整的基本信息,包括发帖数、回帖数、积分、用户ID、登录名、邮箱、性别、最近登录时间等,并且可以通过查看我收藏的帖子链接进行查看自己收藏的喜欢的帖子,也可以对自己喜欢的帖子取消收藏。申请版主,会员用户可以申请成为喜欢版块的帖子,在申请版主的链接后进入申请页面,选择想要申请的版块,并且输入自己想要申请的理由,申请成功后等待管理员批准结果。3)版主用户模块

11、版主拥有会员权限和以下几种操作权限:版块帖子管理,版主可对版块帖子进行管理,可以管理版块所有帖子。论坛公告管理1添加公告,版主登录后可进行添加公告操作。2查看公告,版主可以查看所有的公告信息。3修改公告,版主可以修改公告的信息内容。4删除公告,版主可以删除过时或者失效的公告。4)管理员版块管理员拥有本论坛系统的最大权限,拥有版主的所有权限,并可以拥有对于所有版块、用户、帖子、版主的管理,具体操作功能如下:版块管理1添加版块,管理员可添加新版块,以供需要。2查看版块,管理员可查看版块信息。3修改版块,管理员可修改版块信息。4删除版块,管理员可删除版块。用户管理1查看用户,管理员可以查看到用户信息

12、2修改用户,管理员可以修改用户资料3禁用会员用户,管理员可以禁止一些不遵守法律法规和论坛规定的用户进行禁止使用该用户操作。帖子管理1查看帖子,管理员可以查看帖子的详细信息,并可以通过一些关键字进行搜索。2修改帖子,管理员可以修改帖子的一些相关信息。3删除帖子,管理员可以删除一些过时或者不合法的帖子信息。版主管理1审批版主,管理员可以审批会员用户申请的版主申请理由,同意后该用户即可版主用户,亦可拒绝申请用户的请求。2添加版主,管理员可添加新版主。3删除版主,管理员可删除版块的版主。3.2 系统数据库设计3.2.1 实体类图:图3.2 论坛系统数据库实体类图3.2.2 数据库表及关系建立本论坛系统

13、包括T_USER(用户表)、T_ROLE(角色信息表)、T_POST(帖子表)、T_POSTFILE(帖子附件表)、T_REPLYPOST(回复帖子表)、T_SECTION(版块表)、T_sec(版主版块关联表)、T_NOTICE(公告表)、T_Collection(帖子收藏表)、T_APPLY(版主申请表),以上数据库表的建立能够为本论坛的功能提供相应的数据库支持。表3-1T_USER属性说明表属性类型中文名备注idnumber用户ID主键usernameVarchar2(50)用户名非空realnameVarchar2(50)真实姓名sexVarchar2(4)性别addressVarch

14、ar2(50)地址passwordVarchar2(30)密码非空emailVarchar2(50)电子邮件非空phoneVarchar2(11)手机号码photoVarchar2(50)头像birthdaydate出生日期scorenumber积分默认为0lasttimedate最后登录时间registertimedate注册日期非空postCountnumber用户帖子数默认为0replyCountnumber用户回帖数默认为0statusnumber状态0正常;1禁用roleidnumber角色ID非空signatureVarchar2(50)签名档表3-2.T_ROLE属性说明表属性类

15、型中文名备注idNumber角色ID主键nameVarchar2(30)角色名称非空describeVachar2(50)角色简介表3-3.T_POST属性说明表属性类型中文名备注idnumber帖子ID主键titleVarchar2(50)帖子标题contentclob内容startTimedate发帖日期rewardnumber悬赏积分themeVarchar2标签statusnumber帖子状态authornumber发帖人外键sectionIdnumber版块ID外键表3-4. T_POSTFILE属性说明表属性类型中文名备注idnumber编号主键filenamevarchar2(2

16、00)文件名非空newfilenamevarchar2(200)新文件名非空postidnumber帖子ID外键表3-5. T_REPLYPOST属性说明表属性类型中文名备注idnumber回帖ID主键contentclob内容非空rePostTimedate回复日期非空reuidnumber用户ID(回复)外键postIdnumber帖子ID外键表3-6T_SECTION属性说明表属性类型中文名备注idnumber版块ID主键nameVarchar2版块名describeVarchar2版块描述postCountnumber版块帖子总数表3-7.T_sec(Section_user关联)属性

17、说明表属性类型中文名备注idnumberID主键sectionIDnumber版块ID外键useridnumber用户ID外键statusnumber状态0 可用;1失效表3-8T_NOTICE属性说明表属性类型中文名备注idnumber公告ID主键titleVarchar2标题非空contentclob内容非空timedate公告时间非空userIdnumber用户ID外键表3-10T_Collection属性说明表属性类型中文名备注idnumberID主键userIDnumber用户ID外键postIDnumber帖子ID外键表3-11T_APPLY属性说明表属性类型中文名备注idnumb

18、erID主键userIDnumber用户ID外键SectionIDnumber版块ID外键statusnumber审批状况0 未批;1已批;2取消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

19、公告表T_collection 收藏帖子表T_apply 版主申请表4.1.2 持久化层的建立 Hibernate的持久对象是基于POJO和java collections。此外,系统建立Hibernate的持久层。首先把BO持久化Hibernate是通过POJO工作的, 开发人员可以通过操作对象的方式去操作数据库,因此数据对象需要给所有的fileds 加上getter,setter方法。 Hibernate中对象映射通过XML文件实现,以下为本系统开发xml映射文件:1.TApply.hbm.xml2.TAttention.hbm.xml3.TCollection.hbm.xml4.TNot

20、ices.hbm.xml5.TPost.hbm.xml6.TPostfile.hbm.xml7.TReplypost.hbm.xml8.TRole.hbm.xml9.TSec.hbm.xml10.TSection.hbm.xml11.TUser.hbm.xml其中例如 TCollection.hbm.xml 映射文件如下:图4-2 TCollection.hbm.xml映射文件本系统开发可以在目录com.bbs.pojo下找到以上这些xml文件。Hibernate通过配置文件使程序进行通信,包括使用哪个连接池或DataSource,要加载哪些持久对象。而Session接口是用来完成Select

21、,Save,Delete和Update这些操作。4.1.3 业务逻辑层的建立本论坛系统的业务逻辑是交由struts中的Action进行操作的,在前台相关的业务请求会在后台得到响应,其中一些关联的映射,是写在struts框架的struts.xml中的。图4-3 struts.xml 映射文件 spring框架使用“依赖注射”(dependency injection)。 Spring把程序中所涉及到的业务逻辑和Dao的对象,例如transactionManager(事物管理器)、baseTransaction(事务代理父工厂)、sessionFactory(Session工厂)都通过XML配置联

22、系起来。图4-4 applicationContext.xml 映射文件(部分)每个对象都可以在Spring 配置信息applicationContext.xml中用标签引用。由此, HibernateTransactionManager有个sessionFactory setter 和 getter方法,这是用来在Spring启动的时候实现依赖注入(DI)。在sessionFactory属性里引用父Session工厂,从而低了维护代码的代价。图4-5 Spring配置文件4.1.4 表示层的建立在表示层中通过struts.xml文件使业务方法进行关联映射,通过AJAX异步加载技术进行建立,本

23、系统中关联映射如下:图4-6 struts.xml映射表(部分)4.2 系统功能界面4.2.1 登录系统界面会员用户登录论坛系统成功后将自己的用户信息存储在session中8。通过在登录页面输入正确的用户名、密码和验证码后按下登陆按钮后会通过jQuery方式对用户输入的值进行判断,并给与相应的提示表 4-1 登录用例说明用例登录系统简要描述此用例允许参与者进行系统登录验证。参与者游客、会员用户、版主用户、管理员前置条件用户进入本系统登录界面。主事件流参与者输入系统网址进入论坛系统登录页面,此用例开始。1登录系统界面显示帐号密码的输入表单,包括以下的项。 1.1表单标题是“论坛系统登陆”。1.2

24、在界面右边、中间高度提供账号密码的输入框。1.3在帐号密码框下方,显示验证码、验证码输入框和换一个验证码的提示,并可以通过换一个链接响应服务器换掉一个验证码。1.4 在登录界面右上角有注册和返回首页的链接2当光标停留在输入框时,可以进行帐号密码或验证码输入。 3点击登录按钮,则参与者帐号密码信息被提交至服务器进行验证。4文本框内容为空或验证码错误,则显示提示信息,字体颜色为红色。备选流数据库发生错误,提示登录错误请重试。账号或密码不正确,提示账号或密码错误。验证码为空,提示要求正确填写验证码。后置条件登录成功后进入到首页,否则不跳转。下面是界面效果:图4-7 系统登录图以下为界面设计代码:图4

25、-8 登录界面代码图以下为js执行的代码:function submitLogin()/登陆提交、验证密码不能为空 var loginName=document.getElementById(loginName); var loginPwd=document.getElementById(loginPwd) if(loginName.value!=&loginPwd.value!=) this.isRightCode(); else document.getElementById(info).innerHTML=用户名或密码不能为空!; /用ajax访问url,类型为post 用data传参,

26、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的时候登陆

27、成功 跳到首页,登陆失败后提示错误信息function callback(data) if(data.toString()=1) document.forms0.action=indexAction; document.forms0.submit(); return; else $(#info).html(data); return; 4.2.2 发表帖子界面用户在登录后可发表帖子,用户点击发表帖子按钮后进入发表编辑页面,用户选择要发表的模块并输入内容,亦可传上要分享的附件后进行发表,系统检测用户输入内容的合法性,合法输入后将数据写入数据库,并且跳转到新的帖子页面。表 4-2 发表帖子用例说明

28、用例发表帖子简要描述当用户单击发表帖子按钮时,系统跳转到发表帖子界面,用户输入帖子主题和内容并可上传附件后,点击发表按钮,系统提示相应的信息参与者会员用户、版主用户、管理员前置条件参与者已登录本论坛系统主事件流参与者登录到本论坛系统,并单击发表帖子按钮时,此用例开始。1基流(BasicFlow)1.1当用户点击发表按钮,用例启动。1.2系统跳转到发表帖子界面。1.3用户输入自己想发表的内容并选择版块,亦可传入要分享的附件后按下进行发表的按钮。1.4系统检测用户输入的内容是否准确性。1.5系统在将该帖子信息添加到数据库中并在页面的相应位置显示该条帖子。6.发表成功后系统跳到查看最新发表的帖子的页面。2异常流(Exception Flow) E-1:输入的内容为空,系统提示内容不为空,用例结束。E-2:输入的内容非法,数据库中不插入,系统提示内容不合法,用例终止。备选流数据库异常,提示用户无法操作稍后在试。输入内容为空或输入错误,提示用户正确填写输入内容。后置条件发表成功后跳转到新发表的帖子页面,否则不跳转。 下面是界面效果:图4-9 发帖界面4.2.3 回复帖子界面用户在登陆论坛系统后,可以对于已发表的帖子进行回复。点击回复后跳转到编辑页面,编辑内容不能为

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

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