求ASP网络聊天室毕业论文

上网的网民,怕也没几个没去过聊天室瞎扯的。你只需要花一点时间就能注意到,这些聊天室大多是由CGI程序或者JAVA开发的Applet来维护的。开发过这种CGI或者小程序的程序员都知道,这种开发工作耗时耗力。有没有更简单更省力的配方?案件的答案是肯定的。利用ASP,作者很快就开通了一个聊天室,既快捷又方便维护。在本书中,作者想向大家介绍开发过程中的技巧、技巧和用心。

& ltp style = line-height:150% & gt;-关于ASP,计算机世界新闻里有很多文章章节都有介绍,这里就不赘述了。笔友工作单位有一个Windows NT4.0编织的局域网。在NT服务器上安装了IIS3.0,建立了几个网站,其中一个叫fyb.cam.gov.cn。这个单身网站没有联网,但也因为聊天室吸引了很多单身工作者。如果你的工作环境和我们一样,在自己的局域网里做一个聊天室也无妨。

& ltp style = line-height:150% & gt;一、聊天室策划:

-1.对话内容存储方式的选择:应该用什么方式将对话内容显示在客户端电脑上并存储在服务器中?ASP有两种选择,一种是基于文本的格式,一种是基于数据的格式。但笔者感觉ASP对文本操作的指令远不如ADO(ActiveDataObject)对数据库操作提供的指令。利用ADO和ASP可以灵活地操作数据库,这比插入、删除、更新、查询等要好。作者选择Access数据库来存储对话的内容。这个数据库的内容只能保留一天(时间长短可以根据局域网的实际情况而定)。

& ltp style = line-height:150% & gt;2.聊天室的界面设计:为了方便用户浏览网站内容,尽可能多的展示聊天室内容,作者在一个主页面中设计了三个框架。左边的框显示了站点的索引。右边的框架分为两个框架。最后一帧占70%,用来展示前面聊天室的内容;下一帧占30%,用于提供文本输入框和按钮,供用户反馈。

& ltp style = line-height:150% & gt;-3.进入聊天室的步骤:和很多聊天室一样,首先要给用户提供一个登录界面,用户随意输入自己的名字或别名以及自己给的暗号。如果输入的用户名与线路上的用户名相同,将为用户提供一个新用户名或新密码,以确保线路上的所有用户名都是唯一的。登陆成功后进入聊天室,内容显示框显示“欢迎加入”的喜悦。用户可以在文本输入区输入对话内容。

& ltp style = line-height:150% & gt;二、设计流程和开发技巧:

-1,设计ODBC系统数据源:如上所述,本次开发使用ASP操作ADO,所以需要先设置数据源。双击nt服务器控制面板中的ODBC图标,将系统DSN添加到系统DSN页面,选择Microsoft Access Driver,数据源名称为‘fy bchat’。选择chat数据库中记录的chat.mdb。数据库包括以下字段:姓名、内容、密码、聊天时间、聊天日期,分别存储姓氏、聊天内容、密码、聊天时间和聊天日期。

& ltp style = line-height:150% & gt;-2.登录界面的设计:登录界面是一个html页面,包括一些警告消息和一个表单。该表单可用于获取用户名和密码,如下所示:

& ltp style = line-height:150% & gt;& ltform method = " post " action = " receive data . ASP " & gt;

姓氏:

秘密代码:

& lt/center & gt;& ltbr & gt& ltbr & gt

& lt中心& gt& ltInputtype="submit"value= "enter " >

& ltinput type = " reset " value = " clear " > & lt;/center & gt;

& ltinput type = " hidden " name = " content " value = " " & gt;

& lt/form & gt;

-receivedata.asp兴奋地举起并交出按钮。ASP文档所有者希望保证聊天室中没有两个同名的用户。用户提交消息后,文档打开chat.mdb检查用户名是否可用。如果是,但密码不正确,会提醒用户重新输入密码。如果不是,就顺利进入聊天室。进入聊天室边界的功能由以下语句完成:

& ltp style = line-height:150% & gt;& ltFRAMESETROWS="70%,30% " & gt;

& ltFRAMESRC="forum.asp"NAME="main "

margin width = " 1 " margin height = " 1 " no resize & gt;

& ltFRAMESRC="frft.asp?kname=

& lt% = name % & gt" NAME = " footnote s " margin width = " 1 "

margin height = " 1 " no resize & gt。

& lt/FRAMESET & gt;

-注意,这里有一个巧妙的技巧。通过参数kname,用户的姓氏隐藏在用户的浏览器中。这样,用户每次提到对话内容,也就提到了自己的姓。

& ltp style = line-height:150% & gt;-3.文本输入区的设计:文本输入区产自frft.asp。如上所述,用户每次提到对话内容时,也提到了自己的姓氏。用户使用对话内容的动作是为了刺激forum.asp。Forum.asp的功能是刷新聊天室的内容。Frft.asp的容量如下:

& ltp style = line-height:150% & gt;& lt!DOCTYPE HTML公共"

-//IETF//DTDHTML//EN " & gt;

& lthtml & gt

& lthead & gt

& ltmetahttp-equiv="Content-Type "

content = " text/html;charset=gb_2312-80 " >

& ltmetaname= "生成器"

content="Microsoft FrontPage 2.0 " >

& lttitle & gt& lt/title & gt;

& lt/head & gt;

& ltbody & gt

& lt% kname =请求。query string(" kname ")% & gt;

& ltbasetarget="main " >

& ltformname = " FM 1 " method = " POST " action = " forum . ASP " >

& ltpalign="center " >& ltinputtype="text"size="90 "

name = " content " & gt& lt/p & gt;

& ltpalign="center " >& ltinput type = " button " name = " b 1 "

Value= "提交/更新" > & lt输入类型= "重置"

Name="B2" value= "重写" > & lt/p & gt;

& ltinputtype="hidden"name="kname "

value = & lt% = kname % & gt& gt

& lt/form & gt;

& ltSCRIPTLANGUAGE = " VBScript " & gt

& lt!-

& ltp style = line-height:150% & gt;子定时器1 _定时器()

如果fm1.content.value= " "那么

fm1.content.value= " "

fm1 .提交

其他

如果…就会结束

末端接头

& ltp style = line-height:150% & gt;sub b1_onclick()

fm1 .提交

fm1.content.value= " "

末端接头

-& gt;

& lt/SCRIPT & gt;

& ltOBJECTID = " ietimer 1 " WIDTH = 39 HEIGHT = 39

CLASSID="CLSID:59CCB4A0-727D-

11CF-AC36-00aa 00 a47dd 2 "

code base = " http://208 . 208 . 208 . 201/ASP/ie timer . ocx " & gt;

& ltPARAM NAME = " _ ExtentX " VALUE = " 1005 " >

& ltparam name = " _ ExtentY " VALUE = " 1005 " >;

& ltPARAM NAME = " Interval " VALUE = " 7000 " >

& lt/OBJECT & gt;

& ltp style = line-height:150% & gt;& lt/body & gt;

& lt/html & gt;

-这时又出现了一个问题,用户一定不能停下来付费才能看到最新的聊天室内容,这显然给用户带来了不便。所以,用一个timer的ActiveX控件来控制聊天室的内容不是更好吗?所以我选择了Ietimer,比如

& ltp style = line-height:150% & gt;第三,总结

-从上面的开发过程中我们可以知道,使用ASP程序可以灵活的传递参数,可以灵活的将流程分成几个独特的ASP程序,对程序的调试不是很有利。ActiveX控件的支持和DAO强大的操作能力,使得使用ASP开发功能非常强大的程序成为可能。