ASP编程:用ASP制作本人的谈天室
ASP.NET和ASP的比较,技术上比较已经没什么可说的了.新一代在大部分程度来说当然是比旧一代好了.关键看你对所做软件的理解了.因人而定.会写的话也可能比ASP.NET写得更有效率和更方便重用谈天室|谈天室谈天室想必你必定往过吧,但想不想创建本人的谈天室呢?实在这一点都不难,ActiveServerScript供应了Application工具和Session工具,Application工具代表了一个ActiveServer使用程序,也就是一个Web网页,Session工具则暗示一个用户,代表一个用户对这个页面的一次会见,经由过程Application工具可让会见它的一切用户共享信息,并能够在Web服务器运转时代耐久地保留数据,而Session工具也能够在用户的一次会见时代耐久地坚持数据,使用这两个工具,就能够非常便利地制作本人的Chat使用程序。----1、Application工具:
----1.属性:Application工具没有内置的属性,但用户能够界说本人的属性:
----Application(“属性称号”)=值,一旦分派了属性,它就会一向存在,直到Web服务器封闭服务,并且它能被一切用户读取,以是能够用它在用户之间发送发言内容。
----2.办法:当两个用户同时对Application属性的值举行写进操纵时,会呈现一方的修正被另外一方的操纵间接掩盖失落的情形,为了不这类征象,用户能够挪用Lock办法举行锁定,如许只要以后用户才干够对Application的属性举行操纵,用户完成操纵后挪用Unlock办法解锁,使得其他用户也能够修正Application的属性。
----3.事务:创立ActiveServer使用程序必要在Web服务器上寄存使用程序的假造主目次下创立Global.asa文件,它含有Application工具和Session工具的事务处置例程,一般,Application_Onstart事务用来界说使用级的属性。
----2、创立一个Chat使用程序:程序运转时以下图所示(略)
----1.设置使用程序的变量:这里需创建两个使用程序级的变量,gchars数组用来寄存用户的发言内容,gcounter用做计数器,把持页面的显现行数,在这里我们让页面最多显现比来的10行发言内容。当使用程序启动时这些变量必需举行初始化,以是它们的创立都要在Global.asa文件中的Application_onstart事务中:
<scriptlanguage="vbscript"runat="server">
subapplication_onstart()
dimlchars(10)
application("gchars")=lchars
application("gcounter")=0
endsub
</script>
----2.断定处置ASP的体例:当用户第一次哀求这个ASP文件时,用的是GET办法,然后,当用户输出完发言内容后提交时用的是POST办法,在这里表单是向本身提交的,以是这个ASP文件会被再次哀求,我们经由过程测试Request.ServerVariales(“Request_Method”)变量来断定文件被哀求的体例:IFRequest.ServerVariales(“Request_Method”)=“POST”then
----3.断定发言者:当用户第一次提扳谈话内容时需输出本人的姓名,一旦在txtname框中输出数据后,程序将创建一个会话级变量来寄存用户姓名,并主动显现在txtname框中,用户就不需再次输出了,除非你想用另外一个名字到场漫谈。
IFlen(request(“txtname”))>0then
Session(“ssname”)=request(“txtname”)
Endif
<h5>您的姓名:
<inputtype=“type”name=“txtname”
length=“20”value=<%=session(“ssname”)%>>
----
----4.处置用户的发言内容:起首要断定已为Chat写进的发言行数,为便利浏览,在这里将显现行数限制为10行,假如Application(“gcounter”)年夜于9,则将其置为0,然后将发言者姓名和内容一同寄存到Application(“gchars”)数组中:
Application(“gchars”)
(Application(“gcounter”))=Session(“ssname”)&
“:”&request(txttalk)
然后将计数器加1:Application(“gcounter”)=Application(“gcounter”)+1
----5.将数组内容写进到客户的扫瞄器中:用户提扳谈话内容后,程序必需将数组内容写到客户的扫瞄器中,让谈天室中的一切人都能看到被提交的发言内容:
ifapplication("gcounter")=0then
lstemp=application("gchars")(0)
else
forx=0toapplication("gcounter")-1
lstemp=lstemp&"<br>"&application("gchars")(x)
next
endif
----最初,用Response.write办法将lstemp变量的值写到客户的扫瞄器中往:
response.writelstemp
----上面给出Default.asp的完全代码:
<%response.expires=0
response.buffer=true%>
<html><head><title>Chatsample</title></head>
<body><center>
<h3>我的谈天室</h3></center><hr>
<%ifrequest.servervariables("request_method")="POST"then
iflen(request("txtname"))>0then
session("ssname")=request("txtname")
endif
application.lock
mcounter=application("gcounter")
mchars=application("gchars")
ifmcounter>9then
mcounter=0
endif
mchars(mcounter)=session("ssname")
&":"&request("txttalk")
mcounter=mcounter+1
application("gcounter")=mcounter
application("gchars")=mchars
application.unlock
endif%>
<%ifapplication("gcounter")=0then
lstemp=application("gchars")(0)
else
forx=0toapplication("gcounter")-1
lstemp=lstemp&"<br>"&application("gchars")(x)
next
endif
response.writelstemp%>
<hr><center>
<formaction="default.asp"method=postname="aspform">
<b><ahref="default.asp">
更新显现</a></b>
<h5>讲话:
<inputtype="text"name="txttalk"size="70"><br>
<h5>您的姓名:
<inputtype="text"name="txtname"length="20"
value=<%=session("ssname")%>>
<inputtype="submit"name="cmdpost"default="true"value="发送">
</form></center></body></html>
----以上代码在NT4.0、IIS4.0、IE4.0中</p>Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性都会因为与NT的捆绑而显现出来; 我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。 哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的? ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。 他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。 ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 掌握asp的特性而且一定要知道为什么。 多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
页:
[1]