毕业设计(论文)-基于ASP的BBS论坛的设计与实现.doc_第1页
毕业设计(论文)-基于ASP的BBS论坛的设计与实现.doc_第2页
毕业设计(论文)-基于ASP的BBS论坛的设计与实现.doc_第3页
毕业设计(论文)-基于ASP的BBS论坛的设计与实现.doc_第4页
毕业设计(论文)-基于ASP的BBS论坛的设计与实现.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

BBS论坛的设计与实现目 录0 引 言31 BBS的历史311 BBS的历史312 BBS在中国413 PC BBS与Internet BBS514国内BBS的现状与展望52 ASP基本概念53 ASP的执行环境74 SQL SERVER 200075 论坛需求分析.86 系统的功能设计. 87 代码部分.88 小结.209 致谢20参考文献 20BBS论坛的设计与实现摘要: 本文讨论了以ASP动态网页设计技术为核心的BBS论坛系统的设计与实现,介绍了BBS的历史和国内BBS的发展历程,给出了设计代码。运行和程序测试结果表明:该BBS论坛功能比较完全,可直接应用。关键词:BBS、ASP、数据库、SQL Server 20000、引言在现代人的生活中,Internet已经成为生活、学习和工作中不可缺少的一部分。随着网络接入技术的不断发展,与Internet相连也变得越来越简单,越来越方便。于是,很多单位和个人都开始准备建立自己的网站。但如果只使用HTML,就只能保证网页的美观,却不能引入更强大的功能。由于所有的页面都是静态的网页,所以信息量和更新速度都没有办法得到提高。另外,由于对于每一个页面都需要重新设计,所以发布新消息也变得很麻烦。于是,采用动态的网页设计成为现在网站设计的主流。ASP就是在这种情况下诞生的。而形形色色的网页除了成为人们收集信息的重要渠道之一,另一个前所未有的交流信息的功能也正在为越来越多喜欢尝试新鲜事物的人们所接受,那就是BBS。当这两个事物结合在在一起的时候,我们看到的是一个更为五彩纷呈的精彩世界。1、 BBS的历史11 BBS的历史 BBS系统最初是为了给计算机爱好者提供一个互相交流的地方。70年代后期,计算机用户数目很少且用户之间相距很远。因此,BBS系统(当时全世界一共不到一百个站点)提供了一个简单方便的交流方式,用户通过 BBS可以交换软件和信息。到了今天,BBS的用户已经扩展到各行各业,除原先的计算机爱好者们外,商用BBS操作者、环境组织、宗教组织及其它利益团体也加入了这个行列。只要浏览一下世界各地的BBS系统,你就会发现它几乎就象地方电视台一样,花样非常多。早期的BBS系统是一台配有调制解调器的普通PC机,上面运行了一个BBS程序。BBS程序有各种版本,包括单线路的简单系统到支持十几甚至上百条电话线路的复杂系统。最早的BBS系统系统把全部报文存放在一个地方,可现在的BBS软件却允许操作人员根据报文内容来组织报文。比方说,基于PC的 BBS软件很可能包括有专用于DOS、OS/2和Windows的报文部分。1978年在美国芝加哥开发出一套基于8080芯片的CBBS/Chicago(Computerized Bulletin Board System/Chicago),此乃最早的一套BBS系统。之后随着苹果机的问世,开发出基于苹果机的Bulletin Board System和大众信息系统(People,s Message System)2种BBS系统。1981年IBM个人计算机诞生时,并没有自己的BBS系统。直到1982年,Buss Lane 才用Basic语言为IBM个人计算机编写了一个原型程序。其后经过几番增修,终于在1983年通过Capital PC User Group(CPCUG)的Communication Special Interest Group会员的努力,改写出了个人计算机系统的BBS。经Thomas Mach整理后,终于完成了个人计算机的第1版BBS系统RBBS-PC。这套BBS系统的最大特色是其源程序全部公开,有利于日后的修改和维护,因此后来在开发其他的BBS系统时都以此为框架,所以RBBS-PC赢得了BBS鼻祖的美称。但在当时,如何实现站与站之间的联系问题并未解决。1984年美国的Tom Jonning开发了一套具有电子功能的电子公告板程序FIDO。由于该软件具有站际连线和自动互传信息的功能,所以站际间彼此可以在一个共同的预定时间传送电子邮件,使得BBS网络化有了一线生机。BBS发展至今,目前世界上业余的BBS网络除了FidoNet(惠多网)以外,几个较具知名度的还有EggNet、AlterNet和RBBS-Net等等。由于这些网络和FidoNet之间的信息交流不成问题,这就实现了所谓的跨网。 12 BBS在中国 大约是从1991年开始,国内开始了第一个BBS站。经过长时间的发展,直到1995年,随着计算机及其外设的大幅降价,BBS才逐渐被人们所认识。1996年更是以惊人的速度发展起来。国内的BBS站,按其性质划分,可以分为2种:一种是商业BBS站,如新华龙讯网;另一种是业余BBS站,如天堂资讯站。由于使用商业BBS站要交纳一笔费用,而商业站所能提供的服务与业余站相比,并没有什么优势,所以其用户数量不多。多数业余BBS站的站长,基于个人关系,每天都互相交换电子邮件,渐渐地形成了一个全国性的电子邮件网络China FidoNet(中国惠多网)。于是,各地的用户都可以通过本地的业余BBS站与远在异地的网友互通信息。这种跨地域电子邮件交流正是商业站无法与业余站相抗衡的根本因素。由于业余BBS站拥有这种优势,所以使用者都更乐意加入。这里“业余”2字,并不是代表这种类型的BBS站的服务和技术水平是业余的,而是指这类BBS站的性质。一般BBS站都是由志愿者开发的。他们付出的不仅是金钱,更多的是精力。其目的是为了推动中国计算机网络的健康发展,提高广大计算机用户的应用水平。 13、PC BBS与Internet BBS 从构建的方式上分,BBS可以分为PC BBS和Internet BBS。PC BBS是利用现有的电话网组成的BBS系统,由于构建费用较少,所以上面所说的BBS一般都是基于这种方式构建的。当业余BBS站的发展如火如荼的时候,随着ChinaNet的全面开通,越来越多的人用上了Internet,并从中体会到了使用它的方便与乐趣。建立在Internet基础上的BBS,也就是Internet BBS,已经开始发展。但是,由于目前构建Internet BBS的费用较高,所以还没有形成较大的规模。相信随着Internet使用费用的下降,这种类型的BBS将会越来越多。 PC BBS的运行必须依靠电话网,所以一座BBS站的可接受访问人次受到了线路的限制。一座单线站每日最多只能提供200人次访问。要增扩线路,投入也必须翻番。而Internet BBS由于不受线路的限制,一般都可让100个用户同时上线。而以Web形式构建的BBS,可接受访问人次几乎不再有什么限制。 但是,和PC BBS比较,Internet BBS最大的缺点是“人气不足”。一座BBS站是否受欢迎,不仅与架设者有关,更与参与BBS活动的用户素质有关。参与BBS活动的最核心内容就是“交流”。这种双向的交流大量地是发生在用户与用户之间。时间长了以后,有的BBS站台会汇集一批忠实的用户。许多业余BBS站,站台软件并不见得如何先进,但却非常著名,就与此相关。 14、国内BBS的现状与展望 国内的BBS站,单线站还占大多数。随着计算机的普及,特别是调制解调器的大量使用,BBS的活动将会进一步高涨。但是,随之而来的拨号难和抢线难的问题将会加剧。尽管BBS站台的数量在不断增长,但这种增长的幅度总也赶不上用户群的增长。许多人同时拨号一个站台,不可避免地发生冲突。每回要拨上几十次乃至上百次才能成功连上一个BBS站的状况已经成为困扰今日中国BBS用户的一个难题。随着BBS活动的深入,国内已经出现了一些多线站,一次可以允许2人以上同时访问。 BBS的发展过程中,也出现了一些问题。由于国内使用的BBS架站软件,都是从国外引进的,因此没有必要的中文说明。虽然一些热心的站长翻译了一些资料,但是仅靠这些是远远不够的。另外,有些站台的设立是相互抄袭,所以在结构上难免有雷同之处。 1999年是中国网络的发展年。但是,我们应该清醒地认识到,目前一些BBS站并没有走上“简单、易用”这一层次。包括一些厂商架设的BBS站,实用性还需要加强。今后,国内的BBS站将向着个性化和专业化的方向发展。 国内BBS资源举例 基于Web的BBS u 广州蓝天BBS站: 网上论坛 u 新浪网论坛: 运行于Unix下的终端仿真并实行Web扩展功能的BBS u 清华大学的水木清华站: u 中国科技大学的翰海星云站: 2、ASP基本概念 ASP(Active Server Pages)是一个功能强大,而且易于学习的服务器端的脚本编程环境。2000年,微软在前面3个版本的ASP基础上,推出了全新的ASP.NET。抛开了前面的3个版本都使用的脚本语言,而使用VB.NET作为其默认语言。使用这个环境,可以方便地创建动态、快速和交互性强的Web站点。它是为基于WEB应用实现动态交互网页制作提供的技术环境支持,都能够为程序开发人员提供实现应用程序的编制与自带组件设计网页从逻辑上分离的技术,而且都能够替代CGI使网站建设与发展变的较为简单与快捷。 现在有很多流行的技术可以进行动态网页的设计,为什么要使用ASP或者ASP.NET来创建动态网页呢?下面比较以下常用的几种动态网页设计技术:CGI、ISAPI、IDC和ASP/ASP.NET。1、 CGI几乎所有的Web服务器都支持CGI。在UNIX计算机上,大部分的CGI程序都是用Perl语言和C语言编写的。在IIS上,用CGI程序可以调用操作系统所提供的所有功能,并使用ODBC建立数据库连接来使用数据库功能。但是,从开发人员的角度来看,这些应用程序在维护和调试时都十分困难,并且,从Web服务器的性能上来看,使用CGI的一个更大的缺点是对于每一个客户的请求,CGI都要产生一个进程来进行处理。这样,当服务器的访问量很大时,系统内部用语处理用户响应的进程就十分多,这样多的进程会让服务器的资源很快地消耗掉,很容易导致机器的崩溃。由此可以看出,使用CGI的优点是可以创建功能强大的应用程序,缺点是难以维护和调试,系统资源消耗大。2、 ISAPI使用ISAPI的优点是可以避免像CGI程序那样,对每一个客户请求都产生一个进程,所以它就成为一种既可以产生功能强大的应用程序,又能减少性能损失的一个程序设计环境。ISAPI应用程序是通过DLL实现的,并且可以加载到服务器的进程空间,这可以保证执行的更快。用ISAPI可以创建过滤程序和扩展程序两种不同的应用程序。 由于ISAPI的DLL是被加载到Web服务器的进程空间的,所以这种方法的最大缺点是,如果编写的ISAPI应用程序对性能的考虑不是很好,就会导致服务器的崩溃。它还有另外一个缺点,就是它仍然要使用C这样的十分复杂的语言来进行编写。对于程序员来说,调试和维护仍然不容易。3、 IDCIDC是IIS从第1个版本就有的功能。用它可以通过ODBC建立与数据库的连接,进行数据访问,并创建动态的页面把结果显示给用户。这样,IDC可以很容易地实现数据库的功能,不用创建IGC,ISAPI程序。使用IDC要建立查询文件和模板文件两种文件。查询文件用于保存对数据库访问的SQL语句,模板文件用于伴衬命令文件,它用HTML模板合并查询的结果。用IDC进行数据库前段程序的设计是十分容易的。但是,用它只能进行数据库的编程,不能添加其他的逻辑功能。如果要进行服务器的深入设计,就不能使用IDC。4、 ASP/ASP.NET可以说,ASP/ASP.NET结合了前面3种方法的所有优点:用它可以建立强大的应用程序,而且实现的效率很高,在这一点上它可以与CGI和ISAPI相媲美;由于它能工作在任何符合ODBC规范的数据库上,用它也很容易建立数据库连接,实现数据库访问,在这一点上它可以与IDC相媲美。并且,对于第3方开发人员,还可以开发自己的自定义控件来扩展它的功能。 用ASP/ASP.NET进行服务器的程序开发是十分容易的。对于程序员来说,它的开发不复杂,不用使用很多时间就可以开发出效率高、易维护的应用程序。可以很容易地把程序的执行结果与HTML结合起来显示给用户。ASP现在已经成为IIS上编写动态网页的标准,并且可以进行事物处理以保证数据操作的正确性和完整性。而现在,ASP.NET又提供了更强大的功能,所以,选择使用ASP/ASP.NET是明智的。3、 ASP的执行环境ASP是由微软所开发出来的一项技术,因此它必须在Windows环境下来执行(包括Windows 95/98/MEWindows NT/2000)。所以必须先在Windows系统下安装好Web服务器,才能让ASP程序顺利执行。Windows95/98所使用的Web服务器为PWS,而Windows NT/2000则为IIS。ASP技术兼容传统的数据库(COM),能工作在任何符合ODBC规范的数据库,有扩展支持工具。4、 SQL Server 2000由于开发大型的网站总是会使用数据库来实现动态的数据存储的,所以现在介绍一下本文所使用的数据库SQL Server 2000。虽然SQL Server仍然有很多不足,现在除了微软的网站之外,很少有大型的动态网站是使用SQL Server来作为后台的数据支持的。但是,从应用角度而言,SQL Server在经济上和开发效率上的优势仍然是大多数中小型网站使用它的一个原因。另外,从有效使用资源和开发接口的一致性上ASP上和SQL Server同属于微软公司的产品,所以选择SQL Server作为后台数据库的支持也是顺理成章。 尽管SQL Server 2000是SQL Server 7.0的一个延续,但是其功能和性能还是提高了很多(数据库的关系引擎、存储引擎、数据的管理复制的工具、数据分析服务、英语查询、全文检索以及和Windows 2000活动目录的集成等)。对于开发人员来讲,SQL Server 2000的可编程性更强,并提供XML的支持,所有这些都是SQL Server 2000的优势所在。5、 论坛需求分析: 由于这个论坛是注册用户使用的,所以应该只有注册过并登陆成功的用户才有权发表帖子和回复论坛中的帖子。但是,为了吸引更多的用户成为注册用户,对于发表帖子的浏览是针对整个用户群的。 对于论坛中发表的帖子进行管理是论坛管理员的职责。论坛管理员可以根据一定的标准删除某个帖子,以及这个帖子的所有跟帖,但是管理员没有权限进行论坛帖子的修改。6、论坛的设计与实现 传统的网站帖子管理方式有两种,一是静态HTML页面,更新信息时需要重新制作页面然后上传页面并修改相应链接,这种方式因为效率太低已不多用。二是基于ASP和脚本评议,将动态网页和数据库结合,通过应用程序来处理帖子,这是目前较为流行的做法。7、系统的功能设计 71、系统的功能结构 其工作流程为:用户登录通过权限判断,普通用户只能浏览、阅读和查询帖子,注册用户除了可以完成普通用户的操作外,还可以进入论坛管理模块进行帖子录入、修改和删除的操作。注册用户除系统管理员外只能对自己录入的帖子进行删改操作。 72、系统的功能特点 操作简单、界面友好:完全控件式的页面布局,使得帖子的录入工作更简便;许多选项包括帖子类别、来源地方等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。8、代码部分1. 后台管理后台管理 - 新增管理员function chkPost()var f = document.forms0;if (f.admin.value = )alert(请输入管理登录名);f.admin.focus();return false;else if (f.username.value = )alert(请输入相关联的论坛用户名);f.username.focus();return false;else if (f.password.value.length 6)alert(密码至少6位以上);f.password.focus();return false;else if (f.password.value != f.pwdconfirm.value)alert(两遍密码输入不一致);f.password.focus();return false;elsereturn true;新增管理员管理名 用作后台管理登录名论坛用户名 他(她)在论坛中的注册名,建议不要与用户名一致密码 管理密码,建议不要与用户密码一致,至少6位确认密码Power by 2. 修改论坛公告后台管理 - 修改论坛公告修改论坛公告输入公告内容支持htmlPower by 3. 添加版面后台管理 - 添加版面function chkPost()var f = document.forms0;if (f.boardname.value.replace(/(s*)|(s*$)/g, ) = )alert(没有填写版面名称);f.boardname.focus();return false;else if (f.category.selectedIndex = 0)alert(没有选择所属分类);return false;else if (f.subject.value.length 250)alert(说明内容长度不能大于250字节,请截去一部分再试);f.subject.focus();return false;elsereturn true;添加版面带*为必填新版面的名称 *所属分类 *分类说明250字以内版主 多个版主用“,”分隔,同时需修改其用户属性版面Logo图片 图片路径浏览需要身份若选择超级版主以上,则不会在首页上显示。发主题需要身

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论