当前位置导航:炫浪网>>网络学院>>网页制作>>ASP教程

ASP应用程序八大对象介绍(下)

四、Response对象
  
  Response对象用于向客户端浏览器发送数据,用户可以使用该对象将服务器的数据以HTML的格式发送到用户端的浏览器,它与Request组成了一对接收、发送数据的对象,这也是实现动态的基础。下面介绍它常用的属性和方法。
  
  1、Buffer属性
  该属性用于指定页面输出时是否要用到缓冲区,默认值为False。当它为True时,直到整个Active Server Page执行结束后才会将结果输出到浏览器上。如:
  <%Response.Buffer=True%>
  <html>
  <Head>
  <title>Buffer示例</title>
  </head>
  <body>
  <%
  for i=1 to 500
  response.write(i & "<br>")
  next
  %>
  </body>
  </html>
  这页执行时,整个主页的所有内容会同时显示在浏览器上,这个主页会存在缓存区中直到脚本执行结束。
  
  2、Expires属性
  该属性用于设置浏览器缓存页面的时间长度(单位为分),必须在服务器端刷新。通过如下设置:
  <%Response.Expires=0%>
  通过在ASP文件中加入这一行代码,要求每次请求是刷新页面,因为Response一收到页面就会过期。
  
  3、Write方法
  该方法把数据发送到客户端浏览器,如:
  <%Response.write "Hello,world!"%>
  4、Redirect方法
  该方法使浏览器可以重新定位到另一个URL上,这样,当客户发出Web请求时,客户端的浏览器类型已经确定,客户被重新定位到相应的页面。如:
  <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.CNLei.Net/";
  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>   这个例子当用户选择了以后,按"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方法。如:
  <%
  Response.buffer=true
  On error resume next
  Err.clear
  if Err.number<>0 then
  Response.Clear
  Response.End
  end if
  %>
  
  五、Server 对象:
  
  Server 对象提供对服务器上的方法和属性的访问。其中大多数方法和属性是作为实用程序的功能服务的。
  
  语法 Server.property|method
  
  属性
  ScriptTimeout:
  ScriptTimeout 属性指定脚本在结束前最大可运行多长时间。 当处理服务器组件时,超时限制将不再生效。
  
  语法 Server.ScriptTimeout = NumSeconds
  
  参数 NumSeconds
  指定脚本在被服务器结束前最大可运行的秒数。默认值为 90 秒。
  
  注释
  通过使用元数据库中的AspScriptTimeout属性可以为 Web 服务或 Web 服务器设置缺省的ScriptTimeout值。ScriptTimeout属性不能设置为小于在元数据库中指定的值。例如,如果NumSeconds设置为10,而元数据库设置包含了默认值90秒,则脚本在90秒后超时。但如果NumSeconds设置为100,则脚本在100秒后超时。
  
  关于使用元数据库的详细信息,参阅 关于元数据库。
  
  示例  以下示例中,如果服务器处理脚本超过 100 秒,将使之超时。
  <% Server.ScriptTimeout = 100 %>以下示例获取 ScriptTimeout 属性当前值,并将其存储在变量 TimeOut 中。
  <% TimeOut = Server.ScriptTimeout %>
  方法
  
  CreateObject
  CreateObject 方法创建服务器组件的实例。如果该组件执行了 OnStartPage 和 OnEndPage 方法,则此时就会调用 OnStartPage 方法。有关服务器组件的详细信息,请参阅 可安装的 ASP 组件 。
  语法 Server.CreateObject( progID )
  参数 progID 指定要创建的对象的类型。progID 的格式为 [Vendor.] component[.Version]。
  注释 默认情况下,由 Server.CreateObject 方法创建的对象具有页作用域。这就是说,再当前 ASP 页处理完成之后,服务器将自动破坏这些对象。要创建有会话或应用程序作用域的对象,可以使用 <OBJECT> 标记并设置 SESSION 或 APPLICATION 的 SCOPE 属性,也可以在对话及应用程序变量中存储该对象。
  例如,在如下所示的脚本中,当 Session 对象被破坏,即当对话超时时或 Abandon 方法被调用时,存储在会话变量中的对象也将被破坏。
  <% Set Session("ad") = Server.CreateObject("MSWC.AdRotator")%>可以通过将变量设置为 Nothing 或新的值来破坏对象,如下所示。第一个例子释放 ad 对象,第二个例子用字串代替 ad 。
  <% Session ("ad") = Nothing %>
  <% Session ("ad") = " Other Valum " %>不能创建与内建对象同名的对象实例。 例如,下列脚本将返回错误。
  <% Set Response = Server.CreateObject("Response") %>
  示例
  
  <% Set MyAd = Server.CreateObject("MSWC.AdRotator") %> 上面的例子创建一个名为 MyAd 的 MSWC.AdRotator 服务器组件,MSWC.AdRotator 组件可用于在 Web 页上的自动轮换广告。
  关于服务器组件的详细信息, 请参阅 Creating Components for ASP.
  
  HTMLEncode
  HTMLEncode方法对指定的字符串应用 HTML 编码。
  语法  Server.HTMLEncode( string )
  参数  string 指定要编码的字符串。
  示例脚本  <%= Server.HTMLEncode("The paragraph tag: <P>") %>
  输出  The paragraph tag: <P>
  注意 以上输出将被 Web 浏览器显示为The paragraph tag: <P>如果查看一下源文件或以文本方式打开一个 Web 页,您就可以看到已编码的 HTML。
  
  MapPath
  MapPath 方法将指定的相对或虚拟路径映射到服务器上相应的物理目录上。
  语法
  Server.MapPath( Path )
  参数
  Path 指定要映射物理目录的相对或虚拟路径。若 Path 以一个正斜杠 (/) 或反斜杠 (\) 开始,则 MapPath 方法返回路径时将 Path 视为完整的虚拟路径。若 Path 不是以斜杠开始,则 MapPath 方法返回同 .asp 文件中已有的路径相对的路径。
  注释
  MapPath 方法不支持相对路径语法 (.) 或 (..)。例如,下列相对路径 ../MyDir/MyFile.txt 返回一个错误。
  MapPath 方法不检查返回的路径是否正确或在服务器上是否存在。
  因为 MapPath 方法只映射路径而不管指定的目录是否存在,所以,您可以先用 MapPath 方法映射物理目录结构的路径,然后将其传递给在服务器上创建指定目录或文件的组件。
  示例
  对于下列示例,文件data.txt和包含下列脚本的test.asp文件都位于目录C:\Inetpub\Wwwroot\Script下。C:\Inetpub\Wwwroot目录被设置为服务器的宿主目录。
  下列示例使用服务器变量 PATH_INFO 映射当前文件的物理路径。脚本
  <%= server.mappath(Request.ServerVariables("PATH_INFO"))%><BR>
  输出
  c:\inetpub\wwwroot\script\test.asp<BR>
  由于下列示例中的路径参数不是以斜杠字符开始的,所以它们被相对映射到当前目录,此处是 C:\Inetpub\Wwwroot\Script。脚本
  <%= server.mappath("data.txt")%><BR>
  <%= server.mappath("script/data.txt")%><BR>
  输出
  c:\inetpub\wwwroot\script\data.txt<BR>
  c:\inetpub\wwwroot\script\script\data.txt<BR>
  接下来的两个示例使用斜杠字符指定返回的路径应被视为在服务器的完整虚拟路径。脚本
  <%= server.mappath("/script/data.txt")%><BR>
  <%= server.mappath("\script")%><BR>
  输出
  c:\inetpub\script\data.txt<BR>
相关内容
赞助商链接