BBS论坛毕业设计.docx
《BBS论坛毕业设计.docx》由会员分享,可在线阅读,更多相关《BBS论坛毕业设计.docx(54页珍藏版)》请在冰豆网上搜索。
BBS论坛毕业设计
人生最大的幸福,是发现自己爱的人正好也爱着自己。
毕业论文
题目计算机系BBS论坛
学院物理与信息科学学院
姓名______
专业计算机科学与技术
学号_
指导教师_____
提交日期________
原创性声明
本人郑重声明:
本人所呈交的论文是在指导教师的指导下独立进行研究所取得的成果
学位论文中凡是引用他人已经发表或未经发表的成果、数据、观点等均已明确注明出处
除文中已经注明引用的内容外
不包含任何其他个人或集体已经发表或撰写过的科研成果
本声明的法律责任由本人承担
论文作者签名:
年月日
论文指导教师签名:
计算机系BBS论坛
摘要
随着信息技术的快速发展
人与人之间交流方式越来越先进
在当今时代
QQ、留言板、博客、微信等已成为人们彼此沟通、交流信息的主要方式
此外
为了方便人们在某一专业领域探讨问题、发表意见和更深入的交流
BBS论坛就应运而生了
在此BBS论坛上
人们可以对计算机领域或者其他方面提出自己遇到的问题和见解
即发表相关问题的主题
来得到其他相关学界人士的解答
自己也可以去浏览和解答其他人不同程度的问题
从而达到相互学习和交流的目的
开发BBS论坛系统的目的是提供一个供用户交流的平台
为广大用户提供交流经验、探讨问题的网上社区
系统提供给用户注册和登录的功能
只有注册的用户登录后才能够发表和回复主题等操作来表达自己的思想和见解
未登录者只能浏览主题信息
因此
BBS论坛系统拥有的发表主题和回复等功能成了论坛的最大特色
使得本论坛深受人们的青睐
本论坛系统是基于Struts+jstl+Spring+hibernate+lucene实现的
它具有使用方便、操作简单、运行稳定、安全可靠等特点
关键词:
BBS论坛
Struts
Spring
Hibernate
BBSforumsofthedepartmentofcomputerscience
Abstract
Withtherapiddevelopmentofinformationtechnology
moreandmoreadvancedmeansofcommunicationbetweenpeople.Today
QQ
messageboards
blog
micro-lettersandotherpeoplecommunicatewitheachother
themainwaytoexchangeinformation.Inaddition
inordertoeasyforpeopletostudytheissueinaparticularareaof?
?
expertise
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章绪论1
第2章系统分析2
2.1需求分析2
2.2可行性分析2
第3章系统总体设计4
3.1系统目标4
3.2系统功能结构4
3.2.1前台功能结构4
3.2.2后台功能结构5
3.3系统流程图5
3.4系统开发环境7
3.4.1开发环境7
3.4.2系统平台体系结构的选择7
3.4.3主要技术8
3.4.4Mysql数据库9
3.4.5JDBC技术10
第4章数据库设计11
4.1数据库分析11
4.2数据库概念设计11
4.3数据库逻辑设计17
第5章系统主要模块设计与实现21
5.1前台设计21
5.1.1前台页面主要部分的设计与实现21
5.1.2查看首页面的论坛类别及回复22
5.1.3站内主题搜索页面23
5.1.4查看根贴和回复贴内容24
结论27
致谢28
参考文献29
第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所示
图3.1计算机系BBS前台功能结构图
3.2.2后台功能结构
若用户的权限为管理员
则可进入后台
可进行论坛类别的管理、版面管理和用户管理的操作
后台功能结构图如图3.2所示
图3.2计算机系BBS后台功能结构图
3.3系统流程图
1.计算机系BBS论坛的系统后台流程图如图3.3所示
图3.3BBS论坛系统后台流程图
2.计算机系BBS论坛的系统前台流程图如图3.4所示
图3.4计算机系BBS论坛的系统前台流程图
3.4系统开发环境
3.4.1开发环境
在开发此论坛的时候
需要具备下面的软件和开发环境
服务器端:
●操作系统:
WindowsXP
●Web服务器:
Tomcat6.0
●Java开发包:
JDK1.6
●数据库:
Mysql5.5
●集成开发工具:
Myeclipse9.0
●浏览器:
IE8.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是一种中小型的关系型数据库
它具有很强的数据完整性、可伸缩性、可管理性、可编程性;具有均衡与完备的功能;具有较低的价格与性能比
Mysq