BBS论坛系统论文.docx
- 文档编号:23775654
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:31
- 大小:1.28MB
BBS论坛系统论文.docx
《BBS论坛系统论文.docx》由会员分享,可在线阅读,更多相关《BBS论坛系统论文.docx(31页珍藏版)》请在冰豆网上搜索。
BBS论坛系统论文
小型论坛系统
姓名:
XX学号:
05125016专业:
信息与计算科学
指导老师:
XXX
摘要:
为了方便信息的交流,在结合动态服务网页(JSP)和SQL2000技术之下开发了这个界面友好的小型论坛系统。
论坛使用动态服务网页(JSP)技术建设论坛的骨干框架,使用SQL2000制作系统的数据库,利用了Struts、Spring、Hibernate三大框架技术的部分知识点,还结合使用了AJAX技术,通过这些实现了一个功能相对齐全的论坛系统。
该论坛为网友们提供了一个交流的平台,在这里注册用户可以自由地发表自己的观点和对论坛的主题帖子发表意见,还可以及时的解决网友提出的问题,获取对自己有用的知识。
该论坛还有一些特殊的功能,强大的搜索功能等。
关键词:
动态服务网页;论坛;SQL2000;AJAX;
SmallBBSForumSystem
Abstract:
Inordertoexchangetheinformationexpediently,thesmallforumisdevelopedunderthetechnologiesofJSPandSQL2000.ThemainframesoftheforumsystemisbuiltbythetechnologiesofJSPandSQL2000database,partofthethreeinstructionsofStruts,Spring,HibernateandAJAX,Allofthoseaboveistoprovidearelativelycompletefunctionsoftheforumsystem.
Theforumsystemprovidesaplatformofcommunication,herein,theuserswhohaveregisteredaheadcanexpresstheirideasfreelyandgivesomeadviceaboutthesubjects,moreover,youcansolvethequestionsaskedbyonlinefriendsandobtainusefulknowledgeforyourselffromtheforum.Bytheway,thesomeotherespecialfunctionsisalsoadded,suchasthepowerfulsearchengineering.
Keywords:
JavaServerPages;BBS;SQL2000;AJAX;
目录
1前言1
2系统技术及运行环境3
2.1JSP技术简介3
2.2JAVABEAN技术简介3
2.3其它的一些技术3
2.4运行环境3
3系统需求分析说明5
3.1系统介绍5
3.2功能需求5
4总体设计6
4.1总体结构和模块设计6
4.2处理流程6
5数据库设计8
5.1数据库结构属性图8
5.2数据库表格设计9
6系统详细设计11
6.1前台页面12
6.2后台页面17
6.3系统设计主要代码及配置文件20
7测试26
7.1测试方法26
7.2测试范围26
7.3测试报告26
8总结与展望27
参考文献28
致谢29
1前言
进入21世纪,计算机技术迅速向着网络化的、集成化方向发展。
传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息(多媒体)的新一代网络版应用软件,而目前网络版软件中似乎存在着两种不同的趋势,一种是称为客户端——服务器的C/S结构应用系统,这类软件具有结构严谨,运行效率高,服务器端压力小,安全性好等优点,被广泛运用于局域网中。
另一种,也是本毕业设计所采用的,是称为浏览器——服务器的B/S结构应用系统,它的特点是在客户端直接采用了功能强大的浏览器软件作为界面,其优点在于软件开发效率高,客户端不受操作平台的限制、也不受地域的限制,网络传输量少,即适用于局域网,更适用于Internet,而且投资小、见效快,用户可以不必进行服务器方面的投资,而是去租用,甚至是免费使用ISP的服务器资源,因而受到越来越多中小型单位的青睐。
本论文就是基于B/S结构实现的。
论坛也常被简称为BBS(BulletinBoardSystem)[1]。
1978年在美国芝加哥开发出一套基于8080芯片的CBBS/Chicago(ComputerizedBulletinBoardSystem/Chicago),此乃最早的一套BBS系统[2]。
BBS发展至今,目前世界上业余的BBS网络除了FidoNet(惠多网)以外,几个较具知名度的还有EggNet、AlterNet和RBBS-Net等等。
由于这些网络和FidoNet之间的信息交流不成问题,这就实现了所谓的跨网。
大约是从1991年开始,国内开始了第一个BBS站。
经过长时间的发展,直到1995年,随着计算机及其外设的大幅降价,BBS才逐渐被人们所认识。
1996年更是以惊人的速度发展起来。
国内的BBS站,按其性质划分,可以分为两种:
一种是商业BBS站,如新华龙讯网;另一种是业余BBS站,如天堂资讯站。
由于使用商业BBS站要交纳一笔费用,而商业站所能提供的服务与业余站相比,并没有什么优势,所以其用户数量不多。
多数业余BBS站的站长,基于个人关系,每天都互相交换电子邮件,渐渐地形成了一个全国性的电子邮件网络ChinaFidoNet(中国惠多网)。
于是,各地的用户都可以通过本地的业余BBS站与远在异地的网友互通信息。
这种跨地域电子邮件交流正是商业站无法与业余站相抗衡的根本因素。
由于业余BBS站拥有这种优势,所以使用者都更乐意加入。
这里“业余”2字,并不是代表这种类型的BBS站的服务和技术水平是业余的,而是指这类BBS站的性质。
一般BBS站都是由志愿者开发的。
他们付出的不仅是金钱,更多的是精力。
其目的是为了推动中国计算机网络的健康发展,提高广大计算机用户的应用水平[3]。
BBS是互联网一种人与人之间交互的必备工具,特别是做网站必备。
以前我们一直用留言本形式,但是随着您的网站的大规模化,越来越多的迫切需要一种可以易于维护和易于交流的平台,那就要用BBS。
BBS可以通过WEB浏览器访问,并且实现上传文件等诸多功能。
网民们便逐步开始接受这种使用方便快捷、功能日渐强大的系统。
在它上面网民们可以张贴和发布各种各样的信息,讨论各式话题。
随着中国网络的普及和计算机及其外设的大幅度降价,Internet这个概念逐渐深入人心。
中国网民的数量呈几何级数量增长,BBS的普及程度也直追Email。
每个网站几乎都拥有自己的BBS或者BBS链接,BBS社区提供给用户的服务是全面而且非常友好的,用户在社区中可以根据自己的喜好设置不同的显示风格,根据自己的需求定制各种服务[4]。
通过论坛更加快捷的了解企业员工的信息,而建立会员服务的基础是建系论坛管理系统!
通过应用该系统可以实现用户与用户间的交流、企业与企业间的信息交互,利用网络经济而又快捷地与外界进行各种信息沟通,取得更有用的信息资源。
论坛系统服务已经是互联网站一种极为常见的互动交流服务。
论坛可以向网友提供开放性的分类专题讨论区服务,可以在此发表自己的某些观感、交流某些技术、经验乃至人生的感悟与忧欢,亦可以做为网友们之间的交流渠道,网站亦可在此回答网友们提出的问题或发布某些消息。
通过论坛的方式,增强个人与个人,团体与团体,个人与团体之间的交流联系,在Internet上实现信息的传递,提高办事效率[5]。
因此论坛建设在Internet应用上的地位显而易见,它已成为现代人沟通和获取信息的重要组成部分,从而倍受人们的重视。
本文利用JSP和SQLServer2000做一个在线论坛系统。
该系统以Internet为平台,前台可使任何人注册、登陆在论坛上进行发贴及讨论,版主可以进行一部分管理。
而管理员也可以在后台进行相关的管理。
2系统技术及运行环境
2.1JSP技术简介
JSP是服务器端的脚本语言,是以SERVLET为基础开发而成的动态网页生成技术,它的底层实现是JAVASERVLET。
JSP(JAVASERVERPAGES)由HTML代码和潜入其中的JAVA代码所组成[6]。
服务器在页面被客户端请求以后对这些代码进行处理,然后将生产的HTML页面返回客户端的浏览器JSP的特点是面向对象、跨平台、和SERVLET一样稳定、可以使用SERVLET提供的API,同时克服了SERVLET的缺点。
在使用JSP时一般和JAVABEANS结合使用,从而将界面表现和业务逻辑分离[7]。
2.2JAVABEAN技术简介
JAVABEAN是基于JAVA的组建模型,有点类似于MICROSOFT的COM组建。
在JAVA平台中,可以无限扩充JAVA程序的功能,通过JAVABEAN的组合可以快速生产新的应用程序。
对于程序员来说,最好的一点就是JAVABEAN可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。
JAVABEAN通过JAVA虚拟机(JAVAVIRTUALMACHINE)执行,运行JAVABEAN最小的需求是JDK1.1或者以上的版本。
JAVABEAN传统的应用在于可视化的领域,如AWT下的应用。
自从JSP诞生后,JAVABEAN更多的应用在了非可视化领域,在服务器端应用方面表现出了越来越强的生命力[8]。
2.3其它的一些技术
本系统还使用了一些其它的技术,如Struts[9],Hibernate[10],Spring[11],AJAX等。
这些都会在后面的代码处作相应的介绍。
2.4运行环境
为了保证BBS论坛管理系统运行的高效性和可靠性,服务器应具有较高的软硬件配置,客户端的要求不是很高。
此应用程序可广泛运行于国际互联网即Internet,也可适用于内部的局域网。
其运行要求如下:
软件环境:
客户端:
Windows95/98/2000/XP,InternetExplorer(IE6.0及其以上版本)等。
服务器端:
WindowsNT/Windows2000,Tomcat5.0[12],JDK1.5及其以上版本,IE6.0及其以上版本等;
数据库:
采用SQL2000,运行于服务器端。
硬件环境:
服务器CPU:
PIII500以上,内存:
512M以上。
客户机CPU:
P200MMX以上,内存:
32M以上。
3系统需求分析说明
3.1系统介绍
本系统是基于B/S结构的一个小型论坛,主要基于Windows平台,通过这个论坛,用户之间可以实现互动交流。
3.2功能需求
通过对网上的一些著名论坛的认识,该论坛至少应该实现以下功能:
(1)注册管理:
能够对用户名,密码的简单验证,能够防止利用页面刷新重复注册,已经存在的用户名称不能重复注册。
(2)浏览帖子:
可以根据作者或内容等为关键字搜索帖子,分论坛版块显示帖子,显示帖子详情,浏览帖子时不要求用户登录,但回复帖子前用户必须登录。
(3)发表及回复帖子:
只有登录用户才可以发表和回复帖子,并且对帖子的字数有限制。
(4)用户个人信息管理:
登陆用户可以编辑注册后的个人资料,如修改密码等,但是不可以修改用户名称。
也可以对自己发表的帖子进行操作:
如修改,删除。
(5)回复管理:
各论坛版块的版主可以对自己管理的版块的帖子的回复的帖子进行管理,可以屏蔽回复。
(6)论坛版块管理:
只有管理员有该权限,管理员可以添加,删除版块,也可以修改版块资料,如版块名称,上级版块,版主。
(7)用户管理:
只有管理员有该权限,管理员可以禁用,启用用户,进行用户密码重置。
(8)公告管理:
只有管理员有该权限,管理员可以添加,删除公告。
(9)帖子管理:
各论坛版块的版主可以对自己管理的版块的帖子进行管理,可以屏蔽和删除帖子。
4总体设计
本系统采用B/S模式设计,方便系统的维护和使用。
采取MVC设计模式与多层架构的基于J2EE平台的设计[13],使系统拥有良好的扩展性,在满足当前使用需求同时还兼顾系统以后可能的功能扩充。
系统分成几个相对独立的模块,但这些模块都进行集中式管理。
4.1
总体结构和模块设计
该系统可分为前台和后台两个部分,前台是提供给一般用户和版主使用的,后台是提供给管理员进行一些系统维护的。
功能结构图如下:
图3.1系统功能结构图
4.2
处理流程
对于本系统的使用者来说,可以分为以下几类:
未注册的用户,已注册的用户。
已注册的用户又可以分为一般用户、版主、管理员三类。
根据用户角色的不同,用户拥有的权限也会不同。
根据这个来分析该系统的业务流程。
系统的业务流程如图3.2所示:
图3.2业务流程图
5数据库设计
在建设网站系统之前,必须对系统所用到的数据进行大致的分类和具体的结构设计,既要做到清晰明了,又要能适应系统各项功能的调用,而不至于产生结构上的逻辑混乱,保证关键数据在意外情况下不会被破坏,可以说数据库是系统的重中之重。
数据库设计要遵循一些规则,一个好的数据库满足一些严格的约束和要求。
尽量分离各实体对应的表,一个实体对应一个表,分析该实体有哪些属性,对应有些什么字段,以及各实体之间的联系。
实体、属性与联系是进行概念设计时要考虑的三个元素,也是一个好的数据库设计的核心[14]。
从实际出发,经过仔细地设计,得到各表的设计如下所示。
5.1
数据库结构属性图
图4.1数据库结构属性图
5.2
数据库表格设计
表4.1:
UserInfo用户信息表
列名
说明
类型
备注
uid
主键
Int(4)
自增
username
用户名称
Varchar(20)
Notnull
password
密码
Varchar(20)
Notnull
head
头像
Varchar(20)
Notnull
sign
个人签名
Varchar(200)
Notnull
roleid
角色
Int(4)
Notnull
active
状态
Int(4)
Notnull
表4.2:
Topic帖子表
列名
说明
类型
备注
tid
主键
Int(4)
自增
title
帖子主题
Varchar(50)
Notnull
content
帖子内容
Varchar(1000)
Notnull
authorid
作者
Int(4)
Notnull
time
发表时间
datetime
Notnull
sortid
所属的论坛版块
Int(4)
Notnull
表4.3:
Reply回复表
列名
说明
类型
备注
id
主键
Int(4)
自增
title
帖子主题
Varchar(50)
Notnull
content
帖子内容
Varchar(1000)
Notnull
authorid
作者
Int(4)
Notnull
time
发表时间
datetime
Notnull
topicid
回复的帖子编号
Int(4)
Notnull
表4.4:
Sort论坛版块分类表
列名
说明
类型
备注
sid
主键
Int(4)
自增
parentid
上级版块
Int(4)
Notnull
sortname
版块名称
Varchar(50)
Notnull
master
版主名称
Varchar(20)
允许为null
表4.5:
Role角色表
列名
说明
类型
备注
rid
主键
Int(4)
自增
description
角色描述
Varchar(10)
Notnull
表4.6:
Notice公告表
列名
说明
类型
备注
nid
主键
Int(4)
自增
content
公告内容
Varchar(100)
Notnull
6系统详细设计
前台和后台页面设计采用的技术是JSP。
之所以选择它是因为JSP技术具有下面的特点:
1)WriteOnceRunAnywhere
JSP技术继承了JAVA先天性的先进概念“WriteOnceRunAnywhere”这种概念正越来越深远的影响着互连网行业的交互式、WEB设计的理念。
JSPPages可以非常容易的开平台跨WEB服务器软件来是设计和开放源代码。
2)支持多种动态网页格式
目前对使用JSP技术设计出来的网页应该采取什么样的格式还没有一个明确的标准。
一般来说JSP技术即可以支持HTML/DHTML的传统浏览器文件格式,又可以支持应用与无线通讯设备例如移动电话、PDA等设备进行网页浏览器的VML文件格式,还可以支持其它一些B2B应用的XML格式。
与以往的其它WEB应用技术相比较JSP技术有它很鲜明的特点。
3)JSP标签可扩充性
尽管JSP与ASP都使用标签与脚本技术来制造动态WEB网页,但是JSP技术能够使开发者扩展JSP标签,使得应用JSP的开发者能定制标签库所以网页制作者可以充分利用与XML兼容的标签技术,大大减少了对脚本语言的依赖。
由于指定标签库技术使得网页制作者降低了制作网页和想多个网页扩充关键功能的复杂程度[15]。
4)JSP跨平台的可重用性
JSP的开发人员在开发过程中一直关注可重用性,JSP足见、企业JavaBean或制定的标签都是跨平台可重用的。
企业JavaBean可以访问传统的数据库并能并能已分布式系统模式工作于UNIX和WINDOWS平台,JSP标签可扩充功能为开发人员提供简便的与XML兼容的接口,即共享网页的打包功能使其完全的工业标准化。
这种基于组建的模式能够有效的提高应用程序的开发效率。
因为这种模式能够使开发人员利用快捷的子组建快速创建模板应用程序。
然后再整和一些附加功能将其打包成一个JAVABEAN组建。
5)易于维护性
基于JSP技术的应用程序比基于ASP的应用程序更易于维护和管理。
脚本语言都很好服务于小的应用程序但不能适宜大型的复杂的应用程序,因为JAVA是结构化的,它比较比较容易创建和维护庞大的组建化的应用程序。
6.1前台页面
6.1.1登录进入论坛首页页面
图5.1论坛登录页面
在此页面中,用户如果点击“浏览进入”这个超链接,即以相当于游客的身份进入论坛,进入的是论坛的首页(图5.2所示),那么就只拥有浏览和搜索帖子的权限。
如果用户输入了正确的用户名称和密码,就会以用户的身份进入论坛的首页。
该用户就可以拥有更多的权限,可以浏览和搜索帖子,修改个人资料,删除和修改自己发表的主题帖子,发表和回复帖子。
如果用户输入了不正确的信息,则系统阻止进入论坛的首页,还是会跳转到该登录页面。
如果用户点击了“注册”这个超链接,则会进入注册页面(图5.3所示)。
6.1.2论坛首页
图5.2论坛首页
在该页面中,显示了很多信息。
主要是各个版块的详细信息,包括版块的名称,版主,发表于该版块下的主题帖子总数,以及最新发表的帖子的信息。
若有发表的帖子,则显示该帖子的主题,作者,和发表时间,并且提供了帖子主题的超链接,点击后会进入显示该帖子的详细信息页面。
若无发表的帖子,则显示暂无。
该页面上还显示了公告的信息,即公告栏显示的内容。
页面上还提供了搜索帖子的功能,可以根据作者名称来精确查找和根据帖子内容来模糊查找。
如果用户是经过登录验证后进入该页面的,页面会提供“个人中心”的超链接,点击此链接会进入个人信息中心页面(如图5.6所示)。
如果用户是通过浏览进入该页面的,则不会提供该超链接。
6.1.3注册页面
图5.3注册页面
用户可以在该页面中输入注册资料,包括用户名,密码,个性签名和头像。
用户名,密码,个性签名都是必填的,头像是默认选择第一个,用户也可以重新选择。
在用户提交之前,对所填的信息都作了验证,包括用户名非空并且不可重复,密码非空,密码长度必须大于或等于4,两次输入的密码必须一致,个性签名非空,且长度小于50。
在对用户名称的唯一性验证时,使用了AJAX技术,当用户输入完用户名,该文本框失去焦点时,会检查数据库中是否存在该用户名,
如果不存在,则在文本框后用蓝色字体显示“Ok,你可以用这个名称!
”,如果存在,则在文本框后用红色字体显示“No,这个名称已占用!
”。
提交成功后,跳转到登录页面。
在这里简单介绍一下AJAX技术。
AJAX全称为“AsynchronousJavaScriptandXML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。
它使浏览器可以为用户提供更为自然的浏览体验。
在Ajax之前,Web站点强制用户进入提交/等待/重新显示范例,用户的动作总是与服务器的“思考时间”同步。
Ajax提供与服务器异步通信的能力,从而使用户从请求/响应的循环中解脱出来。
借助于Ajax,可以在用户单击按钮时,使用JavaScript和DHTML立即更新UI,并向服务器发出异步请求,以执行更新或查询数据库。
当请求返回时,就可以使用JavaScript和CSS来相应地更新UI,而不是刷新整个页面。
最重要的是,用户甚至不知道浏览器正在与服务器通信:
Web站点看起来是即时响应的。
6.1.4发表帖子
图5.4发表页面
用户可以在该页面中填写帖子的资料,包括标题和内容。
提交之前也作了验证:
标题非空且长度小于50,帖子内容非空且长度小于2000。
为提示用户控制输入,通过JavaScript实现了动态显示用户输入的字符数目。
为避免重复提交,提供了验证码,只有输入了正确的验证码后才会提交。
6.1.5显示帖子及回复
图5.5显示贴子与回复页面
在该页面中,显示了帖子的详细信息和回复的帖子的详细信息。
并且实现了分页功能,每页显示5个回复帖子。
只有对登录用户才显示“回复帖子”和“发表话题”两个按钮,以及回复帖子的表格的显示。
对于没有登录的用户,则不会显示。
如果登录的用户的身份是版主,而该帖子又是位于该用户管理的论坛版块下,则会在主题帖子后提供“屏蔽此帖”和“删除”两个超链接。
分别实现屏蔽帖子和删除帖子的功能。
另外在回复的帖子后提供“屏蔽此回复”超链接,实现对回复的帖子的屏蔽操作。
6.1.6显示个人中心页面
图5.6个人中心页面
在该页面中,显示了用户的个人资料和发表的帖子的信息。
当用户点击“编辑个人资料”的超链接后,会进入修该个人资料的页面,实现对个人信息的修改。
另外页面上分页显示了用户发表的主题帖子,用户可以这些帖子进行修改和删除操作。
6.2后台页面
用户要进入后台管理页面,必须先进入后台管理的登录页面,使用了Filter来实现过滤。
只有登录成功后,才能进入管理页面。
6.2.1后台登录页面
图5.7后台页面
登录成功后跳转到后台管理页面,登录失败后还是跳转到本页面。
6.2.2后台管理页面
图5.8后台管理页面
进入到后台管理后,首先显示的是如上图5.8所示的页面。
6.2.3用户管理页面
图5.9用户管理页面
点击后台管理页面的左边导航栏的“用户详细信息”
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- BBS 论坛 系统 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)