详细介绍ASP的六大对象(下)

我们都知道,ASP中的六大内置对象,分别是application,createobject,request,response,session,server。接上篇>>
下面详细介绍这六大对象。
四、Response对象


Response对象用于向客户端浏览器发送数据,用户可以使用该对象将服务器的数据以HTML的格式发送到用户端的浏览器,它与Request组成了一对接收、发送数据的对象,这也是实现动态的基础。下面介绍它常用的属性和方法。
1、Buffer属性
该属性用于指定页面输出时是否要用到缓冲区,默认值为False。当它为True时,直到整个Active Server Page执行结束后才会将结果输出到浏览器上。如:
以下为引用的内容:

双击代码全选

1

2

3

4

5

6

7

8

9

10

11

12

13

<%Response.Buffer=True%>

<html>

<Head>

<title>Buffer示例</title>

</head>

<body>

<% 

for i=1 to 500 

response.write(i & "<br>"

next 

%>

</body>

</html>

 

这页执行时,整个主页的所有内容会同时显示在浏览器上,这个主页会存在缓存区中直到脚本执行结束。
2、Expires属性
该属性用于设置浏览器缓存页面的时间长度(单位为分),必须在服务器端刷新。通过如下设置:

双击代码全选

1

2

<pre class="brush:js;toolbar:false;"><%Response.Expires=0%></pre><p>

</p>

 

通过在ASP文件中加入这一行代码,要求每次请求是刷新页面,因为Response一收到页面就会过期。
3、Write方法
该方法把数据发送到客户端浏览器,如:

双击代码全选

1

2

<pre class="brush:js;toolbar:false;"><%Response.write "Hello,world!"%></pre><p>

</p>

 

4、Redirect方法
该方法使浏览器可以重新定位到另一个URL上,这样,当客户发出Web请求时,客户端的浏览器类型已经确定,客户被重新定位到相应的页面。如:
以下为引用的内容:

双击代码全选

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

<pre class="brush:html;toolbar:false;"><html>

<head>

<title>Redirect示例</title>

</head>

<body>

<form aciton="formjump.asp" method="post">

<select name="wheretogo">

<option selected value="fun">Fun</option>

<option value="news">News</option>

<option value="sample">Sample</option>

</select>

<input type=submit name="jump" value="Jump">

</form>

</body>

</html>  

以上是提交的表单,下面是处理表单的文件formjump.asp: 

<%response.buff=true%>

<html>

<head>

<title>Redirect示例</title>

</head>

<body>

<% 

thisurl="http://www.tinyu.com/"

where=Request.form("wheretogo"

Select Case where 

case "fun"

response.redirect thisurl & "/fun/default.asp"

case "news"

response.redirect thisurl & "/news/default.asp"

case "sample"

response.redirect thisurl & "/sample/default.asp"

End Select 

%>

</body>

<html></pre><p>

</p>

 

这个例子当用户选择了以后,按"Jump"按钮提交表单,服务器接到申请后调用formjump.asp判断后定位到相应的URL。不过这里有一点要注意,HTTP标题已经写入到客户浏览器,任何HTTP标题的修改必须在写入页内容之前,遇到这种问题时,可以如下做:
在文件的开始<@ Language=..>后写:
Response.Buffer=True
在结尾定:
Response.Flush
这里Flush是Response的一个方法,它必须是Buffer属性设置为True时才能使用,否则会产生一个运行模式错误。另外一个Clear方法也是用于清除被缓存的页面,同样要Buffer属性设置为True时才能使用。
5、End方法
该方法用于告知Active Server当遇到该方法时停止处理ASP文件。如果Response对象的Buffer属性设置为True,这时End方法即把缓存中的内容发送到客户并清除冲区。所以要取消所有向客户的输出民,可以先清除缓冲区,然后利用End方法。如:
以下为引用的内容:

双击代码全选

1

2

3

4

5

6

7

8

9

<% 

Response.buffer=true

On error resume next 

Err.clear 

if Err.number<>0 then 

Response.Clear 

Response.End 

end if

%>

 

 
五、Server 对象
Server 对象提供对服务器上的方法和属性的访问。其中大多数方法和属性是作为实用程序的功能服务的。
1、语法
Server.property|method
2、属性
scriptTimeout:
scriptTimeout 属性指定脚本在结束前最大可运行多长时间。 当处理服务器组件时,超时限制将不再生效。
语法 Server.scriptTimeout = NumSeconds
参数 NumSeconds
指定脚本在被服务器结束前最大可运行的秒数。默认值为 90 秒。
3、注释
通 过使用元数据库中的AspscriptTimeout属性可以为 Web 服务或 Web 服务器设置缺省的scriptTimeout值。scriptTimeout属性不能设置为小于在元数据库中指定的值。例如,如果NumSeconds设 置为10,而元数据库设置包含了默认值90秒,则脚本在90秒后超时。但如果NumSeconds设置为100,则脚本在100秒后超时。
关于使用元数据库的详细信息,参阅 关于元数据库。
示例 以下示例中,如果服务器处理脚本超过 100 秒,将使之超时。

双击代码全选

1

2

<pre class="brush:js;toolbar:false;"><% Server.scriptTimeout = 100 %></pre><p>

</p>

 

以下示例获取 scriptTimeout 属性当前值,并将其存储在变量 TimeOut 中。

双击代码全选

1

2

<pre class="brush:js;toolbar:false;"><% TimeOut = Server.scriptTimeout %></pre><p>

</p>

 

4、方法
(1)CreateObject
CreateObject 方法创建服务器组件的实例。如果该组件执行了 OnStartPage 和 OnEndPage 方法,则此时就会调用 OnStartPage 方法。有关服务器组件的详细信息,请参阅 可安装的 ASP 组件。
语法 Server.CreateObject( progID )
参数 progID 指定要创建的对象的类型。progID 的格式为 [Vendor.] component[.Version]。
注 释 默认情况下,由 Server.CreateObject 方法创建的对象具有页作用域。这就是说,再当前 ASP 页处理完成之后,服务器将自动破坏这些对象。要创建有会话或应用程序作用域的对象,可以使用 <OBJECT> 标记并设置 session 或 APPLICATION 的 SCOPE 属性,也可以在对话及应用程序变量中存储该对象。
例如,在如下所示的脚本中,当 session 对象被破坏,即当对话超时时或 Abandon 方法被调用时,存储在会话变量中的对象也将被破坏。

双击代码全选

1

2

3

4

5

6

7

8

9

10

11

12

13

<pre class="brush:js;toolbar:false;"><% Set session("ad") = Server.CreateObject("MSWC.AdRotator")%></pre><p>

</p>

  <div style=" display:block; width:100%; padding-top:15px; margin:0px auto; height:90px; overflow:hidden; text-align:center;"><script src="/2011/ads/tech_content_end_468x60.js"></script><script type="text/javascript"><!--

google_ad_client = "pub-5977682010997732";

/* 468x60,  09-9-9 */

google_ad_slot = "4048873275";

google_ad_width = 468;

google_ad_height = 60;

//-->

</script>

<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">

</script><ins style="display:inline-table;border:none;height:60px;margin:0;padding:0;position:relative;visibility:visible;width:468px"><ins id="aswift_1_anchor" style="display:block;border:none;height:60px;margin:0;padding:0;position:relative;visibility:visible;width:468px"><iframe allowtransparency="true" hspace="0" marginwidth="0" marginheight="0" onload="var i=this.id,s=window.google_iframe_oncopy,H=s&&s.handlers,h=H&&H[i],w=this.contentWindow,d;try{d=w.document}catch(e){}if(h&&d&&(!d.body||!d.body.firstChild)){if(h.call){i+='.call';setTimeout(h,0)}else if(h.match){i+='.nav';w.location.replace(h)}s.log&&s.log.push(i)}" vspace="0" id="aswift_1" name="aswift_1" style="left:0;position:absolute;top:0;" frameborder="0" height="60" scrolling="no" width="468"></iframe></ins></ins>

</div>

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Grow your business fast with

Suku