基于JSP的BBS论坛的设计与实现毕业论文.docx
《基于JSP的BBS论坛的设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《基于JSP的BBS论坛的设计与实现毕业论文.docx(46页珍藏版)》请在冰豆网上搜索。
![基于JSP的BBS论坛的设计与实现毕业论文.docx](https://file1.bdocx.com/fileroot1/2023-4/19/d0fd5576-b94b-41fa-b36f-d045c353ba48/d0fd5576-b94b-41fa-b36f-d045c353ba481.gif)
基于JSP的BBS论坛的设计与实现毕业论文
本科生毕业论文(设计)
基于JSP的财大家园BBS论坛的设计与实现
姓 名
学 号
专 业
指导教师
2011年05月20日
摘 要
随着网络应用的兴起,人们交流的方式也发生了翻天覆地的变化。
网络聊天、网络视频和邮箱系统等网络应用的出现正在改变着人们彼此之间沟通、交流的方式.此外,为了满足人们在某一特定主题下的知识获取和信息发布,出现了在线网络论坛。
各种各样的主题论坛几乎囊括了人们生活的每个角落。
人们根据自己的专业特长和兴趣爱好在论坛上提出自己的问题,即提出主题。
而后其他人根据主题内容可以发表自己的意见和看法,即回复主题.一千个人有一千个哈姆雷特,论坛集大家之所长,所感,为每一个用户提供了丰富的知识矿藏。
论坛是一个让人足不出户即可了解外界世界,了解他人所想的工具。
在人们生活节奏逐步加快的今天,必有其存在的现实意义。
正是基于这样的认识,开发了此BBS论坛系统.除了提供基本的看帖、发帖、回帖、搜帖的功能,针对管理员用户系统还提供了用户管理和帖子管理的操作。
目的是基于现实,为用户提供一个模拟的网上交流环境。
方便大家的沟通交流,丰富人们的娱乐文化生活。
在论文的篇章上,本论文从系统分析、系统整体设计、数据库设计、系统详细设计与实现几个方面对系统的开发过程作了详细的介绍,旨在全面地呈现系统由最初设计到最终定型的各个阶段,便于大家对系统有一个更好的把握和认识。
系统的具体实现细节则在论文的系统详细设计与实现一章给出了具体的阐述,各个功能版块的展示也包含在其中,能够直观地看到系统运行后的演示效果.其间夹杂着部分主要代码的辅助说明,便于从底层查看系统的最终实现。
关键词:
JSP;网上论坛;模拟社区;在线交流
Abstract
WiththedevelopmentoftheInternet,thewayofpeople’scommunicationhasundergonedenormouschanges。
Webchat,OnlineVideoandMailboxSystemarechangingthewayofpeople'smutualcommunication。
Andtomeettherequestofgettingtheknowledgeandpublishinginformation,InternetForumhascometoappear.Allkindsoftopicforumalmostcovereverycornerofperple’slives。
Basedonthemajor,specialityorinterest,peopleposequestionsontheforum,named‘Posting’;Then,otherpeoplecanpublishhisorheropinionorviewpointaimedatthetopicthathasbeenreleasedbyotherpeoplebefore。
Thisprocessnamed‘PostFollowup’.ForthereareathousandHamletsinathousandpeople’seyes,theforumgatheringthespecialityandthoughtsofpeople,supplyingveryabundantresourcesforus.Bymeansofit,peoplewhonevertogooutcanknowtheoutsideworldandotherpeople’sthoughts.Nowadays,paceofpeople’slifehasbeenspeedingupgradatim,theexistenceofthefourmmusthasit’srealasignifoitself.ThisBBSSystemisdevelopedbasedonthecognition.Besidesthefundamentalfunction,suchasReadingpost,PostingandReplyingpost,theBBSSystemalsoprovidethefunctionofmanagingpostandusersforadminstrat.TheaimoftheSystemistocreateavirtualenvironmentofcommunicationonline。
Whatwewanttodoistomakepeople’scommunicationmoreconvenient,torichpeople’sliveswithcultureandentertainment。
Thethesisdescriptstheprogressofthedevelopingofthesystemwithfourchapters。
TheyareAnalysisofsystem,Entiredesignofsystem,DesignofDatabase,Detaileddesignandachievementofsystem。
Theaimistoentirelypresenteveryprogressfrominitialdesigntofinalizingthedesignofthesystem,toprovideconvenienceforpeopletograsporunderstandthesystembetter。
TherelizingdetailsofthesystemisshowedatthechapterwhichisnamedDetaileddesignandachievementofsystem.Thedemonstrationofeveryfunctionalmoduleisaddedtothischapter,sothatwecanseetherunningeffectmoredirectlier。
Somemaincodeisalsoaddedtomakeassistdescription.Inthisway,wecanseethemechanismofthefinalrealizationofthesystem.
KeyWords:
JSP,WebBBS,SimulationCommunity,OnlineCommunication
目 录
1引 言
网络的兴起与发展,极大地改变了人们的思维和行为习惯。
基于网络的应用也层出不穷,论坛就是最早兴起的应用之一。
作为一种传递消息的方式,最早的BBS的作用是公布股市的即时消息,而随着时代的发展,现在的BBS的内容已达到无所不包的程度。
小到生活趣事,大到专业知识,各种各样的主题论坛让人眼花缭乱。
论坛网页的形式也由最初的静态页面发展到现在的动态页面,更好的实现了用户之间的交互。
把BBS作为一种对外的展示窗口,进行内外信息交流,已然成为大众的广泛需要.财大家园论坛就是通过动态Web开发技术和数据库技术实现的以财大学生与老师为主要服务对象的一个基于现实环境之上的一个网上论坛,力求创造出一个模拟的网上校园虚拟环境。
财大人可以足不出户,在论坛上共享一切值得分享的主题,方便交流;外界人士也可以通过此论坛更好的了解财大学生的焦点和兴趣所在,省时省力.在论坛的设计上,增加了版块类别。
不同的版块区域所包含的讨论主题会有所区分,这样的话,就能以主题不同,分版块分主题地记录了你我他的点滴心声。
此论坛是基于B/S模式的一种JSP网页论坛的设计与实现,力求做到界面友好、简单和易于操作。
论文从几个大的方面来对系统的开发做出了阐述。
在系统分析一章从需求分析和可行性分析两方面来做具体阐述;系统整体设计则从系统目标、系统功能划分和系统开发环境三大方面说明,结合后面的系统详细设计与实现一章完成对系统从整体到细节的全方位的理解。
数据库设计单独设一章,对数据库的分析、概念设计和逻辑设计给出了详细说明。
系统的详细设计与实现一章对系统的各个功能模块的设计与实现做了详细说明,分为前台设计和后台设计两个部分。
其中,前台设计几乎囊括了整个设计与实现的大半部分。
在所有章节中,系统总体设计、数据库设计和系统详细设计与实现三章是主要内容.论文尽可能的将与系统相关的内容解释清楚,目的就是将系统的整个开发流程展示给大家。
2系统分析
2。
1需求分析
2。
1。
1功能性需求
开发BBS论坛系统的目的是为了提供一个大家交流的平台,供人们发表看法、探讨经验、讨论问题。
因此,BBS论坛系统的最基本的功能是发表主题,其次是其它人员根据主题发表自己的看法,即回复主题。
考虑到现实情况,并不是每一个访问的游客都具有发表主题的权利,所以必须用一个身份绑定用户,赋予其发表主题的权利,这就需要实现用户注册及登录的功能。
每一个系统都需要管理员这个特殊群体的存在,所以也需要实现管理员登陆的功能。
管理员区别于一般用户的地方在于,管理员往往具有更高的权限,有权对用户信息和帖子内容作出某些“增删改查”的操作,所以,针对管理员,系统应该实现删除和修改帖子以及对用户的管理等功能,以实现管理员对社区的管理。
考虑到社区访问量会很大,用户发表的帖子的数量自然很多,在浩瀚的帖子海洋中,如何才能查看自己感兴趣的帖子成为了一个不得不考虑的问题。
所以,系统还应该实现搜索帖子的功能,用模糊查询的方法,对社区的帖子进行筛检的工作。
本系统针对用户还实现了一个特殊的功能,即邮件发送。
如果某个用户对其他的用户感兴趣,那么可以通过将邮件发送到指定用户注册时所填写的邮箱地址,这样的话,就能够实现即时通讯的功能。
综上所述,BBS论坛系统的功能就可以进行如下划分:
1、前台部分
主要涉及系统前台,即用户所能看到的网页所涉及到的功能。
主要包括:
用户注册/登录,发表新主题,回复主题,查看主题内容,搜索主题,邮件发送。
2、后台管理部分
主要是数据库的操作,针对系统管理员设置的一些功能。
主要包括:
管理员登录,删除与修改主题和用户信息管理。
图2—1系统功能介绍
数据库部分,本系统新建了系统用数据库bbs,并在其下创建了五张表:
user(用户表)、article(主题表)、admin(管理员表)、grade(用户等级表)和edit(版块类别)。
本系统在设计之初,为简单起见,欲暂不考虑系统管理员的设置,默认此系统只有一个管理员账户,用户名和密码均为“admin"。
但这种做法在现实生活中是很难满足实际需求的。
所以,最终创建了管理员表admin,以实现对管理员信息的统一存储和管理.理论上应该有四个业务角色:
游客、用户、管理员以及帖子。
系统的用例图如下:
图2—2系统用例图
从用例图中我们可以看出,游客的权限最低,只能查看、回复和搜索主题;用户的权限居中,能够发布、回复、搜索和查看主题;管理员的权限最高,除了能够实现用户的所有功能,还能够修改和删除主题,并且能够对用户信息进行管理,具有行使系统所能够提供的一切权利。
说明:
用户和游客(非用户)的身份区别主要通过“用户注册”的功能实现,系统通过sql语句将注册用户信息保存到user表中,用户登录时查询user表,并以返回结果的有无判断个人的真实身份。
系统的顶层数据流图(DFD)如下:
图2-3顶层数据流图(DFD)
图2-4一层数据流图
2.1.2非功能性需求
1>平台限制.本系统是在Windowxp环境下开发,对系统没有过高的其它要求.
2〉服务器支持。
本系统是基于B/S模式下的论坛系统,采用的服务器是Tomcat7。
0。
5版本。
3〉数据库支持。
本系统采用的数据库是MySQL5。
1版本,同类型或更高级别的数据库管理软件都能适用.
4>基于MyEclipse平台下开发。
2。
2可行性分析
需求分析回答的是“做什么,不做什么”的问题,而可行性分析回答的则是“做,还是不做”的问题.可行性分析是在调查分析的基础上,针对新系统的开发是否具有实用性和可能性,对新系统的开发从经济、技术、社会环境和人等发面进行分析和研究。
可行性分析往往能够对决策者提供有价值的依据,以避免投资失误,保证新系统的开发成功。
联想集团领导人柳传志[2006]曾说:
“没钱赚的事我们不干;有钱赚但投不起钱的事不干;有钱赚也投的起钱但没有可靠的人选,这样的事也不干。
"可见可行性分析的重要性。
(1)、技术可行性
技术上的可行性分析主要指在现有可用的技术基础上,是否能够顺利完成新系统的开发工作.从硬件方面来看,计算机硬件的更新速度正在不断提高,与此同时,系统的稳定性也在不断加强。
容量越来越大,性能越来越强,而价钱却越来越低。
所以,仅从硬件方面来看,完全能够提供满意的系统开发环境。
从软件方面来看,该BBS论坛采用了流行的动态网页设计技术(JSP)和当前流行的B/S(浏览器/服务器)设计模式进行开发。
B/S模式本身是随着Internet技术的兴起,对传统C/S结构的一种变化或者改进结构,具有很多传统结构所不具有的优点。
先进的Internet/Intranet(国际互联网/企业内部互联网)技术,保证了B/S结构的强有力态势,将B/S结构的应用转变成为一种特定时代条件下的大势所趋.本系统的服务器采用的是Tomcat7.0。
5版本,Tomcat发展至今,技术上自不必说,性能也很稳定,完全能够担负服务器的重任,辅助完成中小型应用的成功开发。
数据库服务器选用的是MySQL5。
1版本,是目前运行速度最快的SQL语言数据库,能够同时处理大量数据,并保证数据的完整性.它的灵活性、易用性和安全性为新系统的开发提供了一个良好的环境。
(2)、经济可行性
经济可行性所作的工作主要是对项目整体的经济效益进行评估,本系统的目的是模拟一个网上交流的平台,供用户在社区交流经验、探讨问题。
但实际只是用于个人毕业设计,不涉及商业上的运作,纯粹模拟,故不存在资金上的流动,也不存在经济不可行的问题。
(3)、社会可行性
随着Internet技术的迅猛发展,BBS论坛已成为越来越多网民彼此交流,获取信息的重要途径.在论坛上,人们可以发表自己一切感兴趣的话题,也可以根据别人所发的主题发表一些自己的看法,心得体会等。
通过BBS论坛获取信息及发表主题已成为一种时尚的生活方式。
BBS论坛缩短了人们之间的距离,在不知不觉间,早已成为人们网上生活的必备工具,可见论坛存在的必要性和发展的前景。
3系统总体设计
3.1系统目标
基于BBS论坛在现实生活的实际应用,本系统的系统目标是提供一个以现实环境为基础的网上模拟交流平台,通过它,人们可以不必拘泥于空间和时间上的限制,方便交流,畅所欲言,同时也能够更加便利的看到周围人的想法,观点,最大化的丰富人们的视野和生活,让人随时都能身在其中,随时也能置身事外。
3。
2系统功能划分
3。
2.1前台功能结构
系统的前台初始页面如下,登录地址为“http:
//localhost:
8080/BBS”:
图3—1财大家园网首页
当用户登录到论坛首页时,其默认的身份就是游客,只能查看、回复、搜索帖子,而不能执行发帖等其它操作。
如果用户为非注册用户,则其可以进行注册以获得一个登录身份。
如果用户为已注册用户,则其可以直接进行登录,然后以注册用户的身份执行诸如发表新主题、查看新主题、回复主题、搜索主题等一系列操作。
前台系统流程图具体如下:
图3—2前台系统流程图
此时,用户已经具有了一种身份,此后用户可以以此种身份执行诸如发表新主题、查看主题、搜索主题、回复主题等操作.
3.2.2后台功能结构
后台功能主要是针对管理员而设置的,用户以管理员的身份登陆后,就能执行后台管理的操作,具体到此BBS论坛,主要是指删除和修改主题以及对用户信息的管理.
后台系统流程图如下:
图3—3后台系统流程图
3.3系统开发环境
3。
3.1开发环境
在建立工程前,需要首先搭建开发环境。
此BBS论坛系统的开发需要用到以下几种工具,故开发前需要进行相应的下载和安装:
开发平台:
MyEclipse9。
0M2
Web服务器:
Tomcat7.0。
5
数据库服务器:
MySQL5.1
Java开发工具:
JDK1。
6。
0
辅助工具:
DreamweaverCS4
3.3.2系统平台体系结构的选择
在系统开发领域内,目前存在两大主流系统平台的开发结构,一种是C/S结构,而另一种是B/S结构。
C/S结构,即大家熟知的客户端/服务器结构,是一种应用较早,相对传统的开发模式。
通过它,可以充分利用两端硬件环境的优势,将任务合理的分配到Client端和Server端,降低了系统的通讯开销。
B/S结构,即浏览器/服务器结构,是随着Internet的兴起,对C/S结构的一种变化或者改进.在这种结构下,用户不需要借助于客户端软件,通过WWW浏览器,即可实现系统的全部既定功能。
在这种模式下,一部分事务逻辑在前段实现,但是主要事务逻辑在服务器端实现,大大简化了客户端电脑载荷,减轻了系统维护与升级的成本,从而降低了用户的整体成本。
从开放程度来说,传统的C/S结构虽然采用的是开放模式,但这个开放性只是针对系统开发一级的,在特定的应用中,无论是客户端还是服务器端都还需要特定的软件支持.而B/S结构,是一次性到位的开发,应用此模式开发的系统,不同人员,在不同地点,以不同的接入方式(比如LAN、WAN等)访问并操作共同的数据库,能有效地保护数据平台和管理访问权限,服务器的数据库也很安全.特别是在Java这样的跨平台语言出现之后,B/S架构管理软件起来更是显得方便,快捷和高效。
可以说,B/S是乘着Internet兴起的风而杨风远航的,是适应时代的产物。
但是,B/S也存在着自己的不足,比方说其在大量数据分析,实时控制应用方面就存在着需要改进的地方。
综合考虑,本系统还是考虑使用当下流行的B/S结构作为系统的开发模式.
3。
3.3JavaScript语言简介及特点
JavaScript语言是Netscape公司开发的一种脚本性语言(Scriptinglanguage),或者称其为描述性语言.作为一种编程语言,其出现的使命就是为了适合动态网页制作的需要,颇具工具色彩.在静态网页Html的基础上,使用JavaScript可以开发交互式Web网页,能够使网页和用户之间实现一种实时性的、动态的、交互性的关系,使得网页包含更多活跃的元素和更加精彩内容。
可以说,JavaScript是专门为制作Web网页而量身定做的一种简单的编程语言。
JavaScript是在客户机上执行的,其特点和功能主要是短小精悍,能够大大提高网页的浏览速度和交互能力。
其特有的工具色彩让其在动态网页的开发中找到了用武之地。
3。
3。
4JSP概述
JSP是由Sun公司在Java语言的基础上开发出来的一种动态网页制作技术,其将标记〈%%〉插入到页面中,从而使网页中的静态部分和动态部分分离开来.JSP是类似ASP的一种技术,在传统的静态网页HTML文件插入Java程序段和JSP标记,就形成了JSP文件。
JSP技术的强势在于:
1、一次编写,到处运行。
在更换系统时,代码不需要做任何修改。
2、系统的多平台支持。
基本上可以在所有平台上的任意环境下开发,在任意环境中进行系统部署,在任意环境中扩展。
3、强大的可伸缩性。
通过小小的jar文件运行servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,一台服务器到无数台服务器,JSP表现了强大的可伸缩性.
4、多样化和功能强大的开发工具支持,常用的编辑工具有Dreamweaver和MyEclipse等。
3.3.5MySQL
MySQL可以称得上是目前运行速度最快的SQL语言数据库,除了具有许多其他数据库所不具备的功能和选择外,MySQL数据库是一种完全免费的产品,用户可以直接从网上下载数据库,用于个人和商业用途,而不必支付任何费用.
3.3。
6JDBC技术
数据库管理是每个应用系统开发过程中不得不考虑的问题,目前主流的数据库有Oracle、SqlServer、MySql等。
不管使用何种技术,都离不开JDBC技术的支持。
JDBC的全称是JavaDataBasesConnectivitystandard,即Java数据库连接,是一种数据库通用接口采用的主流技术。
其定义了用来访问数据库源的标准Java类库,通过它使用一种标准方法,就能够方便的访问数据库资源。
所以,JDBC又是一种规范,其目标是使应用程序开发人员通过它连接任何提供JDBC驱动程序的数据库系统,这样就使得程序员无需对某种数据库有过多的了解,大大加快了开发过程。
有了JDBC,向各种数据库发送SQL语句就是一件再简单不过的事了.换言之,有了JDBC,就不必为访问数据库A专门再写一个程序,又为访问数据库B专门写一个程序.所以,JDBC为Java应用程序与各种不同数据库之间进行对话提供了一个标准的方法,这也是Java语言“一次编写,到处运行"的优势。
4数据库设计
4。
1数据库分析
数据库的设计,在应用系统的开发中起着举足轻重的作用。
一个合理、有效的数据库设计不仅是做好系统的保证,也能降低程序的复杂性,使程序的开发过程变得更加容易。
本系统是一个中型的BBS论坛系统,考虑到用户信息量和用户需求等问题,决定采用MySQl作为项目用数据库。
MySQl是一个中小关系型数据管理系统,最初由MySQLAB公司发布.MySQL由于体积小、速度快、总体拥有成本低等原因,成为许多中小型网站数据库的首选。
MySQL可以称得上是目前运行速度最快的SQL语言数据库,此外,MySQL数据库是一种完全免费的产品,用户可以直接从网上下载数据库,用于个人和商业用途,而不必支付任何费用.
4.2数据库概念设计
ER图是实体联系图,E-R模型是对现实世界的一种抽象。
其组成部分主要包括实体、联系和属性。
使用这三种成分,我们可以很好的抽象出现实世界中的个体,并通过彼此之间的联系来抽象整个世界。
E—R模型是设计数据库时经常使用到的方法。
经过分析,本系统创建了五张数据库表,即帖子表(article)、版块表(edit)、用户等级表(grade)、用户表(user)和管理员表(admin).下面划分出本系统所使用的数据库实体,它们分别为用户(User)和帖子(Article)以及管理员(admin)。
以下是帖子、用户和管理员的实体图:
图4—1帖子实体图
图4-2用户实体表
图4-3实体管理员表
系统的E-R图如下:
图4-4系统E—R图
4.3数据库的逻辑设计
根据数据库的概念设计,可以创建与实体对应的数据表.
1、用户表(User)
下面是对表User的具体设计
表4-1user
字段名
属性
约束
意义
1
userName
varchar(30)
primarykey
用户名
2
password
varchar(25)
无
密码
3
rePassword
varchar(25)
无