网上论坛的设计与实现毕业设计论文.docx
天津大学网络教育学院毕业设计(论文)任务书题目:网上论坛的设计与实现完成期限: 2014年 7月5 日至 2014年11月10 日学 习 中 心 天津第四教学中心 年 级 2012年专 业 计算机科学与技术 指 导 教 师 于健 姓 名 王梦彬 学 号 122014022018接受任务日期 2014.7.21 批 准 日 期 2014.7.25一、原始依据(资料)1 陈春玲,陈丹伟,李频.软件工程与数据库概论.西安:西安电子科技大学出版,20022 张海藩.软件工程.北京:人民邮电出版社,20013王国荣,ASP.NET网页制作教程从基本语法学起,华中科技大学出版社,20024 萨师煊,王珊.数据库系统概论.(第三版).北京:高等教育出版社,20005龙马工作室,ASP+SQL Server组建动态网站实例精讲,人民邮电出版社,2004二、设计内容和要求:(说明书、专题、绘图、试验结果等)1、围绕选题搜集、阅读有关中英文文献资料。2、撰写毕业论文详细提纲。3、撰写论文,反复修改。写作过程中要继续搜集、补充资料,写作要层次分明,条理清楚,观点明确,论证有理有据,具有说服能力。文章的文字要简洁、通顺、流畅、无错别字。4、按要求进行论文排版。毕业设计(论文)进度计划表序号起止日期计划完成内容实际完成内容检查日期检查人签名114.7.514.7.15选题选题214.7.1614.8.24查阅资料、拟定论文大纲查阅资料、拟定论文大纲314.8.2514.9.25完成论文初稿完成论文初稿414.9.2914.10.20论文修改论文修改514.10.2114.11.10论文定稿论文定稿67指导教师批准日期年月日签名注:1.任务完成后附在说明书内。2.“检查人签名”一栏和“指导教师批准日期”由教师用笔填写,其余各项均要求打印,打印字体和字号按照天津大学现代远程教育毕业设计(论文)格式规定执行。摘要当今网上的论坛比比皆是,不知道您有没有碰到过以下的情况:在混乱无章的讨论信息中来找寻自己需要的东西,是一件很浪费时间精力的事情,以至于后来,您就都不想去看各种论坛了。那么我们可不可以对网站论坛的内容按自己的需求来进行讨论呢?即全部用户发到论坛的文章,都以提问的方式按类别显现出来,知道问题的答案的用户可以进行解答,然后就发表出来。否则就删除掉了,这样的论坛比起以往的论坛来,能够提供准确明了的答案。增添了趣味性和互动性,讨论也有目的性.本文正是在这个前提下开发的论坛管理系统,完成了用户的信息交流及管理,重点分析了开发步骤,要点及解决方法关键词: IIS;连接;数据库;论坛; ASPABSTRACTNow on-line forum everywhere has, but did not know whether you have encountered such situation: Seeks for the content which in the chaotic discussion information oneself want, is one spends the time-consuming hard sledding very much the matter, to afterward, you did not want to go to watch any forum. Then we can carry on the discussion to our website forum's content according to our request? Namely all users send to forum's article, inquires the method according to the classification demonstrated that knew asks the question the answer user to carry on the question explanation, then publishes. Otherwise has erased, such forum compares the common forum to come, can provide for to be clear about the beneficial content. Increased the study knowledge and the exchange question interesting and interactive, the discussion question also has the sense of purpose.The article is precisely based on the forum management system management system which this needs to develop, has completed user's each information management and the communication, has analyzed the performance history emphatically, key and solution.Keywords: IIS; connection; databas ;Forum; ASP目录第一章 概述11.1论坛的开发意义21.2论坛的开发目的3第二章 ASP技术综述32.1 IIS与ASP的结合32.2 ASP的内部特点42.2.1 ASP内部6大特点42.2.2 Global文件52.3 利用ADO访问数据库52.3.1 创建数据源名62.3.2 创建数据库链接62.3.3 创建数据对象62.3.4 操作数据库72.3.5 关闭数据对象和链接对象72.4 ASP与CGI的比较7第三章 总体设计与规划83.1系统设计思想83.2系统设计目标83.2.1后台管理子系统83.2.2前台在线交流子系统93.3系统可行性分析93.4系统整体结构及其说明9第四章 论坛应用系统设计104.1论坛环境的开发104.1.1 软件环境114.1.2硬件环境134.2系统方案的总体设计与实施144.2.1确定页面风格144.2.2选择网页制作工具144.2.3设计与制作Web页面144.2.4设计过程中元素及主要技术的使用154.3 Web数据库的建立及链接164.3.1数据库中表的建立164.3.2数据库连接的建立17第五章 系统实现175.1用户登陆175.2注册用户195.3控制面板215.4用户管理235.5注销23第六章 结论及建议24参考文献25致谢26天津大学网络教育学院本科生毕业设计(论文)第一章 概述因特网是目前世界上最大的计算机互联网络,它带给我们的不仅是无穷的信息,它遍布全球,将世界各地各种规模的网络连接成一个整体,更是交流和学习方式的变迁,作为因特网上一种先进的,易于被人们所接受的信息检索手段,WWW (全称World Wide Web)发展十分迅速,成为目前世界上最大的信息资源宝库。据估计,目前因特网上已有上百万个Web站点,其内容范围涵盖了文化教育、科研事业、新闻出版、娱乐、金融、商业、体育等各大领域,其用户群十分广泛,所以,构建一个好的Web站点对于一个机构的发展十分必要。近些年来,随着计算机科学的迅速发展及网络用户要求的不断提高,特别是数据库技术在因特网中的广泛应用,Web站点向用户提供的服务越来越人性化,内容也越来越丰富。互联网飞速发展的今天,过去的写信、打电话,面对面的交流和学习方式受到时间和空间的限制,已无法适应当今快节奏的生活,在网络化的今天,依托互联网保持大家之间的联系和交流,显得非十分便捷.因此进行这方面的研究有极其重要的现实意义。电子公告板翻译为英文就是“Bulletin Board System” ,英文简称是BBS。BBS最早是用于股市价格等类信息的公布,过去BBS连传输文件的功能都没有,而且仅仅能在苹果计算机上运行。最早的BBS与大多数街头和校园内的公告板性质一样,只不过是通过电脑来传播或获得消息而已。后来个人计算机开始普及之后,一些人尝试将苹果计算机上的BBS转移到个人计算机上,BBS才开始渐渐推广开来。近些年来,由于爱好者们的努力,BBS的功能得到了很大的扩大和补充。 BBS系统可随时随地获取国际最新的软件及信息,也可以通过BBS系统来和别人探讨计算机硬件、软件、多媒体、程序设计以及因特网等等各种话题,更可以利用BBS系统来刊登一些“出租”、“转让”及“产品介绍”等启事,而且只要您拥有1台计算机、1只调制解调器和1条电话线,就能够进入这个“超时代”的领域,近而去享用它无比的魅力!最早的一套BBS系统来自于1978年在美国芝加哥开发出的一套基于8080芯片的Computerized Bulletin Board System/Chicago(CBBS/Chicago),后随着苹果机的面世,开发出基于苹果机的Bulletin Board System和大众信息系统(People,s Message System)2种BBS系统。直到1982年,Buss Lane 编写了一个用Basic语言的原型程序。其后经过几番修改,在1983年终于通过Capital PC User Group(CPCUG)的Communication Special Interest Group会员的努力,改写出了个人计算机系统的BBS。经Thomas Mach整理后,终于完成了个人计算机的第1版BBS系统RBBS-PC。这套BBS系统的最大特色是其源程序全部公开,有利于日后的修改和维护,所以RBBS-PC赢得了BBS鼻祖的美称。,但在当时,如何实现站与站之间的联系问题并未解决。1984年美国的Tom Jonning开发了一套具有电子功能的电子公告板程序FIDO。由于该软件具有站际连线和自动互传信息的功能,所以站际间彼此可以在一个共同的预定时间传送电子邮件,使得BBS网络化有了一线生机。BBS发展至今,目前世界上业余的BBS网络除了FidoNet(惠多网)以外,几个较具知名度的还有EggNet、AlterNet和RBBS-Net等等。由于这些网络和FidoNet之间的信息交流不成问题,这就实现了所谓的跨网。国内第一个BBS站大约是在1991年开始的。直到1995年,随着计算机及其外设的大幅降价,BBS才逐步被人们所认识。1996年更是得到了飞速的发展。国内的BBS站,按其性质划分,可以分为2种:一种是业余BBS站,如天堂资讯站;另一种是商业BBS站,如新华龙讯网。因为商业BBS站要支付一笔费用,旦所能提供的服务与业余站相比,并没有什么优势,所以其用户数量较少。大多数业余BBS站的站长,因个人关系,每天都互相交换电子邮件,逐渐地形成了一个全国性的电子邮件网络China FidoNet(中国惠多网)。于是,各个的用户都可以通过当地的业余BBS站与远在别处的网友互通信息。这种跨地域电子邮件交流是商业站无法与业余站相抗衡的。因为业余BBS站有着这样优势,所以使用者都喜欢加入。这里“业余”两个字,并不是表示这种类型的BBS站的技术水平和服务质量是业余的,而是指BBS站的性质。大多数BBS站都是由志愿者开发的。他们付出的不光是金钱,更大的是精力,为了更好的推动中国计算机网络的健康发展,提高广大计算机用户的应用水平。现今国内大多数的BBS站,还是单线站。随着计算机的普及,特别是调制解调器的广泛使用,BBS的活动将会进一步提高。可是,相应产生的拨号难和抢线难的问题将会加剧。虽然BBS站台的数量在不断增加,然而这种增加的幅度总也赶不上用户群的增加。大多数人同时拨号一个站台,发生冲突是无法避免地。每回要拨上许多次才能成功连上一个BBS站的状况已经成为困扰当今中国BBS用户的一个难题。拌随着BBS的深入发展,国内已经出现了一些多线站,一次可以允许2人以上同时访问。当然BBS的发展过程中,也存在了一些问题。因为国内都是使用从国外引进的BBS架站软件,所以没有相应的中文说明。虽然部分的站长翻译了一些资料,但是这些是远远无法解决的。还有,有些站台的设立存在着互相抄袭,所以难免有相同之处。我们应该清醒地认识到,当前一些BBS站并没有发展到“简明、实用”的层次。这也包含一些厂商架设的BBS站,还需要加强简明性、实用性。往后,国内的BBS站将朝着专业化和个性化的方向发展。1.1论坛的开发意义在对论坛系统进行开发之前,必须首先对系统进行整体规划和设计,否则就会导致开发工作量大,系统不符合要求。更为糟糕的是,还可能会导致系统不完善或整个系统根本无法运行。因此,系统的总体规划与设计是论坛系统必备且首要的步骤。具体到本系统而言,就是根据论坛管理系统的目标、内容、规模、性质、现有的配置等具体情况,进行系统可行性分析,明确系统开发目标,整体规划网站的物理结构。对系统进行可行性分析是系统规划的关键步骤,必须在可行性报告通过后,才可以进入实质性的论坛管理系统应用分析阶段。论坛管理系统的建立是可以有效的用户间日常交流和学习的投资(指时间,精力),其设计理念很简单,变传统的打电话或面对面的交流方式为计算机自动化进行网上论坛信息交流管理,既省时间又提高效率。因此在系统构建时,只要我们本着丰富用户间的信息资源,为用户和管理员提供最为方便的快捷的信息阅览途径和管理手段,去吸引用户,那么论坛管理系统是完全可行的。1.2论坛的开发目的本次论坛的设计目的在于研究基于ASP+ACCESS网上论坛系统方案设计,主要对动态网站进行研究,以便更好的设计一个网上论坛动态系统。在线论坛的设计主要意义是可以通过Internet为了给大家一个在网上发表自己看法的机会,探讨知识深渊,为了让更多网友共享好资料,为了给繁忙的人们一个休息的空间,为了给一些带着心情而没有地方发泄的游民一个释放的场地,为了给大家一个休闲娱乐的虚拟空间,为了给大家一个畅想未来的机会,为了给大家搭一座交友的网桥而开辟的双向互动式的信息交流平台,为学生提供了一种新的交流方式。这种交流方式可以打破地区、国界的限制,使交流过程便利、快捷,大大缩短了交流时间。通过论坛,我们可以维系昔日往日的友情,学到新的知识,营造一个良好的信息交流平台.第二章 ASP技术综述2.1 IIS与ASP的结合在过去,客户机/服务器结构的设计与Web的相关技术几乎处于平行线上,两者相互独立并无法作出集成性的设计。现在我们利用IIS+ASP构成三层式Web结构如图2-1所示的中间一层,将客户机/服务器结构与Web密切结合,完成前后端两者的集成输出功能,使得Web站点的开发更方便,实现的功能更强大。利用IIS+ASP技术来集成Web前后端所带来的强大效益可归结为以下几个方面:1. 减少构建和维护成本2. 加快联机过程3. 应用软件集中在服务器端开发管理4. 前端可使用任何讨论器(IE、Netscape.)5. 后端可存取任何数据库 (SQL、Access.)6. 可使用任何脚本语言开发 (VBScript、JavaScript、PERL.)程序和计算逻辑前端讨论器ActiveX Server元件ActiveX Server元件后端数据库数据库服务器Microsoft IIS + ASP讨论器图2-1三层式Web结构正确的格式可以为:图2-1 三层Web结构以下皆同。2.2 ASP的内部特点2.2.1 ASP内部6大特点ASP提供了6个功能强大的内部对象,每个对象具有各自的属性(Property)、方法(Method),有的还拥有数据集合(Collection)与事件(Event),它们共同完成Web中的一些重要工作。这6个对象及其功能描述如表2-1所示:表2-1 ASP 内部6大对象及其功能格式同图,但是要放在表的上方。对象名称功能描述Request从客户端取得信息Response将信息送给客户端Server提供一些Web服务器工具Session储存在一个Session内用户信息,该信息仅可被该用户访问Application在一个ASP-Application中让不同的客户端共享信息ObjectContext配合Microsoft Transaction服务器进行分布式事务处理合理地运用这些对象可以使原本复杂,烦琐的工作变得简捷而条理清晰。我们可以用以下的语法直接使用这些对象:对象/属性/方法/数据集合。2.2.2 Global文件每一个以Active Server Pages为基础的应用程序都拥有一个Global.asa文件(ASA后缀名其实是Active Server Application的缩写),它位于每一个应用程序的基点目录之下。当Active Server Pages做下面两个动作时,Server便会去读Global.asa文件:.Web Server启动之后,一个应用程序目录中任一个ASP文件被提出第一个HTTP请求(Request)时。. 不具有任何Session的客户端向Server请求一个ASP文件时。前面已经提到Application和Session这两个ASP的内部对象。Application对象内的信息供所有正在执行该应用程序的用户分享,它创建于Web Server启动后一个应用程序中任一ASP文件被提出第一个HTTP请求时,结束于Server端停止运行。而Session对象仅属于一位用户,维持一个用户端的信息,其他用户无法访问,它创建于一个不具有Session的用户向Server请求一个ASP文件时,结束于该Session到期(即用户端超过某时间段没有向Server提出要求或刷新Web页面)或Abandon语句的调用。可见,Global.asa文件的调用与Application与Session这两个对象密切相关。事实上我们通常在Global。asa文件中写入以下内容: Application或Session的开始事件(Start-event)。 Application或Session的结束事件 (End-event)。这样,在一个Application或Session对象被创建或结束时,系统会自动完成Global.asa文件中写入的相应事件。值得注意的是,如果一个Application与一个Session同时开始,Active Server Pages会先处理Application的开始事件,而如果一个Application与一个Session同时结束,Active Server Pages则会先处理Session的结束事件。2.3 利用ADO访问数据库ADO(ActiveX Data Objects)是一种操作Microsoft所支持的数据库的新技术。在ASP中,ADO可以看作是一个服务器组件(Server Component),更简单点说,是一系列的对象,应用这些功能强大的对象,即可轻松完成对数据库复杂的操作。本文中个性化页面的实现便大量地用到了ADO技术。具体的操作步骤可以归纳为以下几步:创建数据库源名(DSN)创建数据库链接(Connection)创建数据对象操作数据库关闭数据对象和链接每一步的做法如下:2.3.1 创建数据源名DSN(Date Source Name)即数据源名称。我们知道,ODBC是一种访问数据库的方法,只要系统中有相应的ODBC驱动程序,任何程序就可以通过ODBC操纵驱动程序的数据库。比如我们系统中有Access的ODBC驱动程序,那么即使我们没有Access软件,也可以在我们的程序中对一个Access的MDB数据库加、删、改记录。而且我们根本不用知道这个数据库是放在哪里的。我们只要写出SQL语句,ODBC驱动程序就会帮我们做一切事情。我们在给ODBC驱动程序传SQL指令时,即是用DSN来告诉它到底操作的是哪一个数据库。如果数据库的平台变了,比如我们改用了SQL Server的数据库,只要其中表的结构没变,我们就不用改写我们的程序,只要重新在系统中配置DSN就行了。由此可见,DSN是应用程序和数据库之间的桥梁。2.3.2 创建数据库链接链接用以保持一些关于正在访问的数据的一些状态信息,以及链接者信息。ASP文件中如果要访问数据,必须首先创建与数据库的链接,其语法如下:set Conn=Server.createObject(“ADOBD.CONNECTION”)这条语句创建了链接对象Conn,接下来:connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data.Source="&Server.MapPath(""&db&"")conn.Open connstr这条语句打开链接,用到了DSN,本例为“connstr”。以上两个步骤缺一不可,因为链接对象的创建与打开是两回事,只有打开了才真正可以使用。2.3.3 创建数据对象ADO中的数据对象通常保存的是查询结果。Record Set是ADO中最复杂的对象,有许多属性和方法。Record Set保存的是一行行的记录,并标有一个当前记录。以下是创建方法:Set Record Set=Conn.Execute(sqtStr)这条语句创建并打开了对象Record Set,其中Con是先前创建的链接对象,rs是一个字串,代表一条标准的SQL语句。例如:rs=“SELECT * FROM shop_books”Set Record Set=mConn.Execute(rs)这条语句执行后,对象Record Set中就保存了表tab1中的所有记录。2.3.4 操作数据库我们通过调用链接对象的Execute方法来将查询结果返回给一个数据对象或进行插入、删除等操作。例如:rs=“INSERT INTO tab1 VALUES(1,2)”mConn.Execute(rs)/执行插入操作2.3.5 关闭数据对象和链接对象在使用了ADO对象之后要关闭它,因为它使用了一定的服务器资源。通过调用方法close实现关闭,然后再释放它。Record Set.closeSet Record Set=Nothing/关闭创建的数据对象mConn.closeSet mConn=Nothing/关闭创建的链接对象。2.4 ASP与CGI的比较CGI(Common Gateway Interface,通用网关接口)也是Internet上一种功能强大的Web页面技术,其工作方式有别于ASP。我们现对二者进行比较。Active Server Pages开发Web应用程序的特点:1 完全嵌入HTML,与HTML、Script语言完美结合。2 无须手动编译和链接程序。3 面向对象,并可扩展ActiveX Server组件功能。4 使用脚本语言(JavaScript、VBScript或PERL)编写。5 存取数据库轻松容易(使用ADO组件)。6 可使用任何语言编写自己的ActiveX Server组件。7 无讨论器兼容问题。8 程序代码隐藏,客户端仅能看到ASP输出的HTML文件。9 缩短Web开发时间。相比之下,使用CGI开发Web应用程序具有以下缺点:1 不易与HTML文件集成。2 须使用其他较复杂的语言来开发CGI程序。3 程序开发时间较长。4 存取数据库不容易。5 每个CGI程序被不同用户执行时都得重新执行一次,并占去Server的一个端口(Port),降低Server效率。可见,ASP在数据库访问、与HTML的集成、提高服务器的效率等诸多方面都优于CGI,更适应Web应用程序开发的需要,因此本文选择了ASP作为个性化页面生成器的开发工具。第三章 总体设计与规划3.1系统设计思想该论坛系统通过前端(客户端)讨论器和后台数据库向用户展示信息,方便的实现了内容的维护和更新,使用户更快,更好的了解信息。管理员将所有注册用户信息数据存入数据库相应的表中,当客户端发出讨论该动态页面的请求时,服务器就会执行相应的脚本代码,从数据库中查询出符合条件的用户信息,生成相关页面发送到客户端讨论器上。客户端所显示的内容是随着后台管理数据库的变化而动态显示的,因此,客户端可以获得用户的最新动态信息。根据模拟的角色不同和实现的功能不同,将论坛大致分为两个既独立又相互联系的两个模板:前台讨论和后台管理系统。其中前台讨论为注册用户进入论坛系统的入口,实现提问发贴子和回答问题的模拟。在这里不仅可以充分体验到论坛的乐趣与便捷,同时更重要的是使模拟者能对网上论坛有一个全面的认识。集中体现了信息流的流动过程。后台管理子系统提供管理论坛的各项功能,实现论坛管理员角色的模拟。该子系统通过简而明晰的WEB页面,提示管理员进行各项管理工作。例如:对注册用户的管理,对论坛各讨论区的管理,对用户提问的管理以及用户解答的管理等等,所有这些管理工作都被智能化,模拟者完全不需要任何背景知识,只需要按照WEB页面上的提示,便可轻松完成操作。3.2系统设计目标在明确了系统的设计思想之后,就要开始规划系统的设计目标了,也就是要明确整个系统应当实现的功能,下面将就前台讨论子系统和后台管理系统两个子系统分别进行介绍。3.2.1后台管理子系统后台管理系统在功能上类似于一个MIS系统,但是在实现方法上有别于传统的MIS系统。该系统采用WEB页面作为管理界面,因此与MIS系统相比较而言,更加友好与智能化,管理员操作起来也更加便捷。系统首先提供管理员的登陆页面,当登陆者输入管理员帐号密码后,系统将对登陆者的帐号和密码加以验证,只有经过授权的管理员才能进入管理系统,执行各项管理职能。否则系统将给出错误提示。该系统具有以下管理功能:1管理员管理具体为论坛管理员设置.分为增加管理员跟修改管理员密码2 用户管理管理员对注册用户信息进行浏览并对注册的用户进行删除操作3 问题分类管理包括添加,修改,删除问题分类4 问题管理对用户提出的各种问题进行浏览,并可进行删除操作.5 答复管理管理员对用户进行解决的信息浏览,并可对答复信息进行删除操作.3.2.2前台在线交流子系统前台在讨论子系统为注册用户提供论坛系统的的入口,注册用户通过登陆论坛,讨论、提出不懂的问题,或查看其它用户的问题及解答,在线与用户进行交流,解决不懂的问题,增涨知识.3.3系统可行性分析对系统进行可行性分析是系统规划的关键步骤,必须在可行性报告通过后,才可以进入实质性的论坛应用分析阶段。3.4系统整体结构及其说明系统分为两个部分,系统整体结构如图3-1所示:网上论坛系统后台管理员管理子系统前台注册用户交流系统管理员管理用户信息管理问题分类管理问题管理答复管理退出系统用户注册用户登录用户提问发贴用户就提问进行解答论坛信息检索用户密码寻回.图3-1系统整体结构图图3-1从以上结构图可以看出,构成商务循环的两个系统相互联系。由管理员在服务端控制,整个系统的运行也由管理员来维护。讨论者注册用户,由用户在终端控制。第四章 论坛应用系统设计前面讲述了论坛系统构建的必备知识与技术,并且对系统进行了总体设计与规划,在这个基础上,我们将理论和实际相结合起来,运用这些知识与技术来开发一个网上论坛系统。4.1论坛环境的开发论坛开发环境的选择对于系统的建立来说有着相当的重要性,它对系统开发的性能特点,工作量的大小,以及系统今后的维护工作难易等起到决定性的作用。所以在开发论坛之前,要依据对系统所使用的技术、体现功能的评估,在选择开发环境时,主要考虑以下几个方面:总成本,功能,扩展性,是否利于管理与开发,另外开放性和开放性也是需要注意的一个重要因素,因为该系统是运行在因特网上的,用户平台的差异决定了与其它系统的互操作性是不可避免的。4.1.1 软件环境一.服务器端1.平台软件平台应该是建立易于开发、管理、扩充以及同开发标准兼容的解决方案的基础。服务器端平台软件全部采用Microsoft的产品,便于维护和管理,同时系统设计中还应用了Microsoft的一些新技术,来提高系统的整体性能和效率。操作系统采用Microsoft Windows XP Server。Web服务器采用IIS5.1。Web服务器从硬件角度上讲是Internet上保存Web页的计算机,从软件角度上讲是提供Web服务的服务程序。 Web服务器以及相应的讨论器技术的出现和商品化,为企业在网上发布信息和挖掘信息提供了强有力的工具。现在由Internet上的众多Web服务器提供的超媒体数据连接服务也已迅猛发展。Web服务器通过与对象技术相融合,正在逐步发展为能够自由挂接各种应用对象的Web应用服务器。在此,我们主要从软件角度出发,选择适合于为论坛应用系统提供Web服务的服务程序。目前,较为常用的专用Web服务器主要有两种:IIS5.1和Java Web Server。IIS的设计目标是提供适合性很强的Internet和Intranet服务器功能。IIS具有极高的执行效率,出色的安全保密性,易于管理以及启动迅速等特点。它既可以用于集成现有的应用方式,也可用于实时Web应用系统。Java Web Server使用Java语言写成,故应用程序不用任何修改就可以从初级的服务器平台移植到功能强大的服务器平台。Java Web Server以纯Java服务器组件为特色,实现了所谓“在一处设计编写,在任何地方运行”的目标。与CGI批处理命令不同的是,Java Web Server与平台完全无关。这两种Web服务器各有所长,但考虑到论坛系统需要具备较高的安全性能,对用户的请求必须在短时间内作出响应,因此选用了Windows IIS5.1作为系统的Web Server。另外,作为IIS的另外一个重要组成部分,是一种与编译无关的应用开发环境,开发者可以采用任意自己喜欢的语言,而无需顾及编译系统,因此与Java Web Server相比,应用程序的开发工作量小。Windows IIS 5.1中文版,支持ASP,可以很好的提高Web响应速度和处理速度。因此,Web通过Windows IIS 5.1来发布,具有良好的稳定性,高可用性和运行时的可靠性。2.数据库系统运行网上论坛需要处理大量的数据,而数据库系统是管理大量信息的仓库和引擎。SQL server 2005所具有的良好性能、可伸缩性,以及它与Windows XP的紧密集成,使得它非常适合充当论坛系统的发动机。因此在构建后台数据库时,采用了SQL server 2005数据库系统软件,用以支持海量的数据存储以及多功能的数据查询。将后台数据和HTML以及XML格式的数据结合在一起,从而大大提高了从服务器到最终用户的信息流速度。3.开发语言程序设计采用Microsoft ASP实现,ASP是基于Microsoft IIS的开放式脚本开发环境,它可以很好的把HTML和脚本开发结合在一起,提高了编程的灵活性,降低了开发难度。ASP在性能方面的优势主要体现在以下几个方面:(1).无需编译ASP脚本集成于HTML中,容易生成,不需要编译或者链接即可直接由服务器执行,可快速修改程序。(2).比CGI和ISAPI具有更多的优点CGI程序不能为多个客户共享,对于新的请求必须启动新的进程,随着客户请求的增加,并行的进程也将增加,这对系统资源来说是一种极大的浪费,同时也加重了服务器的负担,降低了性能。ISAPI比CGI有更好的性能,因为ISAPI应用以动态链接库存在,在其启动时加入内存,并且和Web服务器进程处于同一个系统空间,占用系统资源比较少。效率虽然提高了,但也带来了更大的风险,ISAPI进程和服务器进程处于统一系统进程空间,因此,一个违规操作就有可能导致Web服务器的崩溃。另外,无论时CGI程序还是ISAPI程序,基本上是独立于HTML之外的,完全用另一种语言开发,工作量大,与HTML结合得不够紧密。ASP成功的改变了这些状况,ASP经过最佳化的多线程环境,不会单独成为一个Process,而是存在于这个Process中,可以同时服务多个讨论者,这样系统的性能就大大的提高了,系统的响应速度也大大的改观。(3).面向对象在ASP脚本中,可以很方便的引用系统组件和ASP内置组件,还能够通过定制的Active X服务器组件(ActiveX Server Component)来扩充功能。(4).独立于讨论器,因此可跨平台执行ASP脚本是在Web站点服务器端执行的,因此客户端的讨论器不需要支持它。用户端只需要使用普通的可以解释常规HTML代码的讨论器,即可讨论ASP所设计的主页内容。论坛系统需要面对的是众多使用不同平台的用户,他们所使用的讨论器可以是IE,也可以是Netscape,还可以是其它类型。(5).源代码的保密性ASP程序在服务器端执行,在客户端讨论的内容只是ASP程序执行的结果所生成的常规HTML代码,因此这样就可以保证ASP程序不会被泄漏。对于一个论坛而言,源代码的保密性是至关重要的。因为它直接关系到该站点的安全性。确保用户的所有信息不被第三方截获或破译是进行论坛运转的必要前提,而ASP程序的保密性恰好符合了这一点。(6).与任何ActiveX Scripting语言兼容除了可以使用VB Script或者Jscript脚本语言进行设计外,还可以通过插件的方式,使用由第三方所提供的其它脚本语言,例如:PerlScript。本系统使用VB Script和Java Scirpt想结合的方式编程,这样既可以提高服务器的响应速度,又可以与客户端使用的大多数讨论器兼容。4开发工具(1).Dreamweaver进行站点的规划与设计Dreamweaver CS 3是较好的网页制作工具,基本上实现了所见即所得的工作方式,即使你不懂HTML语言,也能制作出专业效果的网页。如果你是高手,也可以在代码编辑窗口里直接写入代码,再切