基于JAVA的BBS论坛系统的实现论文.docx
《基于JAVA的BBS论坛系统的实现论文.docx》由会员分享,可在线阅读,更多相关《基于JAVA的BBS论坛系统的实现论文.docx(35页珍藏版)》请在冰豆网上搜索。
基于JAVA的BBS论坛系统的实现论文
基于java的BBS论坛系统的实现
摘要:
计算机的普及,使得人们沟通的方式也越来越多。
视频、博客已成为人们沟通的主要方式。
此外,为了方便人们在某一领域探讨问题和发表意见,获取专业资源,BBS论坛应运而生。
开发BBS是为了给人们提供一个交流的平台,方便人们交流经验,探讨相关问题,获取资源。
BBS论坛主要分为两个部分。
前台部分和后台管理部份。
在前台部分中,包括用户注册登陆、浏览回复帖子等操作;后台管理部分包括:
用户管理、权限管理、BBS管理、文件管理等。
用到的主要技术有JSP和JavaBean,系统采用SQLServer来设计数据库,使用MyEclipse开发平台。
BBS论坛研究工作主要针对于需要获得相应专业资源和获得相应帮助,以及专业领域性人们。
BBS是以比较流行的网络资源(包括视频,小说等内容)为研究范围开发的。
关键词:
JSP;网上论坛;模拟社区;在线交流
ImplementationofJAVA.basedBBSforumsystem
Abstract:
Theproliferationofcomputers,thewaypeoplecommunicatemoreandmore.Videobloghasbecomethemainwaypeoplecommunicate.Inaddition,inordertofacilitatepeopletoexploreissuesandexpresstheirviews,accesstoprofessionalresourcesinaparticulararea,BBSforumcameintobeing.
BBSwasdevelopedinordertoprovidepeoplewithaplatformtofacilitatepeopletoshareexperiencesanddiscussrelatedissues,accesstoresources.
BBSforumisdividedintotwoparts.Foregroundandthebackgroundofthemanagementpart.Intheforegroundsection,includinguserregistrationlogin,browseReplyPostandotheroperations;Managementsectioninclude:
usermanagement,privilegemanagement,BBSmanagement,documentmanagement.ThemaintechnologyusedthereJSPandJavaBean,todesignsystemsusingSQLServerdatabase,usetheMyEclipsedevelopmentplatform.
BBSforumresearchworkfocusedontheneedtogettheappropriateprofessionalresourcesandaccesstoappropriatehelp,andprofessionalfieldsofpeople.
BBSismorepopularnetworkresources(includingscreen,novels,etc.)forthedevelopmentofthestudyarea.
Keywords:
JSP,Web BBS,Simulation Community,Online Communication
目录
前言………………………………………………………………………………1
1系统的开发背景,方法与意义2
1.1系统开发背景2
1.2开发方法2
2系统设计工具介绍4
2.1系统技术选择4
2.2系统开发工具5
3系统的需求分析与设计9
3.1BBS论坛的现状9
3.2可行性分析9
3.3系统功能需求10
4系统设计功能模块12
4.1项目规划12
4.2系统设计14
4.3数据库设计14
5BBS论坛系统实现过程22
5.1系统各部分的实现方法22
5.2系统界面设计23
5.3后台功能模块的实现26
6使用说明28
6.1系统环境要求28
6.2系统安装、运行28
小结29
参考文献30
致 谢31
前言
随着Internet技术的不断发展,以及用户群爆炸性地增长,网络不再仅仅是信息的被动获取来源,更成为人们探讨间题、交换观点的场所,其中,网上论坛扮演了极其重要的角色,随着时间的推移,论坛站点中积存了丰富的信息资源,不但有各类技术资料和新闻文档,还包含着用户的判断和评论,论坛站点己成为Web信息库的重要组成部分。
BBS是BulletinBoardSystem的缩写,即电子公告牌。
一种网上常见的用于信息服务的Web系统,它的主要功能是提供一个交流的平台。
让用户能进行浏览,发表,回复等,对问题进行探讨,沟通。
BBS论坛是一种具有交互功能的信息系统。
论坛大致分为两个部分。
一是前台的版块专区及个人用户管理。
用户可以通过浏览,发表观点来进行沟通,交流;个人用户专区,用户可以完整自己的个人信息,并通过密保等对自己的密码进行有效的保护。
后台系统:
大致分为版块去及用户区,用户区,管理员可以查看并操作用户,包括角色的分配,权限的给予。
版块专区,管理员可以管理站点的资源并对其做出相应的修改,删除等操作。
1系统的开发背景,方法与意义
1.1系统开发背景
国内的BBS站,大部分还是大型综合性BBS论坛。
计算机越来越普及的今天,尤其是宽带的出现,BBS论坛将进一步深入人们的生活。
于是,针对于领域性的BBS论坛的需求将会不断的增加。
虽然BBS论坛的数量在不断的增长,但是BBS的发展的过程中,也显露了不少问题。
由于国内使用的架构软件,基本上是从国外引入的。
有一些先进的技术与架构没能很好的移植并应用于国内的网站。
而国内自己开发的BBS论坛基本上都是处于最原始的网页模型模式,这种模式的控制层与显示层没有分开,虽然开发简单,但是页面冗杂,结构不够清晰。
并且其自身的移植性与扩展性不强,对于网络的维护更为棘手。
在此情况下,该系统采用了比较流行的基于MVC的SSH框架(struts+spring+hibernate)的BBS论坛系统,该论坛论坛的优点是它将页面与控制,逻辑与服务层有效的分开了,具有很好的可扩展性及可维护性,非常适合中小型群体普遍性人们的应用。
1.2开发方法
应用比较流行的SSH(struts+hibernate+spring)框架[1],将控制层与业务逻辑层分离,Web层,通过控制台,负责控制业务逻辑层与表现层的交互,调用业务逻辑层。
业务逻辑层以DAO层为基础,通过对DAO组件的正面模式包装,完成系统所要求的业务逻辑。
DAO层实现与数据库的交互。
该层封装了数据的增、删、查、改等操作。
Bean层,持久化对象。
通过实体关系映射工具将关系型数据库的数据映射成对象,面向对象方式操作数据库,该系统采用Hibernate[2]作为ORM框架。
spring中间层对象,管理系统的各组件。
并在需要的时候自行进行创建。
并通过AOP给DAO进行事务。
这种开发模式虽然表传统的jsp+servlet模式更加费时。
但业务层与逻辑层的分开,使的结构更加清晰,逻辑更加明确。
后期的移植与维护也变得更加方便。
再以比较流行的tomcat[3]作为服务器,比较流行的seqserver作为存放数据的工具,进行数据的交互。
1.3系统开发的意义
计算机的普及,网络已是人们生活中不可缺少的部分,计算机可谓是现代科技发展的产物,如今的计算机已经走进了千家万户。
足不出户便知天下事已不是梦。
网站以其独特的优势在信息化的过程中占的重要的一席。
而论坛的诞生方便了信息的交流。
BBS为我们提供了丰富的网络学习资源(包括影视,图片等形式文件)。
BBS促进我们的协作学习。
它为我们提供了各种学习资源的组合场所。
参与者可以通过回复,发帖来完成整个探讨的学习过程。
BBS提高了我们自主学习的能力。
它为我们提供许多良好的学习资源,通过这些资源我们可以掌握许多自己不了的知识。
在不断的学习新知识的基础上,我们不断提高了自己的自主学习能力。
简言之,它为我们提供了一个良好的平台,丰富了我们的知识与生活,还能提高我们自主学习能力。
在我们的生活中发挥积极重要的作用。
2系统设计工具介绍
2.1系统技术选择
2.1.1平台的选择
本系统是基于J2EE为平台,基于组件的编写模式。
1>结构清楚明确:
J2EE[4]平台支持简化的、基于组件开发模型,它可以编写一次,并在不同的环境下很要的运行,一些比较流行的基本的服务器都能支持。
框架的应用使得起层次分明,结构清晰。
2>可移植型强:
java的面向南对象的设计方法及J2EE基于组件的开发模型。
使得项目的可移植很强。
开发人员能够方便的将项目从一个环境移到另外一个环境,并且能够很好的运行
3>可维护性强:
基于组件的设计简化了应用程序的维护。
由于组件可以被独立地更新和替代,通过更新应用程序中特定的组件,新的功能可以被很容易地增加
2.1.2框架的选择
Struts框架[5]
1>S标签的使用,灵活多变,能大大提高开发效率。
2>控制层将页面与系统关系变得更加明确,清晰。
通过对配置文件的配置,就可了解整个系统各脉络之间的联系,从而把握整体。
对于后期系统的维护有着很大的好处。
3>提供Exception处理机制。
Spring框架
1>Spring能有效地组织你的中间层对象,可以很好的管理系统的各组件。
并在需要的时候自行进行创建。
大大减少同类新对象的建立。
并且可以通过其自带的AOP对相应的dao层中的更新,增加等操作添加事务管理。
能够很有效的管理数据。
2>spring框架的应用,通过单元测试,大大减少了程序调试的难度
Hibernate框架[6]
Hibernate是JDBC的对象封装。
他将数据库中的表以对象的形式进行管理,是一个独立的对象持久层框架。
Hibernate可以用在任何JDBC可以使用的场合,例如:
Java应用程序的数据库访问代码,DAO接口的实现类,甚至可以是BMP里面的访问数据库的代码。
Hibernate是一个和JDBC密切关联的框架,所以Hibernate的兼容性和JDBC驱动,和数据库都有一定的关系,但是和使用它的Java程序,和AppServer没有任何关系,也不存在兼容性问题。
SSH框架与SqlServer数据库的选用使得开发的产品,具有良好的的移植型,与相对简单的可维护性。
基于以上优点,具体的平台选择:
1.采用了Internet架构,Bowser/Server[7]模式。
2.Web服务器采用Tomcat6.0服务器,数据库管理系统为SQLServer2005。
3.开发工具使用Dreamweaver搭建系统页面框架,再用MyEclipse在其中插入JSP语句,JavaBean使用MyElipse编写。
2.2系统开发工具
本系统是基于JSP+SQLServer2005数据库技术实现的,现对JSP技术和SQLServer2005数据库作简要的介绍。
2.2.1JSP技术简介
JSP(JavaServerPage服务器网页)是从1998年开始出现的新技术。
由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准,是基于JavaServlet以及整个Java体系的web开发技术。
在传统的网页HTML文件(*.htm,*.html)中加入脚本片段和JSP标记(Tag),构成JSP网页(*.jsp)。
JSP技术为创建显示动态生成内容的web页面提供了简便的方法。
JSP作为Java家族的一员,承袭了Java的特点,即跨平台的特性,也即一次编译,到处运行。
在国外,己经大量使用JSP作为网络应用程序的开发工具,而在国内,尽管JSP还不是主流开发技术,但是由于JSP的强大优势,许多网站都已经准备转向JSP,利用JSP来开发动态网站。
2.2.2JSP工作原理
JSP是面向服务器的,因此支持任何浏览器。
当Web服务器和JSP引擎遇到访问JSP网页的请求时,JSP引擎将请求对象发送给服务器端的相关组件,比如JavaBean组件、Servlet或EJB等,然后由服务器端组件处理这些请示,可能需要从数据库或数据存储中检索信息,然后服务器端组件再将响应对象返回JSP引擎。
JSP引擎将响应对象传递给JSP页面,根据JSP页面的HTML格式完成数据编排,最后Web服务器和JSP引擎将格式化后的JSP页面以HTML格式返回客户浏览器。
这就是当前网站构建中广泛采用的浏览器——Web服务器——后台数据库的三层架构模式。
因为JSP所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果。
2.2.3数据库—MicrosoftSQLServer2005[8]
SQLServer是一个关系数据库管理系统。
SQLServer2005是Microsoft公司推出的SQLServer数据库管理系统的较新版本。
SQLServer2005数据库引擎提供完整的XML支持。
它还具备构成最大的Web站点的数据存储组件所需的可伸缩性、可用性和安全功能。
SQLServer2005关系数据库引擎支持当今苛刻的数据处理所需的功能。
数据库引擎充分保护数据完整性,同时将管理众多并发修改数据库的用户的开销减到最小。
SQLServer2005分布式查询使得以引用来自不同数据源的数据,就好像这些数据是SQLServer2005数据库的一部分,同时分布式事务支持充分保护分布式数据更新的完整性。
2.2.4java技术
1.组件、容器、连接程序
1)组件:
组件是Java应用程序的主体构件。
2)容器:
容器是那些执行组件的应用程序。
3)连接程序:
一般说来,连接程序就是驱动程序——是能够让Java应用程序直接与其他软件进行通信的软件,它与公共协议(如HTTP)不同。
2.Java文件、Class文件与字节码、JAR文件
1)Java文件:
是指以.Java为后缀的Java源代码。
2)Class文件、字节码:
这两个术语是相关的。
3)JAR文件:
JAR文件就是Java存档文件。
3.J2EE、JDK、JVM
1)J2EE:
Java2EnterpriseEdition(Java2企业版),是一种利用Java2平台来简化企业解决方案的开发、部署和管理相关复杂问题的体系结构;
2)JDK:
JDK现在是指J2SDK(J2SEDevelopmentKit),同时,J2RE也改称为JRE;
3)JVM:
Java虚拟机(JavaVirtualMachine,JVM)是Java可移植性的关键。
2.2.5JDK配置[8]
第一步:
从官方网站http;//下载该软件的最新版本。
我所下载的是jdk.6u10.rc2.bin.b32.windows.i586.p.12_sep_2008.rar文件。
第二步:
安装JDK,安装在D:
\ProgramFiles\Java\jdk1.6.0_10。
第三步:
JDK的环境配置:
在Windows中用鼠标指向我的电脑,按右键,选择“属性”,在“系统特性”表单内选择“高级”标签,在“高级”标签内选择“环境变量”,在系统变量中加入变量JAVA_HOME(变量值为D:
\ProgramFiles\Java\jdk1.6.0_10),classpath(变量值为.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径))和path(变量值为%JAVA_HOME%\bin;)。
安装和配置完毕后,在“命令提示符”中输入javac,会出现如图2.1所示,
图2.1javac调试界面
则说明JDK安装和配置都是正确的。
2.2.6Tomcat配置[9]
本系统以Tomcat网络信息服务作为应用服务器,Tomcat的安装直接运行下载的apache.tomcat.5.5.17.exe文件,按照一般的Windows程序安装步骤即可安装好Tomcat,安装时它会自动寻找JDK的位置。
安装过程中需要选择一个文件夹作为Tomcat的安装目录。
我选择安装的位置是D:
\Tomcat5.5。
安装完成以后,添加一个Tomcat的环境变量,设置变量名为TOMCAT_HOME,变量值为D:
\Tomcat5.5;变量名为CATALINA_HOME,变量值为D:
\Tomcat;变量名为CATALINA_BASE,变量值为D:
\Tomcat。
然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的servlet.jar追加到classpath中去,修改后的classpath如下:
Classpath=.;%java_home%\lib\dt.jar;%java_home%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet.jar;
设置完毕后就可以运行Tomcat服务器了。
Tomcat成功启动后,在浏览器中输入http;//localhost;8080/,如果出现欢迎界面,则说明Tomcat安装成功。
3系统的需求分析与设计
3.1BBS论坛的现状
大约从20世纪90年代初,国内开发了第一个BBS论坛。
经过长时间的发展,直到1995年,随着计算机的越来越普及,BBS论坛慢慢进入了人们的生活。
1996年BBS以其迅猛的速度发展起来。
国内的BBS论坛,按其性质划分,大致可以分为两种种:
一种是商业性质的BBS论坛,像新华龙讯BBS网站;另一种是业余BBS论坛,像天堂资讯站。
由于使用商业BBS站要交纳一些费用,并且商业BBS论坛所能提供的服务及功能和业余的相比,并没有什么明显的优势,所以其用户数量不多。
而大多则是以业余网站为主,对个人信息的管理,每天都互相交换电子邮件,渐渐地形成了一个全国性的电子邮件网络(中国惠多网)。
于是,各地的用户都可以通过本地的业余BBS站与远在异地的网友互通信息。
这种跨地域电子邮件交流正是商业站无法与业余站相抗衡的根本因素。
由于业余BBS站拥有这种优势,所以使用者都更乐意加入。
这里“业余”2字,并不是代表这种类型的BBS站的服务和技术水平是业余的,而是指这类BBS站的性质。
一般BBS站都是由志愿者开发的。
他们付出的不仅是金钱,更多的是精力。
其目的是为了推动中国计算机网络的健康发展,提高广大计算机用户的应用水平
而国内自己开发的BBS论坛基本上都是处于最原始的网页模型模式,这种模式的控制层与显示层没有分开,虽然开发简单,但是页面冗杂,结构不够清晰。
并
且其自身的移植性与扩展性不强,对于网络的维护更为棘手。
在此情况下,该系统采用了最近比较比较流行的基于MVC[10]的SSH框架(struts+spring+hibernate)的BBS论坛系统,该论坛论坛的优点是它将页面与控制,逻辑与服务层有效的分开了,具有很好的可扩展性及可维护性,非常适合中小型群体普遍性人们的应用。
3.2可行性分析
开发工具Myeclipse。
数据库SqlServer2005,服务器Tomcat。
满足基本的开发要求。
成熟的框架及思想,为开发提供了技术前提。
硬件的满足及技术的成熟使得开发技术可行性得到了支持。
3.2.1时间的可行性
从时间来看。
充足的时间,足够学习相应的技术,并应用于系统。
预计本系统在规定的时间内,能基本完成。
3.2.2经济可行性
开发该系统和所需的相关专业资料可以通过上网机图书馆获得,相关的数据资料可以通过相应的网站以及调研进行采集。
所需的硬件,软件要求不是很高,易于获得。
人力要求不多。
开发成本要求不高。
与传统的开发模式相比,具有高效率,低成本,高质量的特点。
可以用少许人力、物力及财力进行开发。
从经济,人力的角度来看。
该系统的开发具有可行性。
3.2.3运行可行性
运行该系统所需的服务器可由比较流行的tomcat进行发布。
通过一般的IE,火狐,谷歌浏览器都能进行相应的访问及操作。
因此该系统在运行上是可行的。
3.3系统功能需求
该系统是一款网上信息交流的软件。
临时用户可以先注册在进行相应的操作,注册过的会员用户,可以进行浏览页面,管理个人资料,发帖回复等多项功能。
超级用户还可以通过登录后台管理系统来管理用户以及系统。
系统的功能如下:
1>用户功能实现
(1)会员的登录界面(一般性会员的登陆)
(2)用户的注册(没有成为会员的普通用户,可以通过注册成为一般性会员)
(3)用户资料的修改(用户可以在登陆之后,对自己的资料进行相应的修改)
2>帖子功能实现
(1)帖子的浏览
(2)帖子的回复
(3)帖子的发表
3>后台管理
(1)用户的管理
(2)类别管理
(3)帖子管理
(4)论坛信息的管理
4系统设计功能模块
4.1项目规划
4.1.1系统功能结构图(图4.1.1)
图4.1.1系统功能结构图
4.1.2系统数据流图
4.1.3系统功能描述
1.用户功能实现
(1)用户的登录
(2)用户的注册
(3)用户的查找
(4)用户资料的修改
(5)密码的找回,与密保的设置
用户功能模块:
游客通过邮箱验证进行注册,以获得权限;普通用户登陆之后,可以进入个人管理中心,对用户对自己的基本资料,联系方式,教育情况,工作状况,学历等进行一些修改和更新;最后用户还可以对密码信息进行必要的管理,用户可以设置密保问题。
并通过密保验证答案或邮箱找回密码。
2.帖子功能实现
(1)帖子的发表
(2)帖子的回复
(3)帖子的查找
前台帖子管理模块:
用户登陆之后可以对帖子进行相应的操作,包括对帖子浏览,发表,回复,再回复(即二级回复)等。
3.后台管理
(1)用户及权限的管理
(2)帖子的管理
(3)论坛信息的管理
(4)文件的管理
后台管理:
用户管理模块,管理员,或者会员可以查看用户的信息,管理员可以修改相应用户的信息。
管理员还可以额外的对会员或者普通用户的权限进行管理,(包括添加,删除权限等);帖子模块管理:
会员或者管理员对帖子信息进行相应的增删改等操作。
论坛信息管理,会员或者管理员可以对BBS/BBStopic/BBSarticle/BBSreply进行相应的增,删,改等操作。
文件管理,管理员或者会员可以上传文件。
并对文件进行浏览,下载,删除等操作。
4.2系统设计
4.2.1系统设计目标
1.界面设计美观友好、信息查询灵活、方便、快捷、准确、数据存储安全可靠。
2.全面展示版块及帖子,并可以发帖,回复。
3.客提供一个方便、查询功能。
采用模糊查询查询数据。
4.可以随时修改自己的会员资料。
5.增删模块,主题以及帖子
6.用户管理
7.大限度地实现了易维护性