ASP网页编程之谈天室完成私聊(三)
对于中小型web应用来说,php有很强的竞争力,linux+apache+mysql+php(lamp)的组合几乎可以胜任绝大多数网站的解决方案,对于大型应用来讲,对于系统架构要求更高,需要有成熟的框架支持,jsp的struts是个不错的框架,国内介绍它的资料也非常多,应用逐渐广泛起来。asp就不用说了,谈天室上两节先容了怎样处置谈天室内的发言内容和悄然话的特别处置,至此。我们往看看发言内容是怎样在客户端显现出来的。请先看看我们的显现对话文件(top.asp)*top.asp
<%@language="vbscript"%>
<%
Response.Expires=0
response.buffer=true
%>
<metahttp-equiv="refresh"content="2.5">
<bodybgcolor="<%=application("zj_1color")%>"topmargin="0"leftmargin="0">
<I><center><fontcolor="#FFFF00"size=4><%=application("zj_1title")%></font></center></I>
<%
ifsession("userzj_1")=""then
session("userzj_1")=""
session("zj_1level")=""
session("zj_1start")=""
session("zj_1total")=0
session("zj_1boot")=""
session("zj_1counter")=0
session("zj_1open")=""
session.abandon
%>
<scriptLANGUAGE="JavaScript">
parent.location="timeout.htm"
</script>
<%
response.end
endif
是不是在扰乱?
forn=1to40
ifsession("userzj_1")=application("peoplezj_1"&n)then
exitfor
endif
ifn=40then
session("zj_1boot")="true"
%>
<scriptLANGUAGE="JavaScript">
parent.location="boot.htm"
</script>
<%
endif
next
%>
<scriptLANGUAGE="JavaScript">
<%
ifsession("zj_1counter")application("zj_1counter")then
ifsession("zj_1counter")<application("zj_1counter")then
forI=session("zj_1counter")+1toapplication("zj_1counter")
%>
parent.middle.document.writeln("<%=application("zj_1chats")(I)%>")
<%
next
else
forI=session("zj_1counter")to20
ifapplication("zj_1counter")1then
%>
parent.middle.document.writeln("<%=application("zj_1chats")(I)%>")
<%
endif
next
forI=1toapplication("zj_1counter")
%>
parent.middle.document.writeln("<%=application("zj_1chats")(I)%>")
<%
next
endif
ifsession("zj_1open")="true"then
session("zj_1counter")=application("zj_1counter")
endif
endif
通告
ifsession("zj_1public")application("zj_1public")then
%>
parent.middle.document.writeln("<%=application("zj_1public")%>")
<%
session("zj_1public")=application("zj_1public")
endif
有私语吗?
ifsession("zj_1chat")application("zj_1chat")then
ifapplication("zj_1owner")=session("userzj_1")orapplication("zj_1chatto")=session("userzj_1")orapplication("zj_1chatto")="ALL"then
%>
parent.middle.document.writeln("<%=application("zj_1chat")%>")
<%
endif
session("zj_1chat")=application("zj_1chat")
endif
application("peoplezj_1_appear"&n)
count=0
forn=1to40
ifapplication("peoplezj_1"&n)""then
count=count+1
endif
next
ifsession("zj_1total")countthen
session("zj_1total")=count
session("zj_1refresh")="true"
%>
</script>
<%
endif
response.flush
%>
谈天室具有了办理(把不受接待的人踢出谈天室,通告等的功效,因而与讲话处置和悄然话功效有关的部分小虎不作讲授了。
后面我们用了一个application("zj_1counter")的私有工具来保留最新讲话地点的缓冲元素。用session("zj_1counter")来保留以后用户自己已显现的对话元素。在每次挪用top.asp这个文件,只需对照出session("zj_1counter")与application("zj_1counter")的取值分歧,就能够得知必要显现新的扳谈讲话。而每次完成显现,又必需把两个计数值一致个。否则就会产生反复显现对话内容的毛病了。
又于缓冲区是轮回利用的,好比说以后用户现示的对话内容是存储在application("chats")(18)中,而新的讲话已从头回到application("chats")(2)了,因而本次必要显现4条讲话,下面的具体处置讲授小虎不做了。人人细心看看。然后想想,是很简单分明的。
又于私语和大众对话application("chat")(n)是分隔处置的,因而私有对话处置终了后,就到了私语的处置。私语标记是session("chat")(它用来存储上一次的私语内容,当对照出application("chat")</p>结论:和PHP一样,ASP简单而易于维护,很适合小型网站应用,通过DCOM和MTS技术,ASP甚至还可以完成小规模的企业应用,但ASP的致命缺点就是不支持跨平台的系统,在大型项目开发和维护上非常困难。 交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。 用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。 运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。 Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件 ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题: ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标. 另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件) 掌握asp的特性而且一定要知道为什么。 如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
页:
[1]