毕业设计(论文)-基于java_web校园论坛的设计与实现.doc_第1页
毕业设计(论文)-基于java_web校园论坛的设计与实现.doc_第2页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于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可以结构化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-1t_user属性说明表属性类型中文名备注idnumber用户id主键usernamevarchar2(50)用户名非空realnamevarchar2(50)真实姓名sexvarchar2(4)性别addressvarchar2(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属性说明表属性类型中文名备注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(200)文件名非空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关联)属性说明表属性类型中文名备注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属性说明表属性类型中文名备注idnumberid主键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公告表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.tnotices.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,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配置联系起来。图4-4 applicationcontext.xml 映射文件(部分)每个对象都可以在spring 配置信息applicationcontext.xml中用标签引用。由此, hibernatetransactionmanager有个sessionfactory setter 和 getter方法,这是用来在spring启动的时候实现依赖注入(di)。在sessionfactory属性里引用父session工厂,从而低了维护代码的代价。图4-5 spring配置文件4.1.4 表示层的建立在表示层中通过struts.xml文件使业务方法进行关联映射,通过ajax异步加载技术进行建立,本系统中关联映射如下:图4-6 struts.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执行的代码:function submitlogin()/登陆提交、验证密码不能为空var loginname=document.getelementbyid(loginname);var loginpwd=document.getelementbyid(loginpwd)if(loginname.value!=&loginpwd.value!=)this.isrightcode();elsedocument.getelementbyid(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)document.forms0.action=indexaction; document.forms0.submit(); return;else$(#info).html(data);return; 4.2.2 发表帖子界面用户在登录后可发表帖子,用户点击发表帖子按钮后进入发表编辑页面,用户选择要发表的模块并输入内容,亦可传上要分享的附件后进行发表,系统检测用户输入内容的合法性,合法输入后将数据写入数据库,并且跳转到新的帖子页面。表 4-2 发表帖子用例说明用例发表帖子简要描述当用户单击发表帖子按钮时,系统跳转到发表帖子界面,用户输入帖子主题和内容并可上传附件后,点击发表按钮,系统提示相应的信息参与者会员用户、版主用户、管理员前置条件参与者已登录本论坛系统主事件流参与者登录到本论坛系统,并单击发表帖子按钮时,此用例开始。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 回复帖子界面用户在登陆论坛系统后,可以对于已发表的帖子进行回复。点击回复后跳转到编辑页面,编辑内容不能为空,系统检测用户数据是否合法,不合法进行相关提示。表 4-3 回复帖子用例说明用例回复帖子简要描述当系统已经成功将帖子显示在帖子列表上,用户可以点击回复按钮,系统会跳转到回复页面,用户输入内容后点击回复按钮,系统添加该评论到数据库中并显示在页面的相应位置上参与者会员用户、版主用户、管理员前置条件参与者已登录主事件流参与者登录到本论坛系统,并单击发表帖子按钮时,此用例开始。1基流(basicflow)1当用户点击回复按钮时,用例启动。2系统进入到回帖编辑界面。3输入回复内容,然后提交。4.在用户没有登录的情况下提示用户登录后才可对帖子进行回复,登录后则可以进行回复。4系统检测输入是否准确。5系统在将该帖子信息添加到数据库中并在帖子页面的相应位置显示该条回复内容。6.发表成功后系统跳到用户所回复的帖子页面。2异常流(exception flow) e-1:输入内容为空,提示不能为空,用例终止。e-2:输入内容不合法,数据库中不插入,系统提示内容非法,用例终止。备选流数据库异常,提示用户无法操作稍后在试。输入内容为空或输入错误,提示用户正确填写输入内容才能进行回复。后置条件操作成功后进入回帖页面,否则不跳转。下面是界面效果:图4-10 回复界面4.2.4 个人中心维护界面用户在论坛系统登录后有自己的个人中心,用户可以在自己的个人中心查看到自己的详细信息,也可以查看到自己收藏的帖子。用例个人中心中心维护简要描述当系统已经成功将帖子显示在帖子列表上,用户可以点击回复按钮,系统会跳转到回复页面,用户输入内容后点击回复按钮,系统添加该评论到数据库中并显示在页面的相应位置上参与者会员用户、版主用户、管理员前置条件用户已登录主事件流参与者登录到本论坛系统,并单击发表帖子按钮时,此用例开始。1基流(basicflow)1当用户点击回复按钮时,用例启动。2系统进入界面到回帖编辑内容。3输入回复内容后进行提交。4.在用户没有登录的情况下提示用户登录后才可对帖子进行回复,登录后则可以进行回复。4系统检测输入的准确性。5系统在将该帖子信息添加到数据库中并在帖子页面的相应位置显示该条回复内容。6.发表成功后系统进入帖子列表页面。2异常流(exception flow) e-1:输入的内容为空,系统提示内容不能为空,用例终止。e-2:输入的内容非法,数据库中不插入,系统提示内容不合法,用例结束。备选流数据库异常,提示用户无法操作稍后在试。输入内容为空或输入错误,提示用户正确填写输入内容才能进行回复。后置条件发表成功后进入用户回复的帖子页面,否则不跳转。表 4-3 个人中心维护用例说明下面是界面效果:图4-11 个人中心界面4.2.4 申请版主界面会员用户在登录系统后可以对自己感兴趣的论坛版块进行申请成为版主,管理员同意后即可成为版主。表 4-4 申请版主用例说明用例申请版主简要描述当会员用户登录以后,可以对于喜爱的版块向管理员申请版主的身份,帮助管理版块的帖子内容。参与者会员用户前置条件用户已登录主事件流参与者登录到本论坛系统,并单击申请版主链接时,此用例开始。1基流(basicflow)1.1当参与者点击申请版主时,用例启动。1.2系统跳转到申请版主编辑界面。1.3用户输入选择要申请的版块和申请理由后点击进行提交按钮。1.4.未登录,不能进行申请。1.4检测用户输入的内容是否准确。1.5系统将信息添加到数据库。1.6.操作成功后系统跳到个人中心页面。2异常流(exception flow) e-1:该用户输入的内容为空,系统提示内容非空,用例终止。e-2:该用户输入的内容不合法,数据库中不插入,系统提示内容不合法,用例终止。备选流数据库异常,提示用户无法操作稍后在试。输入内容为空或输入错误,提示用户正确填写输入内容才能进行回复。后置条件发表成功后进入个人中心页面,否则不跳转。下面是界面效果:图4-12 申请版主界面4.2.5 后台管理界面版主和管理员有进行后台管理的权值,版主可以管理其所属的版块帖子和公告进行管理,管理员则具有最高权限,可以对帖子、公告、用户、版主申请等进行管理,当不同角色的用户登入系统时,系统判定后会加载入其相应的操作功能,使其规范和完善论坛的管理。表 4-4 后台管理说明用例版主、管理员简要描述当版主或管理员登录系统后,系统自动检测其身份,并加载其对应身份的操作页面,然后可以对相应的角色操作进行管理。参与者会员用户前置条件参与者已登录且具有相应的身份主事件流参与者登录到本论坛系统,并单击相应权限链接时,此用例开始。1基流(basicflow)1当参与者点击后台管理链接时,用例启动。2系统跳转到后台管理页面。3系统加载其对应角色权限可以进行的操作。4.在用户操作数据非法时,给予相应提示。4系统检测用户操作和输入内容是否准确。5操作成功后给予相应的提示2异常流(exception flow) e-1:输入的内容为空,系统提示内容非空,用例终止。e-2:输入的内容非法,数据库中不插入,系统提示内容不合法,用例结束。备选流数据库异常,提示用户无法操作稍后在试。输入内容错误,提示用户正确填写输入内容才能进行回复。后置条件操作成功后进入到后台管理页面,否则不跳转。下面是界面效果:图4-13 后台管理界面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页面首部添加以下两条引用然后在页面中即可引用以下方法调用dao,注意在使用时spring的依赖注入,不能使用直接实例化方法来获得dao,那样会导致空指针异常。2).页面分页技术对于分页总的来说有两种方式一种是在页面形成分页div 用户申请换页时再进行页面相应数据的加载,服务器再根据用户的申请发送相应的数据内容9,一种是先将所有数据加载到页面session中,然后在对session进行分页,两种方式各有各的优点和缺点,本论坛系统采用的是第一种方法通过页面请求再进行加载数据内容,在分页的过程中最主要的参数有三个,一个是总记录数pagecount,一个是页面分页数pagesize 还有一个是当前页currentpage;知道这三个参数后就可以知道总页数和后台需要返回给前台的数据。以下为主要方法形成分页div:public string pagetool(string flag) stringbuffer str = new stringbuffer(); string url = this.getparamurl();int propage = this.currentpage - 1; int nextpage = this.currentpage + 1;if (flag.equals(pagedao.text) str.append();str.append();str.append();str.append( );str.append();str.append(共有记录 + this.rscount + 条   );str.append(共 + this.pagecount + 页   );str.append(每页 + this.pagesize + 记录   );str.append(现在 + this.currentpage + / + this.pagecount + 页);str.append();if (this.currentpage 1) str.append();str.append(   );str.append();str.append(   ); else str.append();str.append(   );str.append();str.append(   );if (this.currentpage this.pagecount) str.append();str.append(   ); else str.append();str.append(   );if (this.pagecount 1 & this.currentpage != this.pagecount) str.append();str.append(   ); else str.append();str.append(   );str.append( );str.append();for (int j = 1; j = pagecount; j+) str.append();str.append( + j + );str.append();str.append(页);str.append( );str.append();str.append(function changepage(testpage);str.append(document.pageform.action= + url+ ¤tpage=+testpage+;);str.append(document.pageform.submit(););str.append();str.append();str.append(); 有了以上形成分页div的方法后即可调用形成的div通过session放在页面进行显示了session.setattribute(currentpage, currentpage);session.setattribute(pagetool, pagetool);jsp页面引用即可: $sessionscope.pagetool 3).jquery技术的引用jquery,顾名思议,也就是javascript和查询(query),即是辅助java

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论