标题标题  显示论坛会员列表名单  搜索论坛搜索  HelpHelp
  注册注册  登入登入
ASP教学区
 DoReMe : ASP教学区
主题 话题: 第十四章 单独利用Active Server Pages 回复发表新主题
作者
贴子内容 << Prev Topic下一个主题 >>
bibi
Senior Member
Senior Member


加入: 2005/1月/07
Online Status: Offline
回复: 103
Posted: 2005/1月/07 9:34上午 | IP记录 引用 bibi

这章详细的介绍了怎样单独利用Active Server Pages进行工作处理。首先是浏览一下request和response对像, 在第二部分,你将学会怎样缓冲的来输出你的Active Server Pages。第三部分介绍了一些怎样来进行长时间运行脚本以及非常大的主页。最后你会学会处理Headers以及server端 变量的方法。

Request和Response对像

这部分讲述request 和response对象。这两个对象是你在使用Active Server Pages时最常用的,为了更好掌握,你首先需要了解一些如下的有关HTTP协议的背景知识。

HTTP协议

World Wide Web真正是怎样工作的?当你在浏览器的地址拦中敲入正确的网页地址,如果顺利的话,网页就显示出来。这一切在后台是怎样发生的 呢?

当你浏览器在从一个网站接受到HTML文件,那么就会使用Hypertext Transfer Protocol(HTTP).(超文本链接传输协议)。这个协议限定了哪里些信息可以在网络之间传送。通常,这种协议限定了浏览 器和网站之间交互的方式。

注意

目前大部分浏览器以及网站支持HTTP1.0协议,不过,Interenet Information Server也支持HTTP1.1协议,HTTP1.1比HTTP1.0快很多,因为它支持持续连接以及管线连通。如果想要了解 更多,请参看Http://w3.org

当你从一个网站上接受到主页后,你的浏览器就建立了一个到网站的连接并发出一个请求,网站接受请求后发出一个响应,因此,HTT P协议也叫做请求响应协议。

所有的从浏览器到网站间的通讯都是分开的请求和响应对,浏览器总是通过发送请求初始化这种通讯过程,因此网站十分被动的由这些请 求触发来作出响应。

浏览器请求为这种结构:一个请求信息包括请求行、头域,以及或者的信息体。最普遍的一个简单的主页请求信息如下例:

GET /index.cfm HTTP/1.1

Host: www.magicw3.com

这个请求信息是从www.magicw3.com站点上请求index.cfm文件。第一行中,限定了请求的方式、资源名称以及所使用的HTTP协议版本。

在这个例子中,请求的方式是GET。GET方式是接受一个特定的资源,在这里,GET用来接受Index.cfm文件。其它的请 求方式包括POST, HEADER, OPTIONS, DELETE, TRACE, 以及PUT。通常只是使用GET 和POST, 其中POST方式主要用来接受HTML的FORM中的内容。

例子的第二行是header,主要是限定了资源的网络地址,在这里这个地址市:www.magicw3.com

特别的,一个请求也会包含多个header,Headers提供了一些针对于请求的附加信息或者请求的起源,有些Headers 是标准的,但是也有浏览器限定的,本章最后部分专门讨论这种问题。

一个请求也可能包括信息体,例如,你使用POST方式来传输FORM中的内容时,当你点击submit按钮并且使用的是acti on=post,那么你在form中添入的内容就会通过请求的信息体发送到网站上。

网站在接受到请求后就会发送一个响应,响应结构为,每个响应都有一个状态行,包括headers的数量以及可选择的、也许还有个 信息体。

你也许已经很熟悉这个状态行了。如果你输入错了一个网络地址,你的浏览器上会显示HTTP Error 404,这就是那个状态行(见图14.1),状态行包括所用协议,状态代码,以及文本信息(问题原因等),例如:网站接受的请求 如果有问题,那么它响应的状态行中就返回一个错误信息以及原因,如果成功接受请求,则返回200 ok.

注意

状态行和浏览器底下的状态条绝对是两码事,一般情况下,你是看不到状态行的,通常浏览器接受到错误信息后会在浏览器主窗口中显示 出状态行内容。

图14.1 状态行的一个例子

 

 

 

 

 

 

 

 

 

 

 

 

 

Response headers包含了响应的内容信息或者是有关服务端作出响应的信息。这些headers有些是标准的,有些则是由网站而定。下 一个部分「利用headers工作」有更加详细的介绍。

最后,信息体就是响应的主页内容,例如,请求index.cfm,那么index.cfm的内容就在信息体内,当然,有时候信息 体的内容也可能是文本文件。word文件等等。

Request和Response对像

Active Server Page内嵌两种对象,分别是超文本连接传输协议的请求和响应对象。request对像对应于HTTP请求,response对 像对应于HTTP响应。

和绝大部分Active Server Pages对像一样,request和response对象也包括集合、属性以及方法,利用request对象的集合、属性和方 法,你可以接受任何浏览器到网站的请求,利用response对象的集合、属性以及方法,你可以控制网站几乎所有的响应。

例如,request对象的集合包括了所有请求的HTTP headers,而response对像包含了很多种改变响应的HTTP headers的方法,那么下面部分将详细介绍怎样使用这两种对象。

Back to Top 查看 bibi's 资料 搜索其它贴子 bibi 访问 bibi's
 
bibi
Senior Member
Senior Member


加入: 2005/1月/07
Online Status: Offline
回复: 103
Posted: 2005/1月/07 9:35上午 | IP记录 引用 bibi

利用缓存输出

通常,Active Server Page在服务端执行,每一句执行的结果都会立即发送到浏览器上显示出来。例如下面这个例子:

<html>

<head><title>buffer example</title></head>

<body>

<%

for i=1 to 500

response.write(i&」<BR>」)

next

%>

</body>

</html>

这个脚本在屏幕上显示从1到500,每一句命令执行后结果都立即显示,你可以实时的看到执行结果。

在某些场合下,你也可以利用缓冲区来延缓执行过程,当你利用缓冲区时,直到整个Active Server Page执行结束才会将结果输出到浏览器上。下面是利用buffer修改后的例子:

<% Response.Buffer=True %>

<HTML>

<HEAD><TITLE>buffer Example</TITLE></HEAD>

<body>

<%

For i=1 to 500

Response.write(i&」<br>」)

NEXT

%>

</body>

</html>

这个脚本和前面的那个仅有一个区别,在脚本第一行,将Response对象的Buffer属性设置为True。那么这页执行的时 候,这个主页的所有内容会同时显示在浏览器上,这个主页会存在缓存区中直到脚本执行结束。

注意

你可以利用Internet Service Manage来将Buffer的默认值设为True。在Application Configuation对话框的App Options页中选择Enable Buffering.

任何对Buffer属性的修改的语句都必须在主页和Active Server Page脚本输出前面,如果你试图在HTML或者脚本输出后面修改Buffer属性,那么你的程序就会出错。

利用缓存程序,你就可以根据某种条件来显示不同的主页,下面是随机显示的一个例子。

<% Response.Buffer=True %>

<HTML>

<HEAD><Title>第一页</title></head>

<Body>

这是第一页。

</body>

</html>

<%

Randomize

If Int(2*rnd)=1 then Response.End

Response.Clear

%>

<HTML>

<HEAD><TITLE>第二页</title></head>

<body>

这是第二页。

</body>

</html>

在这个例子中,使用了Response对象的两个新的方法:End方法和Clear方法。End方法会立即停止Active Server Pages的执行和相应结果。你在执行End方法时不需要考虑是否进行了缓存输出。在这个例子中,End方法被用来防止在显示第 一页时、第二页也显示出来。

Clear方法是用来在不将缓存中的内容输出的前提下清空当前页的buffer,仅仅是使用了缓存输出的时候你才可以利用cle ar方法,在这里面,clear方法是用来防止显示第二个页面时,第一个页面也显示出来。它把第一个页面从buffer中清空了 。

Response对像中在缓存输出中还用到了另一个方法是flush,将缓存中的东西立即显示出来,和clear方法一样的是, 该方法在脚本前面没有将buffer属性设置为true时会出错,和end方法不同的是,该方法调用后,该Active Server Page继续执行。

一般,你并不需要缓存输出一个Active Server Page,这通常是个坏主意,在大的HTML主页或者运行较长的脚本中,利用缓存显示结果通常会使得用户感到迷惑。

如果你希望根据条件显示不同主页内容,你完全可以只是简单的利用VB脚本来做判断,例如,下面这个例子实现的上面例子的同样功能 而没有使用缓存。

<%

Randomize

if INT(2*RND)=1 then

%>

<HTML>

<HEAD><TITLE>第一页</TITLE></HEAD>

<BODY>

这是第一页

</BODY>

</HTML>

<% ELSE %>

<HTML>

<HEAD><TITLE>第二页</TITLE></HEAD>

<BODY>

这是第二页

</body>

</html>

<% END IF %>

只有一种场合下buffer是必须的,那就是在主页内容已经确定后你却需要改变主页的header。这是你除了将buffer属 性设为True外别无选择。那么,下面有关部分会有更加详细的介绍。

Back to Top 查看 bibi's 资料 搜索其它贴子 bibi 访问 bibi's
 
bibi
Senior Member
Senior Member


加入: 2005/1月/07
Online Status: Offline
回复: 103
Posted: 2005/1月/07 9:35上午 | IP记录 引用 bibi

处理运行时间长的脚本以及内容大的主页

脚本运行时间的最长限制默认值为90秒,这是防止无限次循环的进行,是很有用的防护措施。不过,在一些特殊场合中,你也许面临著 脚本运行时间大于90秒的场合,例如,当你的脚本生成了一个十分巨大的主页时,你肯定不希望主页显示到一半时间就过了限制时间。 那么你可以利用Server对象的ScriptTimeout属性来自己设定你希望的限制时间。例如下例:

<% Server.ScriptTimeOut=150 %>

<HTML>

<Head><title>落星</title></head>

<body>

<%

randomize

starx=60

for k=1 to 10

nextsecond=dateadd(「s」,10,time)

do while time<nextsecond

loop

Starx=starx+3*rnd()-1

for i=1 to starx

Response.Write(「&nbsp;」)

Next

Response.Write(「*<p>」)

Next

%>

</body>

</html>

这个脚本将会十分缓慢的显示落星,每隔10秒在相应位置显示一个星号。(见图14.2)。

由于在页首限定了150秒的限制时间,这个脚本才可能正常执行结束。

你自然也可以利用Server.ScriptTimeout属性来将限制时间减少到90秒以内,而且你还可以在Internet Service Manager中的Application Configuation对话框中的App Options页中修改ScriptTimeout属性,如果你将其改为-1,那么你的脚本将永远不会过期。

图14.2 落星的例子

 

 

 

 

 

 

 

 

 

 

 

 

 

允许脚本执行很长时间就会在你网站资源上创建一个非常重要的管道,实际上,一个脚本也许会执行到甚至发出执行请求的用户都已经离 开的时候,这种情况下,这种脚本的继续执行对任何人都没有好处。幸运的是,Response对象的属性可以有所助益,IsCli entConnected属性可以检查浏览器和服务端是否仍然在连接。你可以利用这个属性将用户已经离开情况下的脚本停止执行。 例如,下面这个例子会一直显示到连接终止。

<HTML>

<HEAD><TITLE>Obnoxious Page</title></head>

<body>

<%

while 1=1

Response.Write(「Hello! Magicw3 Com.」)

if NOT Response.IsClientConnected THEN Response.End

WEND

%>

</body>

</HTML>

请注意IsClientConnected属性仅仅在上一个Response.write调用时浏览器仍然处于连接状态才有效。 如果你运行了一个运行时间很长的脚本程序而没有输出任何东西,那么这个属性也就不会产生作用。

Back to Top 查看 bibi's 资料 搜索其它贴子 bibi 访问 bibi's
 
bibi
Senior Member
Senior Member


加入: 2005/1月/07
Online Status: Offline
回复: 103
Posted: 2005/1月/07 9:35上午 | IP记录 引用 bibi

处理主页的Headers

浏览器的请求和服务端的响应都包含headers,Headers提供了有关请求和响应的附加信息,也包括了浏览器生成请求和服 务端提供响应的过程信息。

Active Server Pages包含了相当多的集合和方法来帮助你维护headers。这些方法一部分对应于特定的任务,例如提供了站点内容分级以及 站点限期时间等功能,其它的方法和集合允许你进行一般的headers的维护。以下部分详细介绍如何使用这些集合方法来影响he aders。

接受headers

当浏览器在服务端接受到一个主页时,这个请求就包括了相当数量的headers,你可以利用request对象的ServerV ariable集合来接受这些headers,ServerVariable集合既包括了headers也包括了服务端的一些其 他信息。下面的例子将ServerVariable集合的所有内容名称显示出来了。

<HTML>

<HEAD><Title>服务端变量</Title></HEAD>

<BODY>

<%

For Each name IN Request.ServerVariables

Response.write(「<p><b>」&name&」</b> :」)

Response.write(Request.ServerVariables(name))

NEXT

%>

</BODY>

</HTML>

显示结果如图14.3所示。

可以看出,ServerVariables集合包含了很多各种类型信息,在附录A「快速ASP对像和组件参考」中包含了标准的h eaders以及Server变量的列表。下列解释几个最为常用的:

■HTTP_REFERER.当某人通过链接到达当前页时,HTTP_REFERER header就保存了这个用户的来源,例如,如果你想知道用户有多少是从yahoo中访问这个站点,就可以利用HTTP_REF ERER来获取这样的信息。

■HTTP_USER_AGENT. 这个Header指示了用户访问你的站点所用的网络浏览器的类型,当你需要了解你的网站主要客户群使用何种浏览器,你就可以利用 这个Header中进行了解。

■Remote_Addr.这个header包括了访问者的IP地址,这个地址可以使我们知道访问者的初始来源,例如是MIT的 学生或者是美国在线的用户。

■QUERY_STRING. QUERY_STRING变量包含的是输入网络地址后问号后面所带的参数。这个变量的详细使用方法请见15章 「处理多个Active Server Page」

■SCRIPT_NAME. 这个变量包含的是当前Active Server Page的虚拟路径,进行自己的引用连接时可能会用到。

■SERVER_NAME. 这个变量包含的是Server的网址。

■PATH_TRANSLATED. 这个变量包含的是当前Active Server Page的真实地址。

现在版本的Internet Explorer(3.0版和4.0版)在请求中包含下面的Headers.

■HTTP_UA_COLOR. 这个Header包含的是浏览器可以显示多少种颜色。

■HTTP_UA_CPU. 这个Header包含的是执行浏览器的计算机的CPU型号。

■HTTP_UA_OS. 指的是浏览器所在的操作系统。

■HTTP_UA_PIXELS. 指的是浏览器所用的计算机的分辨率。

图14.3 ServerVariables集合

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

注意

请不要依赖以上的几个Headers,因为那只适用于windows95下的IE3.0和IE4.0。

你当然可以根据需要利用ServerVariables集合只是去接受特定的header变量,例如下面这个例子,只有从ori gin.asp进入这个例子程序才被允许:

<HTML>

<HEAD><TITLE>服务端变量</TITLE></HEAD>

<BODY>

<%

WhereForm=request.ServerVariables(「HTTP_REFERER」)

IF WhereForm=「http://www.mysitename.com/example/origin.asp」 THEN

%>

欢迎进入迈至科ASP教程示例

<%

ELSE

%>

您未被授权访问该页!

<%

END IF

%>

</BODY>

</HTML>

在这个例子中,HTTP_REFERER header检查用户连接的来源,只有是从http://www.mysitename.com/example/origin.asp连接过来的才被允许访问,这样进行授权控制就非常容易。

警告

使用这些header有时也会有麻烦,因为并不是所有的浏览器都有这些header,例如,早期版本的一些浏览器不支持HTTP _REFERER header。

利用Headers来控制一个主页是否进入缓存区

代理服务器被用来减少在互联网中接受主页的时间。代理服务器将主页复制在自己缓存中,这样别人就只需要从它的缓存中取出来而不用 到原始的服务器上,但是对于Active Server Pages来说(同样适用于Cold Fusion),代理服务器是个很讨厌的东西,因为它的内容是动态更新的,每次访问都可能由于你所限定的条件而显示不同内容,而 保存在cache中的显然无法做到这点,因此,你肯定不希望别人从代理服务器的Cache中调用。

默认情况下,代理服务器不会将Active Server Page放入缓存,不过你可以用ASP的CACHE_CONTROL Header来控制其是否被代理服务器存入缓存。在你的Active Server Page的首行添加下面这句将允许代理服务器将该ASP存入缓存。

<% Response.CacheControl=「Public」 %>

你一样可以限定你的浏览器的缓存怎样进行缓存操作,浏览器通常有内存cache和硬盘cache,使用Response对象的E xpires属性,你可以限定浏览器对其缓存的时间范围,如果设置为0,那么浏览器就不会将Active Server Pages存入Cache,如下:

<% Response.Expires=0 %>

你还可以限定Cache存在截止的具体的日期时间。如果这样,浏览器将持续使用这个Cache副本直到截止时间,下例截止时间为 1998年8月1日:

<% Response.ExpiresAbsolute=#Oct 1, 1998 00:00:00#>

注意

根据HTTP1.1协议,你不能将截止时间设定的超过一年,相信内容见http://w3.org

你也可以利用Internet Service Manager来限定主页的过期时间,选择HTTP Headers页然后找相关项进行填写修改。

利用Headers来限定内容等级

Platform for Internet Content Selection(PICS)提供了为一个主页或者整个站点做标记的方式。例如,你可以用PICS标记来指示出站点内容的暴力 或者色情等级。

PICS自己不是一个等级服务,PICS标准可以适应于网络上任何不同的文化,这意味著你可以根据自己的标准指定等级而使得互联 网上PCIS的标准千奇百怪。例如一个文静的教师自己制定的标准和一些近似疯狂组织的成员制定的标准肯定有很大区别。

决定使用哪里种等级服务是用户个人自己的事情。理论上,个人可以根据自己的爱好选择等级服务。通常,这种等级服务支持面很广,IE 3.0以及以上版本都可以支持PCIS标准。不过,默认的唯一的等级服务是Recreational Software Advisory Council(RSAC)。同样的组织为计算机游戏进行了等级划分。RSAC等级系统有四个种类,分别是暴力、裸体、性、以及语 言,对于每一个种类,你可以在等级1到5之间选择。

用户可以设置IE来阻住不符合用户爱好的站点。例如,用户可以阻住充满暴力和色情的站点而去看其它健康的站点。浏览器还可以阻住 那些没有设定等级的站点,(不过,这样的话,网络上的绝大部分站点就都被阻住了)

接受一个RSAC等级评定,在RSAC站点注册就可以了,(目前是免费的)。网址是:http://www.rasc.org。填写一些表格,就可以了,如图14.4。

图14.4 RSAC站点的提问信息

 

例如,你的站点没有暴力(v)、裸体(n)、性(s)和不健康语言(l)的话,那么,你的站点就会受到这样的PICS 标志:

(PICS-1.1 「Http://www.rsac.org/rathingsv01.cfml」 l gen true

comment 「RSACi North America Server」

by 「walther@aspsite.com

for 「http://www.aspsite.com

on 「1998.06.10T02.04-0800」 r (n 0 s 0 v 0 l 0))

在你获得了这样的标志后,你就可以在主页首利用这种标志,这时可以使用PICS属性来在当前的Header中添加这样的标志,见 下面的例子:

<% Response.PICS(「(PICS-1.1」&chr(34)

&「Http://www.rsac.org/rathingsv01.cfml」 &chr(34)

&「l gen true comment」&chr(34)

&「RSACi North America Server」&chr(34)

&」by」&chr(34)& 「walther@aspsite.com

&chr(34)&」for」& 「http://www.aspsite.com

&chr(34)&」on」&chr(34)

& 「1998.06.10T02.04-0800」

&chr(34)&r (n 0 s 0 v 0 l 0))」)

%>

这样就将标志加在了主页的Header,但是这种方法太麻烦了,因为每一个双引号都要用&chr(34)&来处 理,实在麻烦,下面是作为主页操作的更为简单的方法:

<META http-equiv=「PICS-Lable」

content=『(PICS-1.1 「Http://www.rsac.org/rathingsv01.cfml」 l gen true

comment 「RSACi North America Server」

by 「walther@aspsite.com

for 「http://www.aspsite.com

on 「1998.06.10T02.04-0800」 r (n 0 s 0 v 0 l 0))』>

注意

你当然也可以利用Internet Service Manager来限定内容等级,在HTTP Headers页,选择Edit Ratings。

Back to Top 查看 bibi's 资料 搜索其它贴子 bibi 访问 bibi's
 
bibi
Senior Member
Senior Member


加入: 2005/1月/07
Online Status: Offline
回复: 103
Posted: 2005/1月/07 9:36上午 | IP记录 引用 bibi

对Headers的授权操作

当需要进行主页保护时,对于接受用户信息来确认是否授权进入该主页有四个Headers的内容是很有用的。AUTH_TYPE Header指示了用户进入主页的授权方式,AUTH_USER和LOGON_USER Header包含的是Windows NT用户的用户名信息。最后,作为基本的认证手段,AUTH_PASSWORD 包含了用户注册的口令信息。

注意

你可以利用Internet Service Manager来建立口令保护的主页。最简单的设置口令保护的方式是右键该文件名,选择属性,然后文件安全表。对一个整个网站或 者目录进行口令保护,右键网站或者目录,同样选择属性,然后选择目录安全表。

你可以或者选择基本安全认证或者是NT Challenge和Response。后者由于运用密钥技术对口令传送进行加密,因此显然更加安全。但是后者需要浏览器支持, 而前者基本上支持所有通用浏览器。

例如,下面Active Server Page将对用户身份进行检验,看其是否可以进入主页。这是利用AUTH_TYPE Header来完成的。

这个Headers有两个主要的变量:basic针对于基本认证默认,或者NTLM对应于NT Challenge和Response模式。(LM代表LAN Manager--微软的一种NT前的操作系统),然后会显示用户的帐号。

<HTML>

<HEAD><TITLE>口令保护</TITLE></HEAD>

<BODY>

<%

IF Request.ServerVariables(「AUTH_TYPE」)=「Basic」 THEN

%>

你已经利用基本认证方式注册进入迈至科网络ASP示例程序。

你的帐号是<%=Request.ServerVariables(「LOGON_USER」)%>

<% ELSE %>

你正在利用NT Challenge和Response模式进入迈至科网络ASP示例程序。

你的帐号是<%=Request.ServerVariables(「LOGON_USER」)%>

<% END IF %>

</BODY>

</HTML>

运行时会首先出现一个对话框要求输入帐号口令,正确后会根据你所用的认证模式显示相应字段(见图14.5)。

图14.5 一个口令保护页

 

 

 

 

 

 

 

 

 

 

 

 

 

修改Content-Type Header

Content -Type Header指示了响应文本的媒体形式,(MIME类型)。通常的例子是」text/HTML」, 「image/gif」, 「application/msword」, 或者」text/rtf」,你可以使用Response对象的ContentType属性来设置它。

最简单的例子应用是将Content-type设置为text/plain,那么将显示主页的源代码而不是作为HTML应该显示 的格式。下面这个例子:

<%

Response.ContentType=「text/plain」

%>

<HTML>

<HEAD><TITLE>HTML文本</TITLE></HEAD>

<BODY>

<H1>迈至科公司网络ASP示例之HTML文本</h1>

</BODY>

</HTML>

你会发现,所有文本显示在浏览器上而不只是HTML应该显示的那一句话。

状态代码

尽管Response对象的Status属性并不修改Header,但是由于它可以被用来限定一个HTTP响应的状态码,完全有 理由在这里讨论它。

不管什么时候服务端响应一个请求,首先都是发送一行状态代码。状态代码为三位数字,下面是5种状态代码含义列表:

■1xx信息:这种状态码主要是实验性的。

■2xx成功:这种状态信息是说明请求已经被成功接受并响应,例如:状态码200表示主页请求被完全成功的接受。

■3xx重定向。 这个状态码指示一些接受请求前必须了解的一些其后面进程的信息,例如:状态码301说明该主页已经转移到了其它地址,这时浏览器 会自动转向新的地址。

■4xx客户端错误:这个状态码表示浏览器发出的是错误的请求,例如:404指的是浏览器请求的主页是不存在的。

5xx服务端错误:这种状态码表明服务器响应出现了问题,例如,503指当前服务端遇到了无法应付的错误。

注意

如果想要了解全部状态码的含义,请参看http://w3.org

你可以利用Resposne对象的Status属性来限定响应的状态码。例如,如果有人尝试星期三访问一个ASP主页,就发送一 个401没有授权的信息(显示在口令型对话框中)。

<%

IF WEEKDAYNAME(WEEKDAY(DATE))=「Wednesday」 THEN

Response.Status=「401 没有授权」

Response.End

ELSE

%>

<HTML>

<HEAD><TITLE>不是星期三</TITLE></HEAD>

欢迎访问迈至科网络ASP示例之状态码应用<hr>

今天不是星期三

</BODY>

</HTML>

<% END IF %>

 

总结

这章主要介绍Request和Response对象,这是Active Server Page最重要的两种对象。你应当已经学会了使用Respose对像利用缓存区来输出,同时学会了很多种方法来处理运行时间较长 和内容过大的主页。最后,了解了一些对Headers的操作以及相应系统变量处理。

这一章中,你所学的方法、集合和属性都是针对于单一的Active Server Pages, 当然,作为一套站点系统,多主页之间的相互处理更加重要,这里面通过Form传递信息是很重要的,下一章你就可以详细学会这些, 通过Form或者利用Query字段(相当于参数传递)来进行不同主页间信息传递。

Back to Top 查看 bibi's 资料 搜索其它贴子 bibi 访问 bibi's
 

如果你想回复的话你必须首先 login
如果你还没有注册的话你必须首先 注册

  回复发表新主题
显示可打印的页面 显示可打印的页面

论坛跳转
不能 张贴新论题在这个讨论版
不能 回应论题在这个讨论版
不能 删除你的发言在这个讨论版
不能 编辑你的发言在这个讨论版
不能 新增投票标题在这个讨论版
不能 在这个讨论版投票

Edit by doreme Forums version 2004
Welcome ©2001-2004 doreme Guide

This page was generated in 0.1797 seconds.

 
保养品
保养品, Skin Care
www.elady.tw
美材批发
美材, Cosmetic
www.elady.tw/beauty_org
保养品批发
名牌保养品、保养品批发
gb.perfume.com.tw/skincare
饰品批发
饰品、饰品批发
gb.perfume.com.tw/ornament