完整版BBS论坛毕业设计论文7840483.docx
- 文档编号:12281509
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:61
- 大小:36.48KB
完整版BBS论坛毕业设计论文7840483.docx
《完整版BBS论坛毕业设计论文7840483.docx》由会员分享,可在线阅读,更多相关《完整版BBS论坛毕业设计论文7840483.docx(61页珍藏版)》请在冰豆网上搜索。
完整版BBS论坛毕业设计论文7840483
知识不仅是指课本的内容,还包括社会经验、文明文化、时代精神等整体要素,才有竞争力,知识是新时代的资本,五六十年代人靠勤劳可以成事;今天的香港要抢知识,要以知识取胜
基于JSP的计算机技术交流论坛系统的设计与实现
摘要
进入二十一世纪
计算机技术迅速向着网络化、集成化方向发展
传统的单机版应用软件正在逐渐退出舞台
取而代之的是支持网络、支持多种数据信息(多媒体)的新一代网络版应用软件
BBS的英文全称是BulletinBoardSystem
翻译为中文就是"电子公告板"
BBS在国内一般称作网络论坛
BBS作为一种新兴的网络版应用软件
在交友互动、商业、新闻报道上都有广泛的应用前景
1978年在美国芝加哥开发出一套基于8080芯片的CBBSChicago
此乃最早的一套BBS系统
国内大约是从1991年开始
开始了第一个BBS站
经过长时间的发展
直到1995年
随着计算机及其外设的大幅降价
BBS才逐渐被人们所认识
1996年更是以惊人的速度发展起来
在计算机网络飞速发展的今天
BBS已经成为人们网上交流的重要平台
因此对BBS的研究是十分必要的
本文就是基于Web技术
采用软件工程的结构化开发方法
设计和开发了一个简单实用的网上论坛
本文详细记录了整个论坛的开发过程
包括系统的分析阶段、设计阶段、测试阶段和实施阶段
并通过文字、图形和表格的形式
详细介绍了这个网络论坛的整体架构和设计特点
本论坛采用目前最流行的JSP技术
结合数据库技术
开发出了这个伸缩性好
扩展性强
能兼容、易维护、界面美观
功能实用的BBS系统
关键词:
网络论坛;BBS;JSP技术;数据库;Web技术;软件工程
Abstract
Intothe21stcentury
computertechnologyrapidlytowardsnetwork-based
integrateddirection.Traditionalstand-aloneapplicationsoftwareisgraduallyleavethestage
replacedbysupportnetworkstosupportmultipledata(multimedia)versionofanewgenerationofWebapplications.
BBSEnglishfullnameistheBulletinBoardSystem
isthe"ChinesetranslationofelectronicBulletinBoard"
BBSindomesticgenerallycallednetworkBBS.Therapiddevelopmentofcomputernetworkstoday
BBSforonlinecommunication
soBBSresearchisverynecessary.ThisarticleisbasedonWebtechnology
usingsoftwareengineering
structureddevelopmentmethods
designanddevelopasimpleandpracticalon-lineforum.
ThispaperrecordstheentiredevelopmentprocessoftheForum
includingthesystemanalysisphase
designphase
testingandimplementationstages
andthroughtext
graphicsandtabularform
detailingtheoverallstructureofthenetworkforum
anddesignfeatures.ThemostpopularforumusingJSPtechnology
combinedwithdatabasetechnologytodevelopthisflexibilityisgood
extensible
compatible
easytomaintain
attractiveinterface
featurespracticalBBSsystems.
Keyword:
Forum;BBS;JSPTechnology;Database;WebTechnology;SoftwareEngineering
目 录
摘要I
AbstractII
引言1
第一章系统概要3
1.1背景与意义3
1.2开发方法4
1.2.1JAVA和JSP技术简介4
1.2.2SQLServer2005概述5
1.2.3Tomcat6.0服务器架构6
1.2.4运行环境的选择6
第二章系统需求分析8
2.1系统功能概述8
2.1.1系统功能需求8
2.1.2用例分析8
2.1.3概念层类图10
2.2系统性能要求11
2.2.1系统灵活性11
2.2.2输入输出要求12
2.2.3数据管理能力要求12
2.3可行性分析12
2.3.1社会可行性12
2.3.2技术可行性12
2.3.3经济可行性13
2.3.4操作可行性13
第三章系统概要设计14
3.1设计目标14
3.2网络论坛数据流图15
3.3面向数据流的设计方法16
3.3.1系统层次图(H图)17
3.4系统数据库设计18
3.4.1数据库设计原则18
3.4.2数据库概念结构设计19
3.4.3数据库表设计20
第四章系统的详细设计23
4.1代码标识设计23
4.2代码设计原则23
4.3系统主要功能流程及模块24
4.3.1前台显示设计24
4.3.2发表帖子模块设计28
4.3.3根帖操作设计29
4.3.4搜索帖子操作设计31
4.3.5用户注册操作设计32
4.4论坛后台管理模块设计33
4.4.1论坛版面管理33
4.4.2论坛类别管理37
4.4.3论坛用户管理40
第五章系统测试43
5.1程序的测试方法43
5.2软件的功能测试44
5.2.1链接测试44
5.2.2功能模块测试45
5.2.3验证功能模块测试46
5.3软件的可用性测试46
结论48
致谢49
参考文献50
附录附录清单A51
附录附录清单B57
引言
伴随着计算机技术的发展
人们生活水平的提高
传统的社交方式越来越难以满足人们的需要
而现在
随着中国的网名人数迅速增加
地区的信息网络化越来越普及
人们更愿意借助网络这种全新的方式来交流
于是网络论坛便应运而生
网络论坛一般就是大家口中常提的BBS
什么是BBS呢
BBS的英文全称是BulletinBoardSystem
翻译为中文就是"电子公告板"
它是Internet上的一种电子信息服务系统
在较早的时期
BBS仅仅是提供一块公共电子白板
每个用户都可以在上面书写
可发布信息或提出看法
象日常生活中的黑板报一样
电子公告牌按不同的主题、分成很多个布告栏
布告栏的设立的依据是大多数BBS使用者的要求和喜好
使用者可以阅读他人关于某个主题的最新看法(几秒钟前别人刚发布过的观点)
也可以将自己的想法毫无保留地贴到公告栏中
现在
BBS可以说是一种极为常见的互动交流服务系统
大家不仅可以在此发表自己的想法
交流技术、经验以及人生的感悟
也可以作为用户与商家交流的渠道
商家可以开设BBS作为售后服务信息收集和反馈中心
在此回答用户提出的问题式发布消息
在web2.0时代到来的大环境下
BBS即将朝着两个方向发展:
一是朝着即时性发展
随着信息产生和更新的速度越来越快
人们对信息的需求越来越大
对获取信息方式的要求越来越高
这便要求了BBS需要具有越来越高的即时性
现在动态网站出现的新技术Ajax
可以不需要刷新页面就可以更新数据
这就使得web站点看起来是即时响应的
二是朝着图形化方向发展
由于使用BBS进行交流的用户越来越多
这就要求BBS必须得有富有特色的
友好的界面来吸引来自天南海北的朋友的目光
图形虚拟社区可以非常具体和形象化地模拟整个现实社区的生活
并且具备无限的可扩充性
随着人们生活水平的不断提高
在家里
在宿舍
在办公室
上网已经不是什么很困难的事情
通过BBS
人们可以参与各种自己自己喜欢的话题
与志同道合的朋友一起交流心得
特别是对于IT技术人员
BBS更是一个非常重要的学习交流的场所
本文讨论的便是一个基于JSP语言的中型网络论坛系统
它具有一般BBS的基本功能
如用户注册、登陆、发帖、回帖、看帖、查找帖子
以及管理人员对BBS的各种管理功能
这所有的操作都在用户的客户端的浏览器中完成
由JSPWeb程序处理后
对服务器的数据库进行操作
再处理成HTML文件传到用户客户端浏览器
响应用户的需求
整个系统采用的是web体系
科学的开发过程对系统的完整性和精确性将有很大的影响
因此
这次开发系统的过程严格遵循的软件工程的思想
从需求分析到过程设计都有详细的记录
使得系统高度模块化
可读性、可重用性以及可维护性好
本文中共分5章
第一章绪论
主要讲网上论坛的背景、意义
开发方法及开发工具简介;第二章系统需求分析
主要讲系统功能需求、性能需求及可行性分析;第三章概要设计
主要介绍系统工作流程、功能结构图及数据库表设计;第四章详细设计
主要讲各个功能的工作流程及具体的实现过程
第五章系统测试
主要介绍系统使用的测试方法及测试用例并计算系统的稳态可用性
每章附有本章重点介绍的功能图例及详细讲解
帮助理解系统的各部分功能
第1章系统概要
1.1背景与意义
BBS(BulletinBoardService
公告牌服务)是Internet上的一种电子信息服务系统
它提供一块公共电子白板
每个用户都可以在上面书写
并且可发布信息或提出看法
大部分BBS由教育机构、研究机构或商业机构管理
象日常生活中的黑板报一样
电子公告牌按不同的主题
分主题分成很多个布告栏
布告栏的设立的依据是大多数BBS使用者的要求和喜好
使用者可以阅读他人关于某个主题的最新看法
也可以将自己的想法毫无保留地贴到公告栏中
同样地
别人对你的观点的回应也是很快的
如果需要独下的交流
也可以将想说的话直接发到某个人的电子信箱中
如果想与正在使用的某个人聊天
可以启动聊天程序加人闲谈者的行列
虽然谈话的双方素不相识
却可以亲近地交谈
在BBS里
人们之间的交流打破了空间、时间的限制
在与别人进行交往时
无须考虑自身的年龄、学历、知识、社会地位、财富、外貌、健康状况
而这些条件往往是人们在其他交流形式中无可回避的
同样地
也无从知道交谈的对方的真实社会身份
这样
参与BBS的人可以处于一个平等的位置与其他人进行任何问题的探讨
这对于现有的所有其他交流方式来说是不可能的
目前国内的BBS已经十分普遍
可以说是不计其数
其中BBS大致可以分为5类:
(1)校园BBSCERNET建立以来
校园BBS恨快地发展了起来
目前很多大学都有了BBS
几乎遍及全国上下
像清华大学、北京大学等等都建立了自己的BBS系统
清华大学的水木清华很受学生和网民们的喜爱
(2)商业BBS站
这里主要是进行有关商业的商业宣传、产品推荐等等
目前手机的商业站、电脑的商业站、房地产的商业站比比皆是
(3)专业BBS站
这里所说的专业BBS主要用于建立地域性的文件传输和信息发布系统
(4)情感BBS
主要用于交流情感
是许多娱乐网站的首选
(5)个人BBS
有些个人主页的制作者们在自己的个人主页上建设了BBS
用于接受别人的想法
更有利于与好友进行沟通
系统主要分为前台和后台
前台包括查看版面下根帖信息、查看自己发表的帖子、查看精华帖子、搜索帖子、查看根帖信息、用户注册、发表帖子、回复帖子等
后台是管理界面
主要包括论坛类别的管理版面管理和用户管理的操作
1.2开发方法
本次设计的论坛管理系统是一个基于JSP语言的小型网络论坛系统
它具有一般BBS的基本功能
如用户注册、登陆、发帖、回帖、看帖、查找帖子
以及管理人员对BBS的各种管理功能
这所有的操作都在用户的客户端的浏览器中完成
由JSPWeb程序处理后
对服务器的数据库进行操作
再处理成HTML文件传到用户客户端浏览器
响应用户的需求
整个系统采用的是web体系
科学的开发过程对系统的完整性和精确性将有很大的影响
本系统采用了Struts框架进行开发
Struts框架实现了MVC设计思想
所以应用该框架
使得开发的程序层次结构清晰
便于功能的扩展和后期的维护
因此
这次开发系统的过程严格遵循的软件工程的设计思想
从需求分析到过程设计都有详细的记录
使得系统高度模块化
可读性、可重用性以及可维护性好
1.2.1JAVA和JSP技术简介
1、将内容的生成和显示进行分离
用JSP技术
Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面
并使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的
例如请求账户信息或者特定的一瓶酒的价格等)
生成内容的逻辑被封装在标识和JavaBeans组件中
并且捆绑在脚本中
所有的脚本在服务器端运行
由于核心逻辑被封装在标识和JavaBeans中
所以Web管理人员和页面设计者
能够编辑和使用JSP页面
而不影响内容的生成
在服务器端
JSP引擎解释JSP标识和脚本
生成所请求的内容(例如
通过访问JavaBeans组件
使用JDBC技术访问数据库或者包含文件)
并且将结果以HTML(或者XML)页面的形式发送回浏览器
这既有助于作者保护自己的代码
又能保证任何基于HTML的Web浏览器的完全可用性
2、可重用组件
大多数JSP页面依赖于可重用的、跨平台的组件(JavaBeans)来执行应用程序所要求的复杂的处理
开发人员能够共享和交换执行普通操作的组件
或者使得这些组件为更多的使用者和客户团体所使用
基于组件的方法加速了总体开发过程
并且使得各种组织在现有的技能和优化结果的开发努力中得到平衡
3、采用标识
Web页面开发人员不会都是熟悉脚本语言的编程人员
JSP技术封装了许多功能
这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的
标准的JSP标识能够访问和实例化JavaBeans组件
设置或者检索组件属性
下载Applet
以及执行用其他方法更难于编码和耗时的功能
4、适应平台
几乎所有平台都支持Java
JSP几乎可以在所有平台下通行无阻
从一个平台移植到另外一个平台
JSP甚至不用重新编译
因为Java字节码都是标准的与平台无关的
5、数据库连接
Java中连接数据库的技术是JDBC
Java程序通过JDBC驱动程序与数据库相连
执行查询、提取数据等操作
Sun公司还开发了JDBC-ODBCbridge
利用此技术Java程序可以访问带有JDBC驱动程序的数据库
目前大多数数据库系统都带有JDBC驱动程序
所以Java程序能访问诸如Oracle、Sybase、MSSQLServer和MSAccess等数据库
1.2.2SQLServer2005概述
SQLServer是美国Microsoft公司开发的一个关系型数据库管理系统
是目前世界上最著名的关系数据库管理系统之一
MicrosoftSQLServer2005在性能和可扩展方面确立了世界领先的地位
是一套完全的数据库和数据分析解决方案
使用户可以快速创建下一代的可扩展电子商务和数据仓库解决方案
MicrosoftSQLServer2005在数据库服务器自动调整和自动管理技术方面在数据库领域中处于领先地位
使客户可以集中精力处理商业战略上的问题
而不是去细微调整数据库服务器的各项参数
SQLServer的主要功能:
1、数据库管理功能
作为数据库管理系统
SQLServer自然应该具有数据库管理功能
MicrosoftSQLServer2005的数据库由包含数据的
表集合和其他对象(如视图、索引、存储过程和触发器)组成
目的是为执行与数据有关的活动提供支持
存储在数据库中的数据通常与特定的主题或过程相关
②数据仓库功能
SQLServer2005提供了一套全新的综合分析服务系统
分析服务为商业活动提供了集成的OLAP服务和数据挖掘功能
OLAP可以通过多维存储技术对大型、复杂数据集执行快速、高级的分析工作
数据挖掘功能能够揭示出隐藏在大量数据中的倾向及趋势
SQLServer针对包括集成数据挖掘、OLAP服务、安全性服务及通过Internet对多维数据集进行访问和链接分析提供新的数据仓库功能
③网络论坛
SQLServer不仅提供网络论坛所需的可伸缩性与可扩展性之外
还提供了丰富的数据库编程能力
以确保系统的协同工作和灵活性
SQLServer2005不仅支持集中化数据库管理功能
而且还最大程度地实现了管理与优化工作的自动化
从而
减轻了有关管理人员的负担
④完备的Web功能
SQLServer2005允许通过HTTP协议
在Web上进行高性能、基于标准的安全访问
基于Web的客户端拥有访问关系型数据存储和访问分析服务的能力
⑤分布式数据复制功能可以将一个数据库中的数据复制到通过局域网、广域网或Internet网络连接的不同地点服务器或同一服务器中的不同数据库中
并能够自动保持这些数据同步
使各个数据库中具有相同的数据
1.2.3Tomcat6.0服务器架构
Tomcat6.0由Apache组织开发的一种常用Web服务器
提供Web服务
一种JSP引擎
本身具有Web功能
可以作为独立的Web服务器使用
但是
在作为Web服务器方面
Tomcat处理静态HTML页面时不如Apache迅速
也没有Apache健壮
一般选用Tomcat与Apache结合的方式
让后者对网站的静态页面的请求提供服务
而Tomcat作为专用的JSP引擎
提供JSP解析
得以更好的性能
1.JDK的安装与配置
(1)找到path变量后单击[编辑]按钮;弹出[编辑系统变量]对话框
在[变量值]文本框中输入"c:
\jdk\bin"
然后单击[确定]按钮
同时新建CLASSPATH变量;
(2)在[系统变量]选项组中单击[新建]按钮
在[变量名]文本框中输入"CLASSPATH"
在[变量值]文本框中输入"c:
\jdk\lib\tools.jar;c:
\jdk\lib\dt.jar;"然后单击[确定]按钮
(3)用同样的方法把c:
\jdk添加到JAVA_HOME环境变量中;
2.TOMCAT的安装与配置
在这里设默认安装目录为c:
\Tomcat安装完毕
更改环境变量
用同样
的方法把c:
\Tomcat添加到TOMCAT_HOME环境变量中
启动Tomcat
在浏览器的[地址]下拉列表框中输入"session=request.getSession();
OpDBmyOp=newOpDB();创建业务对象
ListclassType=myOp.OpClassListShow();查询数据表
获取所有论坛类别
if(classType!
=null&&classType.size()!
=0){
for(inti=0;i StringclassID=((ClassForm)classType.get(i)).getClassId();获取当前论坛类别ID Stringsql="select*fromtb_boardwhereboard_classID=? "; Object[]params={classID}; Listoneboardlist=myOp.OpBoardListShow(sql params);获取当前论坛类别下所有版面 session.setAttribute("class"+classID oneboardlist);存储版面 } } session.setAttribute("classType" classType);保存论坛类别 实现此过程主要代码: 在遍历论坛存储论坛类别的list集合对象的iterate标签中 嵌套另一个iterate标签来遍历并输出当前论坛类别中的版面 iterateid="classSingle"name="classType"scope="session"> presentname="class${classSingle.classId}获取当前论坛类别的ID值 iterateid="boardSingle"name="class${classSingle.classId}"scope="session"> 帖子总数: writename="boardSingle"property="boardBbsnum"> 精华帖子: writename="boardSingle"property="boardBbsgoodnum"> 未回复: writename="boardSingle"property="boardBbsundonum"> 版主: writename="boardSingle"property="boardMaster"> iterate> present> iterate> 某版面下根帖的列表显示、我的帖子的列表显示和精华帖子的列表显示 都是显示某个版面中的所有根帖 实现该功能 首先需要获取当前版面中的根帖 可 如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。 copyright@ 2008-2022 冰点文档网站版权所有 经营许可证编号:鄂ICP备2022015515号-1
冰豆网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。