透明 发表于 2015-1-16 22:20:41

ASP编程:实例剖析:用ASP制作本人的谈天室

缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。谈天|谈天室谈天室想必你必定往过吧,但想不想创建本人的谈天室呢?实在这一点都不难,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>asp可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。而浏览者一点觉察不出来,就像为他专门制作的页面一样。使用各种各样的组件,asp可以完成无比强大的功能。

兰色精灵 发表于 2015-1-19 09:07:38

尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。

海妖 发表于 2015-1-19 09:07:38

下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...

深爱那片海 发表于 2015-1-25 19:26:03

用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。

若相依 发表于 2015-2-3 16:47:34

那么,ASP.Net有哪些改进呢?

灵魂腐蚀 发表于 2015-2-9 04:06:57

用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。

蒙在股里 发表于 2015-2-26 21:31:17

跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组

柔情似水 发表于 2015-3-8 18:01:01

Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write

简单生活 发表于 2015-3-16 09:58:55

运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。

不帅 发表于 2015-3-22 22:10:37

兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的
页: [1]
查看完整版本: ASP编程:实例剖析:用ASP制作本人的谈天室