当前位置:文档之家› BBS论坛的设计与实现

BBS论坛的设计与实现

BBS论坛的设计与实现
BBS论坛的设计与实现

BBS论坛的设计与实现

摘要:当今,信息传播速度非常快,并且信息交流的形式更多的体现为以人为本,在互联网的新时代,信息是由每个人贡献出来的,各个人共同组成互联网信息源,每个人即是信息的管理者也是信息的传播者,而为了更好的进行信息交流,产生了各种基于信息交互的论坛,开发论坛的目的主要是借助网络先进的技术实现对某一个问题进行交流和探讨。本文设计的BBS论坛,采用ASP+Access 和B/S模式,客户端只需要通过浏览器就能够访问论坛网页,确保服务器的安全。论坛功能较齐全,在这里可以自由地发表自己的观点和对论坛的主题发表意见,还可以对网友的问题及时地解决,获取对自己有用的知识。该论坛可以直接嵌入到某些单位的网站中直接使用,也可以为BBS论坛开发者提供一些参考依据。

关键词:BBS论坛;网站开发;ASP

目录

一、绪论 (3)

(一)BBS的发展背景 (3)

(二)BBS的研究意义 (4)

二、相关技术概述 (4)

(一)https://www.doczj.com/doc/cc2339229.html, 3.5 的简介 (4)

(二)ADO简介 (5)

(三)Access数据库 (5)

三、需求分析 (5)

(一)BBS论坛的开发环境需求 (5)

(二)BBS论坛的功能需求 (6)

四、BBS论坛详细设计 (7)

(一)论坛整体模块设计 (7)

(二)系统数据库设计 (8)

五、BBS论坛的实现 (10)

(一)用户模块界面的实现 (10)

(二)帖子模块的实现 (12)

(三)后台管理模块的实现 (14)

六、总结 (15)

参考文献 (17)

一、绪论

(一)BBS的发展背景

Bulletin Board System 即电子公告板,BBS 的最早功能是用来公布股市行情等信息,不能完成文件的传输,并且只能在苹果电脑上运行。1978 年在美国芝加哥开发出最早的一套BBS 系统,之后开发出基于苹果机的Bulletin Board System 和大众信息系统(People,s Message System)2 种BBS 系统,当时个人计算机诞生时,并没有基于个人计算机的BBS 系统,直到1983 年Buss Lane 用Basic 语言改写出了基于个人计算机系统的BBS,经Thomas Mach 努力完成了个人计算机的第 1 版BBS 系统——RBBS-PC,由于此套系统的源程序全部公开,因此后来开发的其他的BBS 系统时都以此为框架,使得RBBS-PCBBS 赢得了鼻祖的美称。在那个年代并不能实现站与站之间的沟通和联络技术。1984 年美国的Tom Jonning 开发出了具有电子公告功能的FIDO,通过该软件可以实现站际连线和自动互传信息的功能,并且站与站之间可以在一个预定的共同时间发送和接收电子邮件,这样BBS 通过网络可以直接交互,为后来BBS 的发展奠定了一定的技术基础,在功能实现上信息的交流,随着其软件功能的不断完善可随时取得国际最新的软件及信息,并且通过BBS 可以与网友讨论计算机软件、硬件、Internet、多媒体、程序设计等等各种话题,更可以利用BBS 系统来刊登一些广告或者寻找志同道合的朋友,大家借助这个平台可以相互交流,取得各自所需的信息,从而增加自身的阅历!国内大约是1991 年拥有第一个BBS 网站,1996 年开始流行并发展起来。国内的BBS 站按性质划分为 2 种:一种是商业BBS 站,如新浪网等;另一种是业余BBS 站,如各种高校的BBS 论坛等。从构建方式上BBS 分为PC BBS 和Internet BBS,PC BBS 是利用电话网构建的网站,Internet BBS 是利用Internet 构建的网站,由于最近几年Internet 使用费用的下降,基本上BBS 都是Internet BBS。1999 年是中国网络迅速发展的一年,一些BBS 站也迅速发展起来,比如各个高校的论坛非常的活跃,为大学生提供了一个交流的平台。目前国内的BBS 站基本上向着着个性化和专业化的方向发展。

(二)BBS的研究意义

目前,各种论坛实现的主题模块涵盖文化、生活、社会、时事、体育、娱乐、情感等各项领域,并且是一个经过管理员整理编辑过的网络资源库。不少BBS 都设有专门的网络管理员,并且专门从事搜集网络信息;特别是一些网站为了提高浏览量和营造宣传效果,他们把一些社会热点放到网络以引起网友和媒体的关注,如天涯论坛、中华网社区、猫扑等等,他们的社会影响力逐步引起媒体和公众的关注,FTP 技术和BT 技术的日益完善为BBS 站内资源的更新、共享提供了极大的方便。并且大部分大学的BBS 论坛都有专门的FTP 服务器,还与一些新兴技术如BT 技术、Blog 技术、微博、QQ 空间等建立链接,使得他们的影响力逐步增强。基于网络的论坛社区即是各种学习资源组合的场所,也为学习者提供了学习环境。许多参与论坛网络活动的网友相聚在特定板块内,论坛参与者围绕某个话题或者问题,通过发表、回复话题、版面讨论、站内信件等方式进行互动讨论、相互探讨,形成了一种以交流为中心的学习方式。目前各个网站基本上把论坛作为主流网站的补充,每个商业网站都有论坛,网站版主通过了解论坛信息的回复和发表意见的情况可以掌握该信息的浏览量,并且每个用户在阅读后可以直接发表意见,用户之间又可以直接相互探讨对该信息的一些意见,这种交流方式极大的促进了信息的传播。

二、相关技术概述

(一)https://www.doczj.com/doc/cc2339229.html, 3.5 的简介

https://www.doczj.com/doc/cc2339229.html, 3.5 是面向对象的开发模型,使用https://www.doczj.com/doc/cc2339229.html, 能够提高代码的重用性,降低开发和维护的成本,开发的Web 页面被称之为Web Form 窗体,使用https://www.doczj.com/doc/cc2339229.html,能够创建与Windows 桌面应用程序相似的用户界面,并且https://www.doczj.com/doc/cc2339229.html, Web 应用程序是编译型而非解释型的Web 开发技术,https://www.doczj.com/doc/cc2339229.html, 3.5 让开发人员能更容易的创建出更强大的Web 应用程序,https://www.doczj.com/doc/cc2339229.html,内置对象包括Request、Response、Application等,虽然ASP是一个可以称得上是“过时的”技术,但是在https://www.doczj.com/doc/cc2339229.html,开发人员中依旧可以使用这些对象。这些对象不仅能够获取页面

传递的参数,某些对象还可以保存用户的信息,如Cookie、Session等。Web应用程序在传统的意义上来说是无状态的,Web应用不能像Win Form那样维持客户端状态,所以在Web应用中,通常需要使用内置对象进行客户端状态的保存。这些内置对象能够为Web应用程序的开发提供设置,配置以及检索等功能。

(二)ADO简介

ADO是微软公司提供给网页开发者在网页中存取数据库的最新技术,它也是ASP内置的重要组件,ADO主要的目的是为了存取或修改数据源的数据、或增加数据到指定的数据源,数据源不仅包括数据库,而且包括dBase、Excel、Foxpro、Access 或文本文件等一些小型的数据表,所以,只要是ODBC 驱动程序所能存取的数据源皆是ADO 存取的对象。ADO主要是由Connection对象、Command对象、Parameter对象、Dataset对象、Field对象、Property对象及Error 对象等七个对象。

(三)Access数据库

考虑到本系统为一BBS论坛,数据量不是很多,故选择Access2000作为系统数据库。Access 是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS)它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。它具有存储方式单一、面向对象、界面友好、易操作、集成环境及处理多种数据信息、支持ODBC等特点,比较适合中小型数据库的开发。

三、需求分析

(一)BBS论坛的开发环境需求

结合本系统实际需要,本BBS系统采用B/S结构,使用微软公司的技术解

决方案。该论坛借助Dreamweaver mx 进行界面的设计,主要使用了DIV+CSS 的技术,后台数据库主要是在Access环境下进行创建,最终形成一个可以运行的论坛网站。本系统要求客户端支持IE6.0 以上或与之兼容的浏览器软件,客户端硬件最低要求对应于IE6.0的硬件平台要求。服务器端要求支持ASP以及Access数据库。本系统的开发环境和开发工具为:Windows xp,https://www.doczj.com/doc/cc2339229.html,,Dreamweaver MX,Access等。

(二)BBS论坛的功能需求

通常的BBS论坛的功能要素包括用户注册、用户登录、发帖、回复帖和管理员维护、浏览列表、创建板块、修改板块、删除板块、搜索、置顶、设置权限等等,他们所完成的功能基本上是对数据库的增加、删除、修改、插入,通过不同的语句即可实现不同的功能。根据这些要素设计出小型BBS 系统的功能模块主要有:用户注册:用户名不允许重名;用户登录:允许注册用户和访客登录;查询主帖:分页显示主帖的标题等信息;详细信息:查询主帖的详细信息及其全部回复信息;发表新主帖:可以输入新帖并插入数据库中;回复:对某个主帖进行回复;管理员登录:只允许管理员登录。帖子类有浏览、发帖、回帖、搜索和管理5个方法,浏览方法又可以分为列表和查看2个子方法,管理方法又可以分为编辑、删除、置顶、转移、指定精华5个子方法。用户类有注册、登陆和管理3个子方法,管理方法又分为添加、删除和设置权限3 个子方法。根据以上的功能需求分析,我们可以得出论坛的流程图如下:

图3.1论坛流程图

四、BBS论坛详细设计

(一)论坛整体模块设计

在确定了论坛系统的设计思路之后,还需要归纳成系统的相关模块,每个模块实际上就是功能的合理组合。由于已经将功能做了前台与后台的分类,因此模块也应该分为两大类:前台模块和后台模块。用户在前台的注册、登陆,以及修改个人的注册信息组合成注册信息组合成注册登陆模块。用户浏览板块、浏览主题帖列表、查看帖子组合成浏览模块。用户发帖、回帖、编辑自己发布的帖子组合成发帖回帖模块。管理员编辑帖子、删除帖子、转移帖子、置顶帖子和精华帖子组合成管理帖子模块。以上4个模块是前台模块。后台模块都是与管理员相关的,设置论坛参数单独为论坛设置模块;创建、修改和删除板块为管理板块模块;添加、删除和设置权限为管理用户模块。具体模块设计如下:

图4.1BBS论坛模块结构图

(二)系统数据库设计

本系统所使用的数据库服务器为ACCESS 2003,它在ACCESS 2003 的基础上,扩展了ACCESS的总体功能与性能、工具界面更加方便合理、全面的数据完整性保护、系统安全性更高。ACCESS 2003的数据库空间不会受限于Device 空间大小,方便了数据空间的扩展,使ACCESS 2003作为一个网络数据库管理系统,其扩展已超出了单个物理计算机的限制,并且多服务器“分布式”事物的内在支持更加充分.本系统主要使用了存储过程Stored Procedure,所谓Stored Procedure实际上就是一段保存在数据库中的程序,通过一个名称的命名,其中包含有处理数据库存取与运算的SQL语句,并且将这样的程序文件紧密结合在数据库中,这样我们的前台应用系统在执行过程中,可以直接执行数据库中设置好的Stored Procedure,甚至可以传递参数。具体的数据表如下:首先是用于存储注册用户信息的数据表User,它的主键是UserID,LoginName 字段是用户登录名,在登录页中使用该名字来登录,而UserName 是用户注册的全名,不是登录用的名称,如下表所示。

表 3.1 数据表User

用于存储用户发布的主帖信息的数据表Topic,它的主键是TopicID,UserLoginName 字段是发帖用户的登录名,Title 是帖子的标题,Content 是主帖的详细内容,如下表:

表 3.2 数据表Topic

用于存储用户回复帖子信息的数据表Reply,它的主键是ReplyID,TopicID 字段与主帖表的TopicID 字段关联,UserLoginName 是回帖用户的登录名,Title 是回帖的标题,Content 是回帖的详细内容,如下表。

表 3.3 数据表Reply

用于存储注册管理员信息的数据表adminUser,它的主键是UserID,LoginName 字段是管理员登录名,在登录页中使用该名字来登录,而UserName 是用户注册的全名,不是登录用的名称,如下表。

表 3.5 数据表adminUser

五、BBS论坛的实现

(一)用户模块界面的实现

用户模块界面的流程图如下:

图5.1用户模块界面流程图

当用户在登录的时候,会有一个验证码的文本框,而验证码的实现是通过访问servlet技术实现的,在打开登录界面时,servlet会自动向首页发送一组图片,并且发送一个相应存放数字的session,当用户提交信息时,系统就会在session 中提取数字并和用户的数字进行比较,错误则会弹出错误信息。

图5.2验证码提示界面

当用户在登录成功后,或者选择游客模式进入论坛时,会跳转到论坛的主界

面,主界面的实现主要是通过HTML的