BBS论坛毕业设计Word格式文档下载.docx
《BBS论坛毕业设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《BBS论坛毕业设计Word格式文档下载.docx(28页珍藏版)》请在冰豆网上搜索。
本论坛系统是基于Struts+jstl+Spring+hibernate+lucene实现的,它具有使用方便、操作简单、运行稳定、安全可靠等特点。
关键词:
BBS论坛,Struts,Spring,Hibernate。
BBSforumsofthedepartmentofcomputerscience
Abstract
Withtherapiddevelopmentofinformationtechnology,moreandmoreadvancedmeansofcommunicationbetweenpeople.Today,QQ,messageboards,blog,micro-lettersandotherpeoplecommunicatewitheachother,themainwaytoexchangeinformation.Inaddition,inordertoeasyforpeopletostudytheissueinaparticularareaofexpertise,viewsandmorein-depthexchanges,BBSforumscameintobeing.BBSforum,peoplecanputforwardthefieldofcomputerorotherproblemsencounteredandinsights,issuedarelatedtheme,togettheanswersofotheracademics,theywouldbetobrowseandtoanswerotherpeopletovaryingdegreesproblemsinordertoachievethepurposeofmutuallearningandexchange.
ThedevelopmentofBBSforumsystemaimstoprovideaplatformforuserstoexchange,exchangeexperiences,toprovidecustomerswithproblemsaddressedintheonlinecommunity.Thesystemprovidesfunctionalitytotheuserregistrationandlogin.Onlyregistereduserstologonbeforewecanpublishandreplytothetopicandotheractionstoexpresstheirideasandopinions,notloggedincanonlybrowsethesubjectinformation.BBSforumsystemhasreleasedthetopicsandreplytootherfunctionsbecamethemostsignificantfeatureoftheforummakestheforumbythepeopleofallages.
ThisforumsystemisbasedonStruts+jstl+Spring+Hibernate+Lucene,andithaseasytouse,simpletooperate,stable,safeandreliable.
Keywords:
BBSforum,Struts,Spring,Hibernate.
第1章绪论
随着互联网日益深入社会生活,BBS开发技术已趋于成熟,BBS论坛的功能不断增加并且完善,Java技术所实现的“一次编写,到处运行”的优势很明显,继承这一优势的web开发技术越来越受到人们的注视。
BBS作为一种流行的交流论坛平台,进行内外信息交流,已成为大众的广泛需要。
为了进行更好的交流,用户想就自己的专业和爱好能和其他的人士进行及时专业的交流,这样以来我们就可以在网络这个虚拟的空间中更方便地实现交流。
作为计算机系的我们,当然也就缺少不了专业学术的交流以及其他方面的探讨,所以开发这么一款计算机系BBS论坛也就成了必要的事,从而使得我们达到学术更好的交流与分享。
Java是当今最流行的开发语言之一,具有简单、跨平台等很多优势。
JSP则是Java在Internet/IntranetWeb上的重要应用技术,得到了广泛的支持和承认,它可以和各种Java技术完好地结合在一起,从而实现非常复杂的应用。
本网站主要使用Struts+jstl+Spring+hibernate+lucene技术在MyEclipse系统开发的,从而创建一个更为稳定,高效,安全的运行环境。
本系统主要基于Struts+jstl+Spring+hibernate+lucene技术开发,计算机系BBS论坛系统最基本的功能首先是发表主题。
此外,为了记录主题的发表者和回复者的相关信息,系统还需要提供用户注册和登录的功能。
只有注册的用户登录后才能够发表和回复主题,未登录者只能浏览主题信息。
本BBS论坛具备以下各大功能:
用户注册、用户登录、站内主题搜索、显示各论坛类别及版面、查看版面下所有根帖、查看精华帖子、查看公告、查看头条、查看查看自己发表的帖子、查看根帖内容、发表帖子、回复帖子、Blog链接、后台管理、论坛类别管理、版面管理等。
设计BBS论坛系统所要考虑的问题最重要的是合理设计系统的架构,提高系统的可扩展性。
代码部分尽量做到封装,算法设计简单合理,保证程序的逻辑结构清晰,从而使程序具有较好的可读性和可移植性,有利于其他的设计者对程序的阅读和系统本身代码的维护和安全性;
力求对数据库设计合理、操作安全与稳定,尽量避免数据库操作异常带来的严重损失。
综合以上各个方面的因素,才能使得系统的综合性能提高,使得系统高效安全稳定的运行,带给用户更多方便。
第2章系统分析
2.1需求分析
1.功能需求分析
开发计算机系BBS论坛系统的目的主要是提供给计算机系人士一个供交流专业学术的平台,为广大用户提供交流经验、探讨问题的社区。
用户可以阅读他人关于某个主题的看法,也可以将自己的想法毫无保留地贴到公告栏中。
这样,通过BBS论坛,广大用户的思想观点即会体现出来。
可充分反应最广大人民群众的集体意见。
因此,BBS论坛系统最基本的功能首先是发表主题,其次是其他人员根据主题发表自己的看法。
此外,为了记录主题的发表者和主题回复者等的相关信息,系统还需要提供用户注册和登录的功能。
只有注册的用户登录后才能够发表和回复主题以及其他的相关操作,而未登录者只能浏览主题信息,不能进行相关的操作。
根据用户的需求及以上的分析,本BBS论坛需要具备以下主要的前台功能和后台功能。
(1)系统前台功能:
显示各论坛类别及版面、显示用户信息、查看版面下所有根帖、查看精华帖子、查看自己发表的帖子、站内主题搜索、查看根帖内容、Blog链接、用户注册、用户登录、发表帖子、回复帖子等。
(2)系统后台功能:
进入后台、论坛类别管理、版面管理、角色管理、会员管理、主题搜索管理、博客链接管理。
2.2可行性分析
可行性分析是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决,从而综合性的提高系统的整体性能和系统的运行效率。
1.技术可行性
技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。
该BBS论坛管理系统采用了流行的JSP语言和当前新兴的Browser/Server(浏览器/服务器)模式进行开发。
三层的B/S体系结构具有许多传统Client/Server(客户机/服务器)体系结构不具备的优点,而且又紧密的结合了Internet/Intranet(国际互联网/企业内部互联网)技术,是技术发展的大势所趋,它把应用系统带入了一个崭新的发展时代。
数据库服务器选用mysql5.5数据库,它能够批量处理数据,同时保持数据的完整性并提供许多高级管理功能。
它的灵活性、安全性和易用性为数据库编程提供了良好的条件。
因此,系统的软件开发平台已成熟可行。
硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台能满足此系统的需要。
2.经济可行性
主要是对项目的经济效益进行评估,本系统模拟的是提供一个供用户交流的平台,为广大用户提供交流经验、探讨问题的社区。
但实际只是用于个人的毕业设计,只是模拟,也不存在资金的流动,故在经济上是可行的。
3.社会可行性
随着Internet技术的快速发展,BBS论坛已成为人们彼此沟通、交流信息的主要方式。
在论坛上,人们可以对计算机领域或者其他领域提出自己遇到的问题和自己的看法,随后,论坛上的其他人会根据自己的学识、经验发表意见或提出解决问题的方法。
本BBS论坛不但拉近了人们之间的距离,而且它早已成为人们网上生活的必备交流工具。
所以说计算机系BBS论坛对当今计算机相关专业人士是相当重要的。
第3章系统总体设计
3.1系统目标
对于典型的数据库管理系统,尤其是对像BBS论坛这样的数据流量特别大的网络管理系统,必须要满足使用方便、操作灵活等设计需求。
本系统在设计时应满足以下几个目标:
1.采用人机对话的操作方式,界面设计美观友好,信息查看灵活、方便、快捷、准确,数据存储安全可靠。
2.全面展示系统内所有分类的帖子,并进行分页显示。
3.为用户提供一个方便、快捷的主题信息查看功能。
4.实现在线发表帖子。
5.提供登录模块,主要用开管理员登录系统和发表帖子时保留发表者的信息。
6.用户随时都可以查看自己发表的帖子。
7.对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。
8.系统最大限度地实现了易维护性和易操作性。
9.系统运行稳定安全可靠。
3.2系统功能结构
3.2.1前台功能结构
用户访问论坛首页面后,可进行查看版面下根贴信息、查看自己发表的帖子、查看精华帖子、搜索帖子、查看根贴信息、用户注册等功能。
用户在此BBS论坛中通过注册成为该网站的真正用户并成功登录系统后,可进行发表帖子、回复帖子、查看自己发表的帖子等操作。
前台功能结构图如图3.1所示。
查看版面下根贴
查看精华帖子
站内主题搜索
查看根贴内容
用户注销
发表帖子
回复帖子
博客链接
用户登录
计算机系BBS论坛前台
用户注册
图3.1计算机系BBS前台功能结构图
博客链接管理
计算机系BBS论坛后台
角色管理
会员管理
版面管理
注销
主题搜索管理
3.2.2后台功能结构
若用户的权限为管理员,则可进入后台,可进行论坛类别的管理、版面管理和用户管理的操作。
后台功能结构图如图3.2所示。
图3.2计算机系BBS后台功能结构图
3.3系统流程图
1.计算机系BBS论坛的系统后台流程图如图3.3所示。
系统管理
是
否
后台
首页
管理员
博客搜索管理
图3.3BBS论坛系统后台流程图
2.计算机系BBS论坛的系统前台流程图如图3.4所示。
最新精华帖
版面列表
回复主题
发表主题
查看主题
修改主题
管理系统
是否管理员、版主、帖子发表者
是否登录
游客
访问
前台
论坛头条
论坛公告
Blog链接
发表回复
查看回复
修改回复
删除回复
移动主题
图3.4计算机系BBS论坛的系统前台流程图
3.4系统开发环境
3.4.1开发环境
在开发此论坛的时候,需要具备下面的软件和开发环境
服务器端:
●操作系统:
WindowsXP。
●Web服务器:
Tomcat6.0。
●Java开发包:
JDK1.6。
●数据库:
Mysql5.5。
●集成开发工具:
Myeclipse9.0
●浏览器:
IE8.0。
客户端:
3.4.2系统平台体系结构的选择
在应用开发领域中,目前系统平台的体系结构主要有两种,即C/S(Client/Server)结构和B/S(Brower/Server)结构。
C/S结构,即大家熟知的客户机和服务器结构。
它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。
B/S结构,即浏览器和服务器结构。
它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN等)访问和操作共同的数据库;
它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。
特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。
传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。
由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用,而且代价高,效率低。
B/S结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户界面完全通过web浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。
因此本系统采用了B/S结构。
3.4.3主要技术
1.Struts
struts是开源软件,使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。
如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。
2.Jstl
JSTL(JSPStandardTagLibrary,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。
JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat4.x。
在JSP2.0中也是作为标准支持的。
在应用程序服务器之间提供了一致的接口,最大程度地提高了WEB应用在各应用服务器之间的移植。
简化了JSP和WEB应用程序的开发。
3.Spring
spring在英文里有春天、弹簧、跳跃和泉眼的意思。
Spring也表示是一个开源框架,是为了解决企业应用程序开发复杂性由RodJohnson创建的。
框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。
Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。
然而,Spring的用途不仅限于服务器端的开发。
从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
4.Hibernate
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
5.Lucene
Lucene是apache软件基金会4jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。
Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。
3.4.4Mysql数据库
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。
在2008年1月16号被Sun公司收购。
而2009年,SUN又被Oracle收购。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。
这样就增加了速度并提高了灵活性。
MySQL的SQL“结构化查询语言”。
SQL是用于访问数据库的最常用标准化语言。
MySQL软件采用了GPL(GNU通用公共许可证)。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
本系统使用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数据库。
3.4.5JDBC技术
数据库通信接口采用JDBC(JavaDatabaseConnectivity,Java数据库连接)。
JDBC是一组API,定义了用来访问数据库源的标准JAVA类库,使用这种类库可以使用一种标准的方法、方便地访问数据库资源。
JDBC是用于执行SQL语句的Java应用程序接口,由一组用Java语言编写的类与接口组成,在JSP中将使用JDBC来访问数据库。
JDBC是一种规范,它让各数据库厂商为Java程序员提供标准的数据库访问类和接口,这样就使得独立于DBMS的Java应用程序的开发工具和产品成为可能。
JDBC的目标是使应用程序开发人员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统,这样就使得程序员无须对特定的数据库的特点有过多的了解,从而大大简化了和加快了开发过程。
一般的Java开发工具都带有JDBC-ODBC桥驱动程序,这样,只要是能够使用ODBC访问的数据库系统,也就能够使用JDBC访问了。
有趣的是,不同于ODBC是OpenDatabaseConnectivity的简称,JDBC并不是JavaDatabaseConnecivity的简称,而是SUN的注册商标,至少官方说法是这样的。
JDBCAPI为访问不同的数据库提供了一种统一途径,像ODBC一样,JDBC
为开发者屏蔽了一些细节问题。
另外,JDBC对数据库的访问也具有平台无关性。
第4章数据库设计
4.1数据库分析
数据库的设计,在程序的开发中起着至关重要的作用,它往往决定了在后面的开发中进行怎样的程序编码。
一个合理、有限的数据库设计可降低程序的复杂性,使程序开发的过程更为容易。
本系统是一个中型的供求信息网站,考虑到开发成本、用户信息量客户需求等问题,决定采用Mysql作为项目中的数据库。
Mysql是一种中小型的关系型数据库,它具有很强的数据完整性、可伸缩性、可管理性、可编程性;
具有均衡与完备的功能;
具有较低的价格与性能比。
Mysql数据库可以大容量地存储数据,并对数据进行合理地逻辑布局,应用数据库对象可以对数据进行复杂地操作。
Mysql也提供了JDBC编程接口,这样可以非常方便地应用Java来操作数据库。
4.2数据库概念设计
E-R模型是对现实世界的一种抽象。
它的主要成分是实体、联系和属性。
使用这三种成分,我们可以建立许多应用环境的E-R模型。
现在划出本系统所使用的数据库实体,它们分别为主题实体、回复实体、论坛实体、数据信息实体和用户实体。
下面将介绍几个关键实体的E-R图。
标题
编号
描述
作者
IP地址
1.博客链接实体
图4.1博客链接实体E-R图
2.主题类别实体
主题类别
序列号
图4.2主题类别实体E-R图
数据信息
字符值
值类型
3.数据信息实体
异常
操作者
登录时间
评论
类别
详细信息
图4.3数据信息实体图
4.异常实体
图4.4异常实体E-R图
论坛
分类编号
主题数
文章数
最后主题编号
最后更新时间
5.论坛实体
图4.5论坛实体E-R图
操作
实体类型
类型名称
实体编号
6.操作实体
图4.6操作实体