校园BBS论坛系统论文.docx
- 文档编号:20067068
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:27
- 大小:856.61KB
校园BBS论坛系统论文.docx
《校园BBS论坛系统论文.docx》由会员分享,可在线阅读,更多相关《校园BBS论坛系统论文.docx(27页珍藏版)》请在冰豆网上搜索。
校园BBS论坛系统论文
摘 要
本文通过对基于B/S模式下的BBS论坛系统的设计与实现,以及对BBS系统的相关背景、系统设计、需求分析、技术支持、系统测试与维护等方面阐述了BBS系统的开发过程,并使用当下主流的论坛大多采用的目前流行的java语言+SSH(struts+spring+hibernate)框架和后台Oracle技术,它的特点是具备一般论坛的基本功能且操作简单,使用方便。
本BBS论坛系统的可以为学生提供一个交流的平台,在网上为大家提供了交流经验、探讨问题的空间。
BBS系统给用户提供注册和登录的功能。
注册时用户可以自由选择头像和编写名称,BBS论坛系统拥有的发表主题和回复等功能,使论坛更具特色,回复时还有表情添加功能,大大提高了论坛的趣味性。
关键词:
BBS;JAVA;MYSQL;SSH;JSP
作者上传的文档中有配套的ppt,请自行下载,有任何疑问或要软件包,发到:
lqn6633163.
Abstract
ThisarticlethroughtotheBBSsystembasedonB/Smodeoftheresearchandimplementation,aswellasthebackground,theBBSsystemdesign,requirementanalysis,technicalsupport,systemtestingandmaintenancedescribesthedevelopmentprocessofBBSsystem,andusethecurrentmainstreamforumwebsitesaremostlybasedonthepopularjavalanguageSSH(struts+spring+hibernate)frameandbackgroundofOracletechnology,itischaracterizedwiththegeneralforum'sbasicfunctionandhastheadvantagesofsimpleoperation,easytouse.TheBBSsystemcanprovideaplatformfortheexchangeofstudents,theInternetprovidesusexchangeexperience,exploretheproblemspace.TheBBSsystemprovidestotheuserregistrationandloginfunction.Registereduserscanfreelychoosethepictureandwritename,keynoteandreplyfunctionwithBBSforumsystem,maketheforummorefeatures,replyandexpressionsaddfunctionality,greatlyimprovingtheforum'sinterest.
Keywords:
BBS;JAVA;MYSQL;SSH;JSP
目 录
第1章 概述
1.1 课题背景
在当今这个以网络为主流的社会,互联网已经日益深入,成为了人们生活中不可缺少的一部分。
由于进行信息的外交流,已经成为了大众的广泛需要,BBS近几年已经成为当下网络上流行的交流平台。
随着技术的进步,BBS论坛的功能也在不断增加并完善,由于Java语言技术所实现的“一次编写,随处执行”的优势的web开发技术受到了越多人的认可,主流的几乎都用到了Java语言,包括大部分的主流BBS。
本篇论文设计,围绕怎样设计和实现一个网上BBS论坛系统进行研究。
网上BBS论坛是各种信息交流和发布的场所,它的特点是言论自由,不论什么身份年龄性别,均可在论坛里发表自己的言论,不同身份年龄性别的人都可以不受任何限制的畅所欲言以及共享文件,但是这个特点却是一把双刃剑,有很多人都借助论坛的这个特点散布一些不良信息,对社会造成恶劣的影响,为了防止这样的事情发生,论坛还与设计并实现了举报和封号功能,当有用户发现有人发布不良信息的时候,经过版主审核确认后,版主将有权删除那些不良信息,并且对发布信息的ID进行封号处理,大大加强了论坛的安全性,给大家一个健康良好的信息交流空间[1]。
除了可以发表文字信息外还可以上传文件或分享文件。
本论文就是设计实现基于以上功能的一个校园BBS,可以同学们提供一个网上交流的空间,大家可以在这里畅所欲言,分享自己的看法、观点,还可以结交一些朋友使生活多了不少乐趣。
其中BBS大致可以分为5类:
校园BBS,商业BBS,专业BBS,情感BBS,个人BBS。
CERNET建立以来,校园BBS恨快地发展了起来,目前很多大学都有了BBS,几乎遍及全国上下,像清华大学、大学等等都建立了自己的BBS系统,清华大学的水木清华很受学生和网民们的喜爱。
商业BBS主要是进行有关商业的商业宣传、产品推荐等等,目前手机的商业站、电脑的商业站、房地产的商业站比比皆是[2]。
专业BBS主要用于建立地域性的文件传输和信息发布系统。
情感BBS主要用于交流情感,是许多娱乐的首选。
有些个人主页的制作者们在自己的个人主页上建设了BBS,用于接受别人的想法,更有利于与好友进行沟通[3]。
BBS系统主要分为前台和后台,前台包括查看版面下根帖信息、查看自己发表的帖子、查看精华帖子、搜索帖子、查看根帖信息、用户注册、发表帖子、回复帖子等,后台是管理界面,主要包括论坛类别的管理版面管理和用户管理的操作。
1.2系统要解决的问题
本系统基于Struts2+Spring+hibernate+JSP技术设计实现的BBS论坛管理的基本功能有:
用户注册、用户登录、登陆权限、发表版块、发表主题帖子、阅读主题帖子、回复主题帖子、分页和模糊查询、资源分享、修改个人资料等[4]。
对于用户的权限要设计为四种,只有注册过的用户在登录论坛后才能有发表和回复主题等功能,能够发表自己的话题,未登录者被称为游客,只能浏览主题信息,不能发表主题和回复主题。
版主拥有添加版块,修改版块等权限。
管理员为社区部人员,有着对社区管理的最高权限,可以对帖子进行管理,还拥有审核版主通过,审核违规帖子等权限,维护社区的运转。
对BBS论坛系统的设计中最重要的问题是合理设计系统整体的的结构,提高系统的可移植性,扩展性。
对数据库安全操作、合理设计与稳定也十分重要,对数据库的异常操作会给系统带来严重损失,要尽量避免。
在考虑了以上各个方面的因素后,才能有助于系统的综合性能提高,使得系统高效安全稳定的运行,用户体验更好。
1.3本章小结
本章对于BBS系统进行了概述,描述了BBS的背景及本论文中涉及到的技术环境,大概描述了完成BBS需要解决的问题及解决问题的思路。
第2章 相关技术及运行环境简介
2.1 java语言
Java编程语言的主要特点有可移植性高、简单、安全与系统无关、高性能、多线程和动态。
它最大的优点就是与平台无关,在Windows9x、WindowsNT、Solaris、Linux、MacOS等其它平台上,都可以直接使用相同的代码。
“一次编写,到处运行”的特点,使其在互联网上被普及使用。
由于Java语言的设计者们十分熟悉C++语言,所以在设计时很好地借鉴了C++语言。
可以说,Java语言是一种比C++语言“还面向对象”的一种编程语言。
Java语言的语法结构与C++语言的语法结构十分相似,因此C++程序员学习Java语言更加容易。
Java分为三种技术架构:
JAVAEE(JavaPlatformEnterpriseEdition),JAVASE(JavaPlatformStandardEdition),JAVAME(JavaPlatformMicroEdition)。
JAVAEE针对开发企业环境下的应用程序,主要针对web程序开发,JAVASE针对完成桌面应用程序的开发,是其它两者的基础。
JAVAME针对开发电子消费产品和嵌入式设备,如手机中的程序。
本系统是基于JAVAEE架构下设计研发的。
2.2 SSH框架
SSH是struts+spring+hibernate集成的一个框架,是目前较流行的Web应用程序开源框架之一。
SSH框架是典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。
模型是应用程序的主体部分。
模型表示业务数据,或者业务逻辑,视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面,控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。
SSH的整合原理是:
把hibernate的配置结合到spring的配置中,用spring管理和调用hibernate的工厂和session等。
struts通常有两种。
一种是用spring中的一个工厂类代替struts的工厂类去生成action,并且用spring管理[5]。
另一种是,struts用自己的工厂生成action,但是由spring管理,降低了耦合性。
hibernate负责数据库管理。
struts页面的请求处理调用相应的底层数据库等。
spring负责管理他们两个hibernate与struts的结合。
Struts是一个在JSP基础上实现的MVC框架(MVC:
模型Model、视图Viewer、控制器Controller),他的主要设计理念是通过控制器实现表现逻辑和业务逻辑的解耦,以提高系统的可维护性、可扩展性和可重用性[6]。
Struts框架的体系结构如图2-1所示。
图2-1Struts框架的体系结构
Hibernate通过对JDBC的封装,用HQL语句代替SQL语句,为程序员隔离了底层的数据库操作,使程序员可以专注于程序的开发,有助于提高开发效率。
Hibernate生命周期如图2-2所示。
图2-2hibernate生命周期
2.3 JSP框架
JSP(JavaServerPages)是目前主流Web应用开发技术之一,JSP依托强大的JAVA平台和Struts等优秀框,使JSP开发的Web应用程序具有跨平台、高安全性、高效率等特点[7]。
当一个JSP文件第一次被请求时,JSP引擎把该JSP文件转换成为一个servlet。
而这个引擎本身也是一个servlet,在JSWDK或WEBLOGIC中,它就是JspServlet。
JSP引擎先把该JSP文件转换成一个java源文件,在转换时如果发现jsp文件有任何语法错误,转换过程将中断,并向服务端和客户端输出出错信息;如果转换成功,JSP引擎用javac把该Java源文件编译成相应的class文件。
然后创建一个该SERVLET的实例,该SERVLET的jspInit()方法被执行,jspInit()方法在servlet的生命周期中只被执行一次。
然后jspService()方法被调用来处理客户端的请求。
对每一个请求,JSP引擎创建一个新的线程来处理该请求。
如果有多个客户端同时请求该JSP文件,则JSP引擎会创建多个线程。
每个客户端请求对应一个线程[8]。
以多线程方式执行可大大降低对系统的资源需求,提高系统的并发量及响应时间。
但应该注意多线程的编程限制,由于该servlet始终驻于存,所以响应是非常快的。
如果.jsp文件被修改了,服务器将根据设置决定是否对该文件重新编译,如果需要重新编译,则将编译结果取代存中的servlet,并继续上述处理过程。
虽然JSP效率很高,但在第一次调用时由于需要转换和编译而有一些轻微的延迟。
此外,如果在任何时候如果由于系统资源不足的原因,JSP引擎将以某种不确定的方式将servlet从存中移去[9]。
当这种情况发生时jspDestroy()方法首先被调用,然后servlet实例便被标记加入"垃圾收集"处理。
2.4 javascript框架
JSP在使用时是一般和javscript结合使用,可以将前端界面表现和业务逻辑层解耦分离。
分离逻辑层和显示界面的好处是,专业设计前端界面的人员不必懂得Java代码,而专门负责编写servlet类的人员也不必为网页的样式布局而苦恼,就可以用带servlet类的JSP页面来定义Web模型,以建立一个具有整套样式的页面组成的[10]。
servlet类完成数据提供,这样在前端就没有Java代码,这意味着这些模型可以由一个专门编写HTML的开发人员来维护。
当然,也可以利用JavaServlet来控制的逻辑,通过JavaServlet调用JSP文件的方式来将的逻辑和容分离。
本次设计中用到的js框架主要为JQUERY,JQUEYR是一个Javascript框架。
它是轻量级的,它兼容CSS3,还兼容大部分主流浏览器。
JQUERY中的AJAX技术实现了创建快速动态网页,通过部分数据在后台与服务器进行变化,AJAX可以使在不刷新整个网页的情况下,实现网页的局部刷新。
此功能已普遍被各大主流所应用。
以下为AJAX原理图。
图2-3AJAX工作原理
2.5数据库MYSQL
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。
在2008年1月16号被Sun公司收购。
而2009年,SUN又被Oracle收购。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库。
这样就增加了速度并提高了灵活性。
MySQL的SQL“结构化查询语言”[11]。
SQL是用于访问数据库的最常用标准化语言。
MySQL软件采用了GPL(GNU通用公共许可证)。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型为了降低总体拥有成本而选择了MySQL作为数据库[12]。
本系统使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性,支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统,为多种编程语言提供了API。
这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等,支持多线程,充分利用CPU资源,优化的SQL查询算法,有效地提高查询速度,既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名,提供TCP/IP、ODBC和JDBC等多种数据库连接途径,提供用于管理、检查、优化数据库操作的管理工具,可以处理拥有上千万条记录的大型数据库,支持多种存储引擎。
所以本BBS论坛系统也选择Mysql数据库。
2.6 开发环境
2.6.1 软件环境需求
信息系统是以计算机系统为核心建立的系统硬件和软件配置是系统设计的主要容,本系统采用目前比较流行的B/S(浏览器和/服务器端)模式,因而硬件配置要从此模式出发,另外由于计算机发展迅速为将来升级的考虑,这里所提供的硬件设备要比能够运行该系统所需要的最低硬件标准高出一些。
2.6.2 Tomcat6.0服务器架构的安装
Tomcat6.0由Apache组织开发的一种常用Web服务器,提供Web服务,一种JSP引擎,本身具有Web功能,可以作为独立的Web服务器使用,但是,在作为Web服务器方面,Tomcat处理静态HTML页面时不如Apache迅速,也没有Apache健壮,一般选用Tomcat与Apache结合的方式,让后者对的静态页面的请求提供服务,而Tomcat作为专用的JSP引擎,提供JSP解析得以更好的性能[13]。
在这里设默认安装目录为“c:
\Tomcat”安装完毕,更改环境变量,用同样的方法把“c:
\Tomcat”添加到TOMCAT_HOME环境变量中启动Tomcat,在浏览器的“地址”下拉列表框中输入“localhost:
8080/”,如果看到的是在左上方有一只可爱的小猫,则表示Tomcat安装成功。
2.6.3 JDK的安装与配置
首先,找到path变量后单击“编辑”按钮,弹出“编辑系统变量”对话框,在“变量值”文本框中输入“c:
\jdk\bin”,然后单击“确定”按钮,同时新建CLASSPATH变量[14]。
然后,在“系统变量”选项组中单击“新建”按钮,在“变量名”文本框中输入“CLASSPATH”,在“变量值”文本框中输入“c:
\jdk\lib\tools.jar、c:
\jdk\lib\dt.jar”然后单击“确定”按钮[15]。
最后,用同样的方法把“c:
\jdk”添加到JAVA_HOME环境变量中[16]。
2.6.4 本系统运行环境
1.操作系统:
WindowsXP。
2.Web服务器:
Tomcat6.0。
3.Java开发包:
JDK1.6。
4.数据库:
Oracal。
5.集成开发工具:
Myeclipse9.0。
6.浏览器:
IE8.0。
2.7 本章小结
这一章主要介绍了BBS系统的运行环境及用到的框架技术,对于Java框架进行了详细的说明,可以更方便了解软件的运行方式及软件设计制作的流程。
第3章 需求设计
3.1 需求的必要性
软件的需求分析是指软件开发之前需要对软件的业务做相关的调研,深入了解业务,提取业务中对于软件功能有决定性的因素,对其进行分析总结从而得到确定软件的可实现性和软件的涉及计划的过程,这个过程对于软件开发来说十分重要,做好需求分析可以使软件的设计思路更加的清楚明了,这样在设计软件的时候就大大降低了设计上的“跑偏”,大大提高了软件设计的效率。
3.2可行性分析
可行性分析是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。
可行性研究的目的就是用最小的代价在尽可能短的时间确定问题是否能够解决,从而综合性的提高系统的整体性能和系统的运行效率。
3.2.1技术可行性
技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。
该BBS论坛管理系统采用了流行的JSP语言和当前新兴的Browser/Server(浏览器/服务器)模式进行开发。
三层的B/S体系结构具有许多传统Client/Server(客户机/服务器)体系结构不具备的优点,而且又紧密的结合了Internet/Intranet(国际互联网/企业部互联网)技术,是技术发展的大势所趋,。
数据库服务器选用mysql5.5数据库,它能够批量处理数据,同时保持数据的完整性并提供许多高级管理功能。
它的灵活性、安全性和易用性为数据库编程提供了良好的条件。
因此,系统的软件开发平台已成熟可行。
硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台能满足此系统的需要。
3.2.2经济可行性
主要是对项目的经济效益进行评估,本系统模拟的是提供一个供用户交流的平台,为广大用户提供交流经验、探讨问题的社区。
但实际只是用于个人的毕业设计,只是模拟,也不存在资金的流动,故在经济上是可行的。
3.2.3社会可行性
随着Internet技术的快速发展,BBS论坛已成为人们彼此沟通、交流信息的主要方式。
在论坛上,人们可以对计算机领域或者其他领域提出自己遇到的问题和自己的看法,随后,论坛上的其他人会根据自己的学识、经验发表意见或提出解决问题的方法。
本BBS论坛不但拉近了人们之间的距离,而且它早已成为人们网上生活的必备交流工具。
所以说计算机系BBS论坛对当今计算机相关专业人士是相当重要的。
3.3 用户功能需求
为了系统的各模块功能够正常使用、系统更加人性化,还为了满足系统的实用性及安全性,本系统包含4个角色:
游客,用户,管理员、版主。
游客可以浏览本论坛,但是不可以发帖,不可以回帖,也不可以看帖,只有注册了以后成为本论坛的用户,才可以执行用户的功能。
一旦注册成为本论坛的用户后享有用户登录、发表文章、阅读文章、回复文章、作者查找、个人资料修改等权限。
用户可以申请成为版主,由管理员审核通过后享有添加版块、修改版块、查看版主信息、修改版主信息、修改管理员自己的信息、对帖子进行管理(删除或修改)、对普通用户进行禁言申请,由管理员审核等功能
管理员为论坛部人员,管理员的身份由论坛工作人员下发,享有审核通过版主、审核禁言、解禁、审核举报信息等权限。
3.4 数据需求
用户必须先注册后再登录进入系统,系统用户的数据包括用户名、用户密码、用户类型。
用户名在整个系统中是唯一的。
用户浏览帖子时,数据应当包括用户名、帖子序号。
用户根据某一主题可以发表帖子,发表帖子需要的数据包括用户名、版块编号、版块分类名、发表帖子标题、发表帖子容、发表帖子类型。
用户回复帖子的数据包括用户名、回复帖子序号、回复的容、版块编号、版块分类名。
管理员进入后台管理时,需要数据包括管理员ID、管理员密码、管理员的类型。
管理员根据权限的不同分为普通管理员和超级管理员。
版主进去后台管理时,需要的数据包括版主名、版主密码、子版块名、版块编号。
3.5 本章小结
本章主要是介绍了对BBS系统设计的需求分析,并介绍了需求分析的重要性,需求分析对于之后的系统的设计有很重要的关系,做好需求分析,才能使设计的过程变得简单容易。
第4章 系统整体设计
4.1 系统结构模块设计
通过前台界面的显示,用户可以很直观的看到论坛的帖子信息,也可以很清楚的明白如何在论坛中操作,BBS论坛系统(前台)的主要功能模块及其关系,如图4-1所示:
图4-1BBS论坛系统前台主要功能模块
根据BBS论坛系统前台的模块图可以得到系统的具体功能。
用户注册功能,游客(没有的用户)只能浏览论坛的主题话题但是不能发表话题和回复帖子,游客可通过注册成为系统的用户之后,才能享受论坛的其他基本功能。
用户登录功能,游客注册成功之后,在登录界面输入正确、密码之后便可以进入本论坛。
个人信息资料管理功能,在用户登录成功之后,用户可以设置自己的昵称,个人资料,个性签名等。
主题帖子功能,为了方便信息交流,用户可以在自己选择的板块下发表话题,为了增加论坛系统的稳定性,用户没有删除和修改主题的权限,只能回复自己的主题,或联系版主管理自己的帖子。
模糊查询功能,用户可以按主题帖子的名字关键字或发表帖子的用户名字(或昵称)的关键字来查询找到自己想要得到的信息。
BBS论坛的后台管理系如图4-2所示。
图4-2论坛系统后台流程图
4.2 数据库设计
数据库的设计,在程序的开发中起着至关重要的作用,它往往决定了在后面的开发中进行怎样的程序编码。
一个合理、有限的数据库设计可降低程序的复杂性,使程序开发的过程更为容易。
本系统是一个中型的供求信息,考虑到开发成本、用户信息量客户需求等问题,决定采用Mysql作为项目中的数据库。
Mysql是一种中小型的关系型数据库,它具有很强的数据完整性、可伸缩性、可管理性、可编程性;具有均衡与完备的功能;具有较低的价格与性能比。
Mysql数据库可以大容量地存储数据,并对数据进行合理地逻辑布局,应用数据库对象可以对数据进行复杂地操作。
Mysql也提供了JDBC编程接口,这样可以非常方便地应用Java来操作数据库。
该系统使用Oracle作为后台数据库去存储所有与系统相关的数据。
这些数据表包括包括用户表(bbs_user)、用户资料表(user_data)、版块表(Section)、主题帖子表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 校园 BBS 论坛 系统 论文