29基于Spring技术的校园网站论坛开发与实现.docx

上传人:b****8 文档编号:8959969 上传时间:2023-05-16 格式:DOCX 页数:50 大小:391.20KB
下载 相关 举报
29基于Spring技术的校园网站论坛开发与实现.docx_第1页
第1页 / 共50页
29基于Spring技术的校园网站论坛开发与实现.docx_第2页
第2页 / 共50页
29基于Spring技术的校园网站论坛开发与实现.docx_第3页
第3页 / 共50页
29基于Spring技术的校园网站论坛开发与实现.docx_第4页
第4页 / 共50页
29基于Spring技术的校园网站论坛开发与实现.docx_第5页
第5页 / 共50页
29基于Spring技术的校园网站论坛开发与实现.docx_第6页
第6页 / 共50页
29基于Spring技术的校园网站论坛开发与实现.docx_第7页
第7页 / 共50页
29基于Spring技术的校园网站论坛开发与实现.docx_第8页
第8页 / 共50页
29基于Spring技术的校园网站论坛开发与实现.docx_第9页
第9页 / 共50页
29基于Spring技术的校园网站论坛开发与实现.docx_第10页
第10页 / 共50页
29基于Spring技术的校园网站论坛开发与实现.docx_第11页
第11页 / 共50页
29基于Spring技术的校园网站论坛开发与实现.docx_第12页
第12页 / 共50页
29基于Spring技术的校园网站论坛开发与实现.docx_第13页
第13页 / 共50页
29基于Spring技术的校园网站论坛开发与实现.docx_第14页
第14页 / 共50页
29基于Spring技术的校园网站论坛开发与实现.docx_第15页
第15页 / 共50页
29基于Spring技术的校园网站论坛开发与实现.docx_第16页
第16页 / 共50页
29基于Spring技术的校园网站论坛开发与实现.docx_第17页
第17页 / 共50页
29基于Spring技术的校园网站论坛开发与实现.docx_第18页
第18页 / 共50页
29基于Spring技术的校园网站论坛开发与实现.docx_第19页
第19页 / 共50页
29基于Spring技术的校园网站论坛开发与实现.docx_第20页
第20页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

29基于Spring技术的校园网站论坛开发与实现.docx

《29基于Spring技术的校园网站论坛开发与实现.docx》由会员分享,可在线阅读,更多相关《29基于Spring技术的校园网站论坛开发与实现.docx(50页珍藏版)》请在冰点文库上搜索。

29基于Spring技术的校园网站论坛开发与实现.docx

29基于Spring技术的校园网站论坛开发与实现

基于Spring技术的校园网站论坛开发与实现

 

姓名

系别、专业 

导师姓名、职称

完成时间

 

目录

摘要I

AbstractII

1前言1

1.1网站论坛简述1

1.2问题提出与现状分析1

2相关开发环境及技术理论3

2.1系统开发环境3

2.2技术简介3

2.2.1系统设计的主要技术路线3

2.2.2J2EE体系结构介绍3

2.2.3Spring框架简介4

3系统需求分析5

3.1功能需求分析5

3.2系统可行性分析5

3.2.1环境可行性分析5

3.2.2技术可行性分析6

3.2.3操作可行性分析6

3.2.4分析结果6

4系统总体设计7

4.1系统功能结构总统框架设计7

4.2系统各功能模块用例分析7

4.3数据库设计9

4.3.1数据库总体设计9

4.3.2数据字典10

5系统详细设计14

5.1系统运行环境和部署架构14

5.2系统体系结构的设计14

5.3系统业务流程14

5.4系统代码实现15

5.4.1系统控制层15

5.4.2系统显示层19

6BBS的完善与改进意见26

注释27

参考文献28

致谢29

附录30

 

摘要

本系统系采用基于J2EE平台的Struts、Hibernate和Spring框架开发。

通过利用面向对象和分层的编程技术,实现现有大多数网站所具备的诸如浏览文章、发布文章和回复文章等功能。

同时本系统通过运用开源框架的优势,在很大程度上解决了系统开发中过于繁琐的数据转换、异常处理及事务处理等问题,简化和集成了系统框架,整改和完善了事务和业务逻辑的处理。

本系统主要分为普通用户和管理员两个大的模块,其中普通用户模块包括:

用户注册、用户登陆、发帖提问、问题回答、问题检索、回答问题记录、用户问题记录、修改用户个人资料。

管理员模块包括:

管理员维护、栏目管理、问题管理、用户管理、密码修改。

本文主要介绍在实际研究开发过程中采用的一些技术手段。

关键词:

Struts;Hibernate;Spring

 

ABSTRUCT

ThedesignanddevelopmentofBBS,whichisbasedon"JAVAEEStruts","Hibernate","Spring"Frameworkandtheconnectionpool,viatheobject-orientedprogrammingandlayeredtechnologies,makesusnowrealizemostfunctionsofBBS.Thankstotheuseoftheconnectionpoolandframeworkoftheopen-source,wenowdon'tneedcaremuchabouttheconversionandtheprocessingbetweendifferentdata,onlytofocusonthejudgmentoflogic.

TherearetwomainmodulesintheBBSinresearch,thenormalmodeandtheadministratormode.Thenormalmodeincludes:

userregistration,loggingin,postingquestions,answeringquestions,questionsindex,answersrecords,questionsrecords,andmodificationofusers'personalinformation.Administratormodeincludes:

administratormaintenance,managementofthemes,managementofproblems,managementofusers,andmodificationofpasswords.

Thispaperfocusesonsometechniquesintheresearch,includingsometheoryfoundationandsomeproblemsforthefurtherdevelopmentofBBS.

Keywords:

Struts;Hibernate;Spring

 

1.前言

1.1网站论坛简述

网站论坛是一个以文化交流,学习知识为目的的,借助网络传输媒体和WEB共享实现的应用系统。

像日常生活中的黑板报一样,电子公告牌按不同的主题、分主题分成很多个布告栏,布告栏的设立的依据是大多数BBS使用者的要求和喜好,使用者可以阅读他人关于某个主题的最新看法,也可以将自己的想法毫无保留地贴到公告栏中。

同样地,别人对你的观点的回应也是很快的(有时候几秒钟后就可以看到别人对你的观点的看法)。

在互联网,人们之间的交流打破了空间、时间的限制。

在与别人进行交往时,无须考虑自身的年龄、学历、知识、社会地位、财富、外貌,健康状况,而这些条件往往是人们在其他交流形式中无可回避的。

同样地,也无从知道交谈的对方的真实社会身份。

这样,参与BBS的人可以处于一个平等的位置与其他人进行任何问题的探讨。

这对于现有的所有其他交流方式来说是不可能的。

伴随着网络的出现,网页逐渐融入人们的生活。

随着Internet的进一步发展,建站的技术日新月异。

就现在开发web技术来说,主要集中分为三大类:

基于C/S结构的应用程序开发;结合C/S结构和Web技术的复合应用程序;基于B/S结构的动态网页技术。

C/S结构系统:

是传统开发模式,一般以数据库和客户端的两层结构实现,也有加入中间件的三层或多层结构,在web早期是标准的系统模式,但随着计算机技术的发展和网络的发展,C/S结构的不足越发明显,B/S结构系统逐渐成为了时尚

本系统在功能上实现了现今大多数网站系统具有的功能。

在开发与实现的过程当中运用了JAVAEE中比较流行的框架和设计模式,这是本论坛的一个特点。

本系统能够让人们更加方便的在网上进行知识交流,从而促进文化知识的传播以及各类信息技术的传播,同时达到人们网上交流、学习的目的。

1.2问题提出与现状分析

以往类似于本系统的开发通常基于ASP技术,出于在安全性、系统稳定性和系统可维护性等方面考虑,传统的ASP技术已远远不及如今基于面向对象技术的J2EE框架系统。

首先在安全性方面,ASP系统很容易被黑客攻击,由于ASP的源码并未加密,黑客很容易通过源码来破解系统的漏洞并加以攻击。

此外在数据库查询方面,APS的安全性也远远落后于J2EE技术。

其次在系统稳定性方面,由于ASP不支持线程,每次请求和响应均需要建立相应的进程加以调度,一旦系统访问量增大,系统将由于负荷过载而导致系统访问缓慢,更严重的甚至导致系统崩溃

最后在系统可维护性方面。

由APS是视图和业务逻辑混合结构,在对于如今主张分层设计的J2EE系统而言,ASP的混乱且无序的框架根本无法存在可维护性。

综上所述,本系统采用基本J2EE技术开发。

并运用各开源框架完善系统架构。

使系统在安全性、稳定性、可维护性等方面较APS更胜一筹。

 

2相关开发环境及技术理论

2.1系统开发环境

•采用B/S架构,使用JDSK1.5.04运行环境

•服务器操作系统:

WindowsXP

•数据库服务器:

MySQL5.1.39

•Web服务器:

Apache-Tomcat-6.0.1

2.2技术简介

2.2.1系统设计的主要技术路线

本管理系统是在Spring框架的基础上开发出来的。

典型的J2EE结构分为三次结构:

表现层、业务逻辑层和数据服务层。

三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。

客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。

表现层是传统的JSP技术,自1999年问世以来,经过多年的发展,其广泛的应用和稳定的表现,为其作为表现层技术打下了坚实的基础。

该系统从逻辑结构上分为四层:

表示层、业务逻辑层、服务层和数据持久层。

其中使用Spring作为网站的整体基础架构,负责MVC的分离,在Spring框架的模型部分,利用Hibernate框架对持久层提供支持。

2.2.2J2EE体系结构介绍

J2EE是一种利用Java2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。

J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,导致企业内部或外部难以互通的窘境。

J2EE技术的基础就是核心Java平台或Java2平台的标准版,J2EE不仅巩固了标准版中的许多优点,如编写一次、随处运行的特性、方便存储数据库的JDBCAPI以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(EnterpriseJavaBeans)、JavaServletsAPI、JSP(JavaServerPages)以及XML技术的全面支持。

其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。

J2EE体系结构大致可以分为以下几层:

(1)DomainObject(领域对象)层:

此层由系列的POJO(PlainOldJavaObject,普通的、传统的Java对象)组成,这些对象是该系统的DomainObject,往往包含了各自所需要实现的业务逻辑方法。

(2)DAO(DataAccessObject,数据访问对象)层:

此层由系列的DAO组件组成,这些DAO实现了对数据库的创建、查询、更新和删除(CRUD)等原子操作。

(3)业务逻辑层:

此层由系列的业务逻辑对象组成,这些业务逻辑对象实现了系统所需要的业务逻辑方法。

这些业务逻辑方法可能仅仅用于暴露DomainObject对象所实现的业务逻辑方法,也可能是依赖DAO组件实现业务逻辑方法。

(4)控制器层:

此层由系列控制器组成,这些控制器用于拦截用户请求,并调用业务逻辑组件的业务逻辑方法,处理用户请求,并根据处理结果转发到不同的表现层组件。

(5)表现层:

此层由系列的JSP页面、Velocity页面、PDF文档视图组件组成。

此层负责收集用户请求,并将显示处理结果[10]。

2.2.3Spring框架简介

该系统主要运用Spring框架。

Spring是一个开源框架,它由RodJohnson创建。

它是为了解决企业应用开发的复杂性而创建的。

Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。

另外,Spring的用途不仅限于服务器端的开发。

从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。

简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

轻量即从大小与开销两方面而言Spring都是轻量的。

完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。

并且Spring所需的处理开销也是微不足道的。

此外,Spring是非侵入式的:

典型地,Spring应用中的对象不依赖于Spring的特定类。

控制反转即Spring通过一种称作控制反转(IoC)的技术促进了松耦合。

当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。

可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。

面向切面即Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。

应用对象只实现它们应该做的,完成业务逻辑,仅此而已。

它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。

容器即Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。

然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。

框架即Spring可以将简单的组件配置、组合成为复杂的应用。

在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。

Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。

所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。

它们也为Spring中的各种模块提供了基础支持。

3系统需求分析

3.1功能需求分析

功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足业务需求。

参照业务需求分析的结果对每个业务进行细化,从而得到系统的功能模块。

通过分析,本系统主要分为普通用户和管理员两个大的模块,其中普通用户模块包括:

用户注册、用户登陆、发帖提问、问题回答、问题检索、回答问题记录、用户问题记录、修改用户个人资料。

管理员模块包括:

管理员维护、栏目管理、问题管理、用户管理、密码修改。

3.2系统可行性分析

3.2.1环境可行性分析

系统主要运用Spring框架技术开发,开发所需要的软件工具都是简单易操作的且开源,安全,可维护性强。

如下所示:

Web服务器:

Apache-Tomcat-6.0.1版本。

开发技术:

JDK5.0相关新特性、Spring框架技术、Hibernate框架技术、Struts框架技术。

系统选用MyEclipse7.0作为集成开发环境。

MyEclipse是在Eclipse的基础上添加了一些插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。

MyEclipse6.0以后版本安装时不需安装Eclipse。

MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。

它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。

在结构上,MyEclipse的特征可以被分为7类:

(1)JavaEE模型

(2)WEB开发工具

(3)EJB开发工具

(4)应用程序服务器的连接器

(5)JavaEE项目部署服务

(6)数据库服务

(7)MyEclipse整合帮助

对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。

MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。

数据库:

MYSQL5.0

服器操作系统:

由于JAVA语言的跨平台性,开发过程采用Windows2003操作系统,也可以采用WindowsXP操作系统。

现有的硬件和软件在功能上是可以满足系统开发的需求,开发所需要的软件工具也都是简单易操作的,开发人员的技术水平完全可以胜任系统的开发。

3.2.2技术可行性分析

技术上的可行性主要是根据系统分析得到的需要开发的软件,来分析利用现有技术是否能实现待开发的软件。

系统主要运用Spring框架技术开发,开发所需要的软件工具都是简单易操作的且开源,安全,可维护性强。

如下所示:

Web服务器:

Apache-Tomcat-6.0.1版本。

开发技术:

JDK5.0相关新特性、Spring框架技术、Struts框架技术、Hibernate框架技术。

开发工具:

MyEclipse7.0、网页开发工具DreamweaverMX。

数据库:

MYSQL5.0

服务器操作系统:

由于JAVA语言的跨平台性,开发过程采用Windows2003操作系统,也可以采用WindowsXP操作系统。

现有的硬件和软件在功能上是可以满足系统开发的需求,开发所需要的软件工具也都是简单易操作的,开发人员的技术水平完全可以胜任系统的开发。

所以该系统在技术上是可行的。

3.2.3操作可行性分析

该系统具有易用性,B/S结构使得客户端不必安装任何软件,客户端只要有浏览器并连接到相应的网络即可使用,免除了非专业人员操作技术上的困难。

WEB中间件服务器和数据库服务器均采用Windows2003操作系统,WEB服务器采用为Tomcat6.0.1版本,数据库管理系统为MYSQL5.0版本。

该系统具有友好亲切的使用界面,功能丰富并且使用简单,一般用户无需培训即可使用,对运行的平台和机器配置要求不高,便于配置和应用。

3.2.4分析结果

经以上分析,说明该系统在开发上是可行的,在环境、技术、操作上都有可行性,可以进行开发。

 

4系统总体设计

4.1系统功能结构总统框架设计

根据系统功能需求分析,设计出系统总体结构图如图4.1所示:

图4.1系统总体结构图

4.2系统各功能模块用例分析

网站论坛主要分成匿名访问用户(也称为未注册用户或未登陆用户)、普通用户和管理员用户三个角色,三个角色的具体实现,基本原理都一样:

通过控制层对数据库中数据的操作,由显示层具体体现出各类用户相应具有的功能。

网站论坛的普通客户用例分析参考普通客户用例分析图,如图4.2所示。

注册用户和未注册用户均为普通用户,未注册用户可通过注册模块注册账号。

已注册用户可通过登陆模块登陆系统。

 

图4.2普通用户用例分析图

系统登录后,用户可以发贴、回贴、修改个人信息和查询个人信息。

这其中还包括维护用户的个人信息。

管理员通过后台管理可登录成为后台用户,并对系统进行相应的维护。

管理员维护系统包括增加管理员、增加栏目、删除栏目和修改栏目。

此外管理员还可维护普通用户信息。

并具备普通用户的所有权限。

管理员具有删除用户、修改用户积分、查看用户资料系统权限。

查看用户资料包含了查看贴和删除贴的功能。

管理员用例图如图4.3,系统主要分成查看信息、发布信息、回复信息和系统管理四大功能。

其中查看信息对所有用户开放,发布信息和回复信息只对注册用户开放,而系统管理功能只限管理员使用。

图4.3管理员用例分析图

4.3数据库设计

4.3.1数据库总体设计

系统主要由用户模块、栏目模块、问答模块和后台管理模块组成。

用户模块主要提供用户登录和发贴记录用户信息的功能。

栏目模块将系统分成一级栏目和二极栏目,两极栏目间相互关联。

主要为后面的问答模块做铺垫。

问答模块由问题表和回答表构成,是整个网站系统的核心。

问题表和回答表之前产生一对多的关联关系,一个问题对应着多个回答。

后台管理模块主要是维护系统的用户、栏目、问题数据和回答数据,同时还担负着管理问题的能力。

表4-1 数据库表清单

表名

说明

users

用户表

admin

管理员表

item

一级栏目表

subitem

二级栏目表

question

问题表

answer

回答表

如表4-1所示,系统由六个表组成。

其中问题表和回答表之间有关联关系;一级栏目表和二级栏目表之间有关联关系。

其余各表单独存在。

数据库物理模型参考数据库物理模型图,如图4.4所示。

 

图4.4数据库物理模型图

图中关系item_su描述的是一级栏目对应一个或多个二级栏目,subitem表中的itemid是外键,与item表中的itemid外键关联,Deleteconstraint=Cascade。

关系que_ans描述的是一个问题对应一个或多个回答,answer表中的qid是外键,与question表中的qid外键关联,Deleteconstraint=Cascade。

问题表和回答表都将记录用户表的ID,但出于考虑,它们之间确并不建立关联关系。

因为删除用户后就要删除用户之前所发的贴,因为根据数据库关联的参照完整性原则,如果问题表或回答表同用户表存在关联,那么当用户删除后,问题表或回答表就无法关联到用户表的记录。

严重时将引起数据丢失。

4.3.2数据字典

(1)用户表(users)

 

表4-2用户表

字段

字段描述

类型

主键

不为空

备注

Id

序号

Integer

True

True

Userid

用户ID

Varchar

False

True

Userpwd

密码

Varchar

False

True

Userques

密码问题

Varchar

False

True

Userans

密码答案

Varchar

False

True

Usermail

邮箱

Varchar

False

True

integral

用户积分

Integer

False

True

Grade

用户等级

Integer

False

True

Sex

性别

Varchar

False

True

Realname

真实姓名

Varchar

False

False

在名称为webdb的数据库中,根据项目的需求建立相应的数据表。

用户信息表user用来保存用户信息。

表user共有10个字段。

(2)管理员表(admin)

表4-3管理员表

字段

字段描述

类型

主键

不为空

备注

Id

序号

integer

True

True

Adminid

登录ID

Varchar

False

True

Adminpwd

密码

Varchar

False

False

管理员表admin用来保存管理员用户信息。

在admin中共有3个字段。

(3)一级栏目表(item)

表4-4一级栏目表

字段

字段描述

类型

主键

不为空

备注

Itemid

栏目编号

integer

True

True

Itemname

栏目名称

Varchar

False

True

Itemcode

排序

integer

False

False

(4)二级栏目表(subitem)

 

表4-5二级栏目表

字段

字段描述

类型

主键

不为空

备注

Subid

栏目编号

integer

True

True

Subname

栏目名称

Varchar

False

True

Itemcode

一级栏目

Integer

False

False

subcode

排序

integer

False

Fa

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 化学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2