当前位置:文档之家› ASP内建对象详解

ASP内建对象详解

ASP内建对象详解
ASP内建对象详解

ASP内建对象详解

ASP内建对象详解

在ASP程序设计中在使用Response对象

Response对象在ASP程序设计中的主要功能是从浏览器端到服务器端传送数据到浏览器的客户端,我们知道ASP的脚本是在服务器端执行的,他并没有输出"值"的功能如何用Request对象获得机器的环境参数

Reques对象能够保存从浏览器的客户端发送到服务器的所有信息,这当中有一部分是客户端的环境信息,通过Reques对象就可以读取这些信息,从而就能够得知客户端的环境

Response.redirect实现页面重定向

用 Redirect 方法可将浏览器重定向到另一个 URL,而不是将内容发送给用户。例如,如果您想确认用户是否已从主页进入了您的应用程序,以便能收到一个客户 ID,则可以检验他们是否有客户 ID 号;如果没有,就可以将其重定向到主页ASP内置对象慨述

Active Server Pages 提供内建对象,这些对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息(如用户首选项)。本文简要说明每一个对象

ASP内建对象Request

从本篇开始作者从 ASP 内建对象着手,为大家详细剖析 ASP 的六个内建对象和各种组件的特性和方法

ASP内建对象Server

Server 对象提供对服务器上的方法和属性的访问 , 其中大多数方法和属性是作为实用程序的功能服务的。有了 Server 对象,你就可以在服务器上启动 ActiveX 对象例程,并使用 Active Server 服务提供象 HTML 和 URL 编码这样的函数全面解析Server对象

Server对象提供对服务器上访问的方法和属性.大多数方法和属性是作为实用程序的功能提供的

ASP 内建对象Request和Respones

Web源于静态文本,现在很多站点几乎还是采用这种方式。静态文本的缺点就是维护难(文件数目多)、查询难、修改难。虽然可以采用FrontPage对站点进行管理,但这只是其中的一个办法

深入研究Application和Session对象

用ASP编写虚拟社区、网上购物等程序时,Application和Session对象具有举足轻重的作用,能够灵活合理地运用这两个对象是提高程序质量的关键。下面让笔者根据自己在这方面的经验,向大家深入介绍一下ASP的这两个内建对象

在ASP程序设计中在使用Response对象

Response对象在ASP程序设计中的主要功能是从浏览器端到服务器端传送数据到浏览器的客户端,我们知道ASP的脚本是在服务器端执行的,他并没有输出"值"的功能。要想拥有输出"值",就必须依靠Response对象。

在这里我们将关注其最常用的一些功能。也就是在程序设计中经常要用到的一些功能,具体如下:

(1).response.write 发送信息到浏览器

(2). response.end 有效地中止代码

(3).response.redirect 页面重定向

如何用response.write发送信息到浏览器?

在下面的response.asp就是一个向客户端发送信息的程序,在程序中用到了一个内建功能--dateadd,对于这个功能可以参阅以下相关文档:

https://www.doczj.com/doc/5214450371.html,/iishelp/VBScript/htm/vbs90.htm.

Response.asp程序源代码:

<html><head><title> response.asp </title><body color = "#FFFFFF" ><p><%when = now ( )tommorow = dateadd ( "d" , 1 , when )twoweekslater = dateadd ( "ww" , 2 , when )fourteenweekdayslater = dateadd ( "w" , 14 , when )monthlater = dateadd ( "m" , 1 , when )sixminuteslater = dateadd ( "n" , 6 , when )sixhourslater = dateadd ( "h" , 6 , when )fortysecslater = dateadd ( "s" , 40 , when )response.write "现在时间:<b>" & when & "</b><br >"response.write "明天此时:<b>" & tommorow & "</b><br>"response.write "一月以后此时:<b> " & monthlater & " </b><br>"%>从现在以后6秒钟:<b><%= sixminuteslater %></b><br>从现在以后6小时是:<b><%= sixhourslater %></b><br>从现在以后40秒是:<b><%= fortysecslater %></b><br></body></html>

执行以后的界面如下:

图01:response.write发送信息到浏览器

response.end 是如何有效地中止代码?

下面是用response.end终止一个页面操作的源程序end.asp和执行后的运行界面:

end.asp:

<title> end.asp </title><body color = "#FFFFFF" ><%when = now

( )tommorow = dateadd ( "d" , 1 , when )twoweekslater = dateadd ( "w" , 2 , when )monthlater = dateadd ( "m" , 1 , when )sixminuteslater = dateadd ( "n" , 6 , when )sixhourslater = dateadd( "h" , 6 , when )response.write "现在时间:<b>" & when & " </b><br> "response.write "从现在以后一个月时间:<b >" & monthlater & "</b><br>"response.endresponse.write "从现在以后二周时间:<b>" & twoweekslater & "</b><br>"%>从现在以后6秒时间:<b><%= sixminuteslater %></b><br>从现在以后6个小时:<b><%= sixhourslater %></b><br>

运行此程序,则执行界面如下:

图02:end.asp程序执行界面

在end.asp程序中可见多了一个response.end语句:如果没有这个语句,则程序执行后的界面如下:

图03:程序中屏蔽respons.end语句的执行界面

由此可见Response.end是如何有效中止代码执行的了。

如何用Request对象获得机器的环境参数

Reques对象能够保存从浏览器的客户端发送到服务器的所有信息,这当中有一部分是客户端的环境信息,通过Reques对象就可以读取这些信息,从而就能够得知客户端的环境。

ServerVariables 集合有哪些常用参数?

要用Reques对象来读取客户端的环境参数,就要使用到ServerVariables 集合对象来保存环境变量。

下图表是ServerVariables 集合比较常用的一些参数:

ALL_HTTP 客户端发送的所有 HTTP 标题文件。

CONTENT_LENGTH 客户端发出内容的长度。

CONTENT_TYPE 内容的数据类型。如:"text/html"。同附加信息的查询一起使用,如 HTTP 查询 GET、POST 和 PUT。

LOCAL_ADDR 返回接受请求的服务器地址。如果在绑定多个 IP 地址的多宿主机器上查找请求所使用的地址时,这条变量非常重要。

LOGON_USER 用户登录 Windows NT 的帐号

QUERY_STRING 查询 HTTP 请求中问号(?)后的信息。REMOTE_ADDR 发出请求的远程主机 (client) 的 IP 地址。

REMOTE_HOST 发出请求的主机 (client) 名称。如果服务器无此信息,它将设置为空的MOTE_ADDR 变量。

REQUEST_METHOD 该方法用于提出请求。相当于用于 HTTP 的 GET、HEAD、POST 等等。

SERVER_NAME 出现在自引用 URL 中的服务器主机名、DNS 化名或 IP 地址。SERVER_PORT 发送请求的端口号。

HTTP_ACCEPT_LANGUAGE 机器使用的语言环境

ServerVariables 集合对象的语法是什么?

此集合对象在程序中的具体语法如下:

Request.ServerVariables ( 服务器环境变量 )

怎样通过Request对象获得机器的环境参数?

例子名称request.asp,他的主要作用是读取本地的IP地址合,服务器端的IP地址和机器使用的语言环境,源程序如下:

<HTML><HEAD><TITLE>取得客户端的环境参数</TITLE></HEAD><BODY><%Dim Language '用以储存Client端环境用的语言Response.Write "本地IP地址:" & Request.ServerVariables ( "LOCAL_ADDR" )Response.Write "<HR>"Response.Write "服务器IP地址:" & Request.ServerVariables

( "REMOTE_ADDR" )Language = Request.ServerVariables

( "HTTP_ACCEPT_LANGUAGE" )Response.Write " <HR> "Select Case Language Case "zh-tw" : Response.Write "您使用的是繁体中文" Case "zh-cn" : Response.Write "您使用的是简体中文"End Select%><HR></BODY></HTML>

执行以后就可以得到如下界面:

图01:用Request对象来读取环境参数

ServerVariables 集合里面还定义了一些其他的参数,要灵活使用这些参数,最好的办法就是多使用。

Response.redirect实现页面重定向

用 Redirect 方法可将浏览器重定向到另一个 URL,而不是将内容发送给用户。例如,如果您想确认用户是否已从主页进入了您的应用程序,以便能收到一个客户 ID,则可以检验他们是否有客户 ID 号;如果没有,就可以将其重定向到主页。以下就是具体例子:

<%If Session("CustomerID") = 0 Then Response.Redirect "homepage.asp" End If%>

除非缓冲区已经打开,否则,在任何内容或标题返回给浏览器之前,您必须重定向浏览器。将 Response.Redirect 语句放在页的顶部和<HTML>标记之前可确保没有任何内容返回给浏览器。如果在返回给浏览器的内容或标题后使用 Response.Redirect,将看到一个错误信息。

如果在页的中间使用 Response.Redirect,请将其与 Response.Buffer 属性一起

使用,这是因为在默认情况下,Web 服务器返回 HTML 和在处理 ASP 页时的脚本处理结果。但是,您可以设置 Response 对象的 Buffer 属性以便在向用户发送任何内容之前,先处理页上的所有的服务器脚本命令。

可以使用缓冲技术来确定在页处理过程中的某个点,而您并不想将该点之前的内容发送给用户。也可以用 Response 对象的 Redirect 方法将用户重定向到另一页,或者用 Response 对象的 Clear 方法清除缓冲区并将不同的内容发送给用户。下面的例子使用了以上两种方法。

例子一:

<% '下一句程序必须放在程序在<HTML>标识符前Response.Buffer = True %><html><body>...

例子二:

<%If Request ("FName") = "" Then Response.Clear Response.Redirect ".. /test.html"Else Response.Write Request("FName")End If%></body></html>

以上就是Response对象的在程序中经常用到的功能。

Server对象有那些属性方法以及怎样使用

Server对象提供对服务器访问的方法和属性。其中大多数方法和属性是作为实用程序的功能提供的。

Server对象有哪些基本属性和方法?

(1).语法:

Server.property|method

(2).属性(property)

Server对象只有一个属性:ScriptTimeout 程序能够运行的最大时间

(3).方法(Methods)

CreateObject 建立一个对象实例.

Execute 执行一个asp文件

GetLastError 返回一个错误代码

HTMLEncode 对指定的HTML代码进行转换.

MapPath 将一个相对路径转化为一个绝对路径.

Transfer 将当前的所有状态信息发送给另一个asp文件

URLEncode 以URL形式转化指定的代码,包括空格

如何使用Server对象的属性和方法?

(1).CreateObject

语法

Server.CreateObject ( progID )

参数

progID

指定要创建的组件名称,格式如下: [Vendor.]Component[.Version]。

要点:

一般来说,用由Server.CreateObject方法创建的对象的生存期在该页面范围内。这就说,当这页的asp程序执行完后,这个对象会自动地消失。

为了创建一个拥有Session或Application范围的对象,你就要在Global.asa文件中使用CreateObject方法

(2).Execute

Execute 方法是呼叫一个ASP文件并且执行它,像被呼叫的ASP文件存在这个ASP 文件中一样。这很与许多语言中的类的调用相似。

语法

Server.Execute ( Path )

参数

Path

指定将执行的那个asp文件的路径。如果它是一个相对路径,那么它必须是一个和这个ASP应用程序相同的地方(目录)的文件。

讲解

Server.Execute 方法提供了一个将复杂ASP应用程序分化为小块单位来执行的方法。通过这种方法,你能够建一个ASP图书馆,你能够随便在你需要时调用你图书馆中的ASP文件。

当IIS根据指定的ASP文件路径执行完这个ASP文件之后,就会自动返回以前的ASP文件。这个刚刚执行完的ASP文件有可能改变了HTTP head。但是和其它的ASP文件一样,当程序试图改变http head时,就会报错!

这个path参数可以包括一个询问信息。

如果在被呼叫和呼叫的ASP文件中都含有相同的子函数,那么这些子函数只在本ASP文件中起作用。举个例子,如果在下面的ASP1和ASP2两个文件中都含有放弃程序的子函数。首先ASP1呼叫ASP2,那么ASP2中的的OnTransactionAbort开始执行,当ASP2执行完毕,ASP1中的OnTransactionAbort才开始执行。

ASP1:

<%@ Transaction = Required %><% Server.Execute ("Page22.asp") Sub OnTransactionAbort Sub OnTransactionCommit%>

Asp2.asp:

< %@ Transaction = Required Sub OnTransactionAbort Sub OnTransactionCommit%>

例子:

ASP1

<% Response.Write ( "I am going to execute ASP2 " )Server.Execute

( "/myasps/asp2.asp" )%>

ASP2

<% Response.Write ( "Here I am" ) %>

(3).GetLastError方法

GetLastError 方法返回一个ASPError Object 来描述一个错误信息.这个方法只适用于在asp文件发送任何内容给用户机之前.

语法

Server.GetLastError ( )

要点:

如果一个500;100 用户错误已经被定义在一个asp应用程序中,它是指的一个以.asp为后缀的文件。这种情况下,在这个程序运行时当一个错误发生时,服务器就会自动的以Server.Transfer这种方式传送到这个正在执行的ASP页面。ASP应用程序就会将有效的处理这个错误。另外,这个ASPError Object一定要有效,这样你就能够看到服务器提供给你的错误信息来改这个文件了!

一般的Web Site 都是根据文件\iishelp\common\500-100.asp来构造的。你能够用它来执行一个asp错误,当然你能够自己定义了!。如果你想改变为另外一个asp

文件的来执行这些用户错误。那么你可以用IIS中的snap-in。

注意:当IIS发现了一个asp文件或者global.asa文件中的一个错误,那么一个500;100用户错误产生。以下的程序将不能执行!

下面的三个例子证明不同的错误会产生的用户错误。三个错误是:

编译错误

运行错误

逻辑错误

第一个例子证明了一个编译错误,就是当IIS试图包含一个文件时产生的。这个错误会产生是因为在这个包含文件中没有定义所需的参数。第二个例子显示的是一个运行错误,这个程序中断的原因是程序中没有"next"。第三个例子显示的是一个逻辑错误,因为这个程序试图除以一个0。

例子01:

< % response.write "hello"%>

例子02:

< % dim I for I = 1 to 1 nxt%>

例子03:

<% dim i , j dim sum sum = 0 j = 0 for i = 1 to 10 sum = sum+1 next sum = sum/j%>

(4).HTMLEncode方法:

HTMLEncode方法对指定的字符串进行HTML编码。

语法

Server.HTMLEncode ( string )

参数

string 要进行编码的字符

例子

下面的程序:

<%= Server.HTMLEncode ( "The paragraph tag: " ) %>

输出为:

The paragraph tag:

注意程序执行后在浏览器中看到的是:

The paragraph tag:

但是如果你用"查看源文件"看一下的话,源代码就不是了。

(5).MapPath

MapPath 方法将相对路径转化为服务器上的物理路径

语法

Server.MapPath ( Path )

参数

Path

这个路径是以"/"或"\"开头的路径,如果这个路径中没有"\",那么MapPath方法就会返回以当前目录为基础的路径。

讲解

MapPath 方法不能检查路径在这个服务器下是否存在。因为 MapPath 转化路径时是不管这个路径是否在这个服务器下存在的。

你能够用它来将一个相对路径转化为一个物理路径,然后再在这个路径下进行各种操作。

在下面的例子中,data.txt文件存在 C:\Inetpub\Wwwroot\Script 目录中,而一个test.asp 文件包括下面的代码。C:\Inetpub\Wwwroot 是该服务器的主目录。

下面的例子中,首先用环境变量"PATH_INFO"获得当前文件的物理路径。

下面是Script 代码:

<%= server.mappath ( Request.ServerVariables ( "PATH_INFO" ) ) %>

显示为:

c:\inetpub\wwwroot\script\test.asp

因为下面的例子中路径参数没有以"/"开头,所以它是以当前目录转化的,asp文件是放在C:\Inetpub\Wwwroot\Script中的.以下是 scripts的内容:

<%= server.mappath ( " data.txt " ) %><%= server.mappath ( "

script/data.txt " ) %>

显示为:

c:\inetpub\wwwroot\script\data.txt

c:\inetpub\wwwroot\script\script\data.txt

以下的两个例子是以"\"开头的.以下是scripts的内容:

<%= server.mappath ( " \script " ) %>

显示为:

c:\inetpub\wwwroot\script\data.txt c:\inetpub\wwwroot\script

直接用"/"或"\"就会得到服务器的主目录:

<%= server.mappath ( " \ " ) %>

显示为:

c:\inetpub\wwwroot

(6).Transfer方法:

transfer 方法会把一个正在执行的asp文件的所有信息传给另外一人asp文件。

语法

Server.Transfer ( path )

参数

Path

将要接收信息的asp文件的位置。

要点:

当你调用Server.Transfer时,所有内建对象的状态信息都会包含在这次传送之中。这就是说,所有在保存在Session或Application中的信息都会被传送,而且所有当前请求的信息都会被接收信息的asp文件所接受。

下面的例子示范了从一个asp文件传送到另一个asp文件例子!

ASP1

<% Dim sessvar1 Response.Write Session.SessionID Response.Write ( " " ) Response.Write ( "I am going to ASP2 " ) Server.Transfer

( "/Myasps/ASP2.asp" )%>

ASP2

<% Response.Write Session.SessionID %>

(7).URLEncode方法:

URLEncode 方法可以将指定字符串进行URL编码。

语法

Server.URLEncode ( string )

参数

string 指定要转化的字符串

下面是代码:

<% Respones.Write ( Server.URLEncode ( https://www.doczj.com/doc/5214450371.html, ) ) %>

显示为:

http%3A%2F%2Fwww%2Emicrosoft%2Ecom

(8).属性:ScriptTimeout

ScriptTimeout 属性规定了程序的最大运行时间。

语法

Server.ScriptTimeout = NumSeconds

参数

NumSeconds

规定了程序的最大的运行时间(以秒计算)。缺省值是90秒

Remarks

Web sertvic 或 Web server上缺省的Scritpt Timeout的值能通过ASPScriptTimeOUT属性来设置。在程序中,ScriptTimeout属性的值不能小于这个缺省值。举个例子吧,如果NumSeconds我们设置为10秒,而缺省值为90秒,那么程序就会中止在90秒以后,而不是10秒以后的。同样,如果我们设置ScriptTimeout的值为100秒,那么,程序就会在100秒之后中止,而不是90秒。

下面的例了中程序将被设置为100秒后自动中止。

<% Server.ScriptTimeout = 100 %>

下面的例子中将重新得到ScriptTimeout的值,然后把它存在Timout变量中

<% TimeOut = Server.ScriptTimeout %>

总结:

通过以上结合例子的介绍,对server对象的如何使用有了一个比较具体的了解。但要灵活运用,只有不断练习。

ASP内置对象

Active Server Pages 提供内建对象,这些对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息(如用户首选项)。本文简要说明每一个对象。有关每个对象的详细信息,请参阅内建对象参考。

?Application 对象

可以使用 Application 对象使给定应用程序的所有用户共享信息。

?Request 对象

可以使用 Request 对象访问任何用 HTTP 请求传递的信息,包括从 HTML 表格用 POST 方法或 GET 方法传递的参数、cookie 和用户认证。Request 对象使您能够访问发送给服务器的二进制数据,如上载的文件。

?Response 对象

可以使用 Response 对象控制发送给用户的信息。包括直接发送信息给浏览器、重定向浏览器到另一个 URL 或设置 cookie 的值。</p>

?Server 对象

Server 对象提供对服务器上的方法和属性进行的访问。最常用的方法是创建 Ac tiveX 组件的实例 (Server.CreateObject)。其他方法用于将 URL 或HTML 编码成字符串,将虚拟路径映射到物理路径以及设置脚本的超时期限。

?Session 对象

可以使用 Session 对象存储特定的用户会话所需的信息。当用户在应用程序的页之间跳转时,存储在 Session 对象中的变量不会清除;而用户在应用程序中访问页时,这些变量始终存在。也可以使用 Session 方法显式地结束一个会话和设置空闲会话的超时期限。

?ObjectContext 对象

可以使用 ObjectContext 对象提交或撤消由 ASP 脚本初始化的事务。

?ASP内建对象Request(1)

从本篇开始作者从 ASP 内建对象着手,为大家详细剖析 ASP 的六个内建对象和各种组件的特性和方法。

在正式开始学习 ASP 的内建对象和组件之前,先让我们来认识一些基本概念,这将对各位今后的学习大有帮助。请看下表 :

什么是对象?它可不是指你恋爱的男伴或女伴。在面向对象编程中,对象就是指由当作完整实体的操作和数据组成的变量。对象是基于特定模型的,在对象中客户使用对象的服务通过由一组方法或相关函数的接口访问对象的数据,然后客户端可以调用这些方法执行某中操作。ActiveX 组件是建立 Web 应用程序的关键,组件提供了在脚本中执行任务的对象。ActiveX 组件是一个文件,该文件包含执行某项或一组任务的代码,由于组件可以执行公用任务,这样程序员们就不必自己去创建执行这些任务的代码。可以利用组件作为脚本和基于 Web 应用程序的基本构造块。只要知道如何访问组件提供的对象,即使是位编写脚本的新手,也可以在不了解组件运作方式的情况下编写脚本。总之,组件使您不用学习编程就能够编写强大的脚本。组件是包含在动态链接库 .dll 或可执行文

件 .exe 中的可执行代码。组件可以提供一个或多个对象以及对象的方法和属性。要使用组件提供的对象,请创建对象的实例并将这个新的实例分配变量名。使用 ASP 的 Server.CreateObject 方法可以创建对象的实例,使用脚本语言的

变量分配指令可以为对象实例命名。如下例:

Set db=Server.CreateObject("ADODB.Connection")

这里的变量 db 就是 ASP 程序创建的访问数据库的对象实例。

Active Server Pages 提供了可在脚本中使用的内建对象。这些对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息 , 从而使对象开发者摆脱了很多烦琐的工作。目前的 ASP 版本总共提供了六个内建对象,下面让我们将通过实例分别来进行学习。

一、Request 对象

可以使用 Request 对象访问任何基于 HTTP 请求传递的所有信息,包括从HTML 表格用 POST 方法或 GET 方法传递的参数、cookie 和用户认证。Request 对象使您能够访问客户端发送给服务器的二进制数据。

Request 的语法 :

Request[. 集合 | 属性 | 方法 ]( 变量 )

在这里作者将挑选一些常用的对象语法进行分析

1、Form

Form 集合通过使用 POST 方法的表格检索邮送到 HTTP 请求正文中的表格元素的值。

语法

Request.Form(element)[(index)|.Count]

参数

element 指定集合要检索的表格元素的名称。

index 可选参数,使用该参数可以访问某参数中多个值中的一个。它可以是 1 到 Request.Form(parameter).Count 之间的任意整数。

ASP内建对象Server

通过前九篇的理论和实践,相信大家已经对 ASP 有了系统的了解,虽然至今为止,我们只学了 ASP 的 4 个内建对象,但已经完全能够写出一些实用的小程序了。今天,作者将继续给大家讲解最后一个 ASP 内建对象——Server。

在开始本次课程之前,我仍要在这里回答一些朋友们提出的比较普遍的问

题。最近仍有不少朋友来信问我,如何构建服务器端的 Active Server Page 环境。我想可能是我在前几篇中没有讲清楚,因此,在本篇的开头有必要把这个问题详细阐述一遍。

ASP 的应用完全是基于 Microsoft Internet Infomation Server(简称IIS)之上的,IIS 有分别用于 Windows NT Server 和 WorkStation 的两个版本中(当然 IIS4.0 也有 Windows98 版,这里暂且不提),其功能几乎完全相同,所不同的只是安装过程。一般来说,我们使用的都是基于 NT 服务器上的 IIS 版本。在 NT Server 的环境中,发布信息、管理站点的工作一般都是通过 IIS 来完成的。通常我们在 NT4.0 版本中运行的是 IIS2.0 版,但它不具有支持 ASP 的功能。ASP 必须在安装完 IIS 后单独安装,安装文件是一个微软发布的 ASP 安装包,大约有 9 兆多,应该可以在微软的网站上下载。当 IIS2.0 中增添了支持 ASP 的功能后,其也就自动升级为 3.0 版本。2.0 和 3.0 对于 WEB 服务器来说,并没有什么大的改动,只是单纯地增加了运行 ASP 的能力。当安装完成后,运行 Internet 服务管理器,你将看到如下画面:

可以到在 IIS3.0 中提供了三种服务:WWW、Gopher、FTP,WWW 服务为客户浏览器提交 WEB 页,并允许客户访问 .asp 文件。当然,你可以直接安装最新的 IIS4.0 版本,作者也建议各位安装此版本,因为它具有更强更高的 WEB 管理机能和安全性。在 IIS4.0 中 IIS 的管理界面发生了根本性的改变,熟悉的Internet 服务管理器,被取而代之为 Microsoft 管理控制台,简称 MMC。其界面如下图:

那么如何安装 IIS4.0 呢?在 NT4.0 上安装 IIS4.0 时,你的系统中必须已经安装了 NT SP3,以及 Internet Explorer4.01,注意这里的 Internet Explorer 的版本必须是 4.01,版本号为 4.72.3110.8。这点很重 裨蚰憬 荒馨沧? IIS4.0。作者为了安装该版本特意花费了一个晚上在微软的站点上升级IE 版本。

IIS 支持虚拟目录,通过在“服务器属性”对话框中的“目录”标签可以管理虚拟目录。建立虚拟目录对于管理 WEB 站点具有非常重要的意义。首先,虚拟目录隐藏了有关站点目录结构的重要信息。因为在浏览器中,客户通过选择“查看源代码”,很容易就能获取页面的文件路径信息,如果在 WEB 页中使用物理路径,将暴露有关站点目录的重要信息,这容易导致系统受到攻击。其次,只要两台机器具有相同的虚拟目录,你就可以在不对页面代码做任何改动的情况下,将 WEB 页面从一台机器上移到另一台机器。还有就是,当你将 WEB 页面放置于虚拟目录下后,你可以对目录设置不同的属性,如:Read、Excute、Script。读访问表示将目录内容从 IIS 传递到浏览器。而执行访问则可以使在该目录内执行可执行的文件。当你需要使用 ASP 时,就必须将你存放 .asp 文件的目录设置为“Excute(执行)”。作者建议大家在设置 WEB 站点时,将 HTML 文件同 ASP 文件分开放置在不同的目录下,然后将 HTML 子目录设置为“读”,将

ASP 子目录设置为“执行”,这不仅方便了对 WEB 的管理,而且最重要的提高了 ASP 程序的安全性,防止了程序内容被客户所访问。因为在今年 7 月底的时候 IIS 被一些网络高手发现了一个可怕的 bug,那就是,当你在一个站点

的 .asp 文件后加上 ::$DATA 后,客户将能在浏览器中看到该 .asp 文件的所有源代码,这对于一个站点来说是非常可怕的。当然微软已经针对这个 bug,编写了补丁,但是为了彻底杜绝这种可能性的发生,作者还一建议大家不要将 .asp 所在的目录设置为可读。

我想,现在各位应该已经完全了解 ASP 的服务器端设置了,下面我们就进入正题 -- 学习 ASP 的最后一个内建对象 Server。

Server 对象提供对服务器上的方法和属性的访问 , 其中大多数方法和属性是作为实用程序的功能服务的。有了 Server 对象,你就可以在服务器上启动ActiveX 对象例程,并使用 Active Server 服务提供象 HTML 和 URL 编码这样的函数。

一、语法

Server.property|method

二、属性

ScriptTimeout 超时值,在脚本运行超过这一时间之后即作超时处理。如下代码指定服务器处理脚本在 100 秒后超时。

$#@60; % Server.ScriptTimeout=100 %$#@62;

这里需要注意的是,通过使用元数据库中的 AspScriptTimeout 属性可以为 Web 服务或 Web 服务器设置缺省的 ScriptTimeout 值。ScriptTimeout 属性不能设置为小于在元数据库中指定的值。例如,如果 NumSeconds 设置为 60,而元数据库设置包含了默认值 90 秒,则脚本在 90 秒后超时。

三、方法

1、HTMLEncode 方法

HTMLEncode 方法允许你对特定的字符串进行 HTML 编码,虽然 HTML 可以显示大部分你写入 ASP 文件中的文本,但是当你需要实际包含 HTML 标记中所使用的字符,就会遇到问题。这是因为,当浏览器读到这样的字符串时,会试图进行解释。例如下面的这段文本 :

这是对 HTMLEncode 方法的测试。$#@60; br$#@62; 这里应该不会另起一行。

会被浏览器显示为 :

这是对 HTMLEncode 方法的测试。

这里应该不会另起一行。

为了避免此类问题,我们就需要使用 Server 对象的 HTMLEncode 方法,采用对应的不由浏览器解释的 HTML Character Code 替代 HTML 标记字符。所以,用下面的代码才能显示正确的 HTMLEncode 字符串,从而在浏览器中按你的需要输出文本。

$#@60; %

Response.write Server.htmlEncode(" 这是对 HTMLEncode 方法的测试。$#@60; br$#@62; 这里应该不会另起一行。")%$#@62;

2、URLEncode 方法

就象 HTMLEncode 方法使客户可以将字符串翻译成可接受的 HTML 格式一样,Server 对象的 URLEncode 方法可以根据 URL 规则对字符串进行正确编码,当字符串数据以 URL 的形式传递到服务器时,在字符串中不允许出现空格,也不允许出现特殊字符。为此,如果你希望在发送字符串之前进行 URL 编码,可以使用 Server.URLEncode 方法。

3、MapPath 方法

MapPath 方法将指定的相对或虚拟路径映射到服务器上相应的物理目录上。

?语法如下 :Server.MapPath(Path)

Path 指定要映射物理目录的相对或虚拟路径。若 Path 以一个正斜杠 (/) 或反斜杠 (\) 开始,则 MapPath 方法返回路径时将 Path 视为完整的虚拟路径。若 Path 不是以斜杠开始,则 MapPath 方法返回同 .asp 文件中已有的路径相对的路径。这里需要注意的是 MapPath 方法不检查返回的路径是否正确或在服务器上是否存在。

对于下列示例,文件 data.txt 和包含下列脚本的 test.asp 文件都位于目录 C:\Inetpub\Wwwroot\asp 下。C:\Inetpub\Wwwroot 目录被设置为服务器的宿主目录。下列示例使用服务器变量 PATH_INFO 映射当前文件的物理路径。以下脚本

$#@60; %=

server.mappath(Request.ServerVariables("PATH_INFO"))%$#@62;

输出

c:\inetpub\wwwroot\asp\test.asp

由于下列示例中的路径参数不是以斜杠字符开始的,所以它们被相对映射

到当前目录,此处是目录 C:\Inetpub\Wwwroot\asp。以下脚本

$#@60; %= server.mappath("data.txt")%$#@62;

$#@60; %= server.mappath("asp/data.txt")%$#@62;

输出

c:\inetpub\wwwroot\asp\data.txt

c:\inetpub\wwwroot\asp\asp\data.txt

4、CreateObject 方法

Server.CreateObject 恐怕是 ASP 中最为实用,也是最强劲的功能了。它用于创建已经注册到服务器上的 ActiveX 组件实例。这是一个非常重要的特性,因为通过使用 ActiveX 组件能够使你轻松地扩展 ActiveX 的能力,正是使用了ActiveX 组件,你可以实现至关重要的功能,譬如数据库连接、文件访问、广告显示和其他 VBScript 不能提供或不能简单地依靠单独使用 ActiveX 所能完成的功能。正是因为这些组件才使得 ASP 具有了强大的生命力。

其语法如下:

Server.CreateObject("Component Name")

默认情况下,由 Server.CreateObject 方法创建的对象具有页作用域。这就是说,再当前 ASP 页处理完成之后,服务器将自动破坏这些对象。如果要创建有会话或应用程序作用域的对象,可以使用 $#@60; OBJECT$#@62; 标记并设置 SESSION 或 APPLICATION 的 SCOPE 属性,也可以在对话及应用程序变量中存储该对象。如下例程 :

$#@60; % Set Session("ad") =

Server.CreateObject("MSWC.AdRotator")%$#@62;

这里需要注意的是,不能创建与内建对象同名的对象实例,否则,如下列脚本将返回错误。

$#@60; % Set Response = Server.CreateObject("Response") %$#@62;

至今为止,我们已经学习完了 ASP 所有的内建对象,不知大家是不是很兴奋?其实 ASP 是很简单的,只要大家不断的实践,相信一段时间后都不难成为ASP 的高手。从下一篇起作者将开始介绍 ASP 内建 ActiveX 组件,这也是 ASP 运用中非常重要和实用的一部分。敬请关注。

?全面解析Server对象

?Server对象提供对服务器上访问的方法和属性.大多数方法和属性是作为实用程序的功能提供的。

语法:

Server.property|method

属性(property)

Server对象只有一个属性:ScriptTimeout 程序能够运行的最大时间

方法(Methods)

CreateObject 建立一个对象实例.

Execute 执行一个asp文件

GetLastError 返回一个错误代码

HTMLEncode 对指定的HTML代码进行转换.

MapPath 将一个相对路径转化为一个绝对路径.

Transfer 将当前的所有状态信息发送给另一个asp文件

URLEncode 以URL形式转化指定的代码,包括空格

Server对象的方法详细说明

CreateObject

语法

Server.CreateObject( progID )

参数

progID

指定要创建的组件名称,格式如下: [Vendor.]Component[.Version].

要点:

一般来说,用由Server.CreateObject方法创建的对象拥有页面的范围.这就说,当这页的asp程序执行完后,这种对象会自动地消失.

为了创建一个拥有Session或Application范围的对象,你可以在

Global.asa文件中使用

实验二-ASP-NET内置对象

实验二 https://www.doczj.com/doc/5214450371.html,内置对象 注意事项:在F盘领卷文件夹里建立自己的工作目录,以自己的姓名学号作为目录名,专门存储你所做的实验程序及相关信息。 一、实验目的 (1) 熟练掌握Application、Session对象的使用。 (2) 熟练掌握Request、Response对象的使用。 (3) 掌握跨页面提交的应用。 二、实验内容 1.设计并实现一个简易聊天室 要求如下: (1) 页面浏览效果如图4-1~图4-4所示。 (2) 用户名和密码信息存储在二维数组中。 (3) 图4-2~图4-4使用框架技术。 (4) 必须包含Response、Session和Application对象的应用。 图4-1 “聊天室”浏览效果(1) 图4-2 “聊天室”浏览效果(2)

图4-3 “聊天室”浏览效果(3) 图4-4 “聊天室”浏览效果(4) 2.设计并实现同一个简易的购物车 要求如下: (1)页面浏览效果如图4-5所示

图4-5 购物车效果(1) (2) 选择相应宠物,单击放入“放入购物车”按钮,可看到供选择的宠物,如图4-6所 示。 图4-6 购物车效果(2) (3) 如图4-7所示,单击“清空购物车”按钮,将清除购物车中的宠物信息,并显示“没 有选择任何宠物”的提示信息。 图4-7 购物车效果(3) 三、实验步骤 1. 设计并实现一个简易的聊天室 (1)新建网站 新建一个网站,添加Web窗体ChatLogin.aspx、Web窗体ChatDisplay.aspx、Web 窗体SendMessage.aspx、HTML页Chat.htm和全局应用程序类Global.asax。其中ChatLogin.aspx用于聊天室用户登录;ChatDisplay.aspx用于显示聊天信息;

实验二-ASP-NET内置对象

实验二-ASP-NET内置对象

实验二 https://www.doczj.com/doc/5214450371.html,内置对象 注意事项:在F盘领卷文件夹里建立自己的工作目录,以自己的姓名学号作为目录名,专门存储你所做的实验程序及相关信息。 一、实验目的 (1) 熟练掌握Application、Session对象的使用。 (2) 熟练掌握Request、Response对象的使用。 (3) 掌握跨页面提交的应用。 二、实验内容 1.设计并实现一个简易聊天室 要求如下: (1) 页面浏览效果如图4-1~图4-4所示。 (2) 用户名和密码信息存储在二维数组中。 (3) 图4-2~图4-4使用框架技术。 (4) 必须包含Response、Session和Application 对象的应用。 图4-1 “聊天室”浏览效果(1)

图4-2 “聊天室”浏览效果(2) 图4-3 “聊天室”浏览效果(3)

图4-4 “聊天室”浏览效果(4) 2.设计并实现同一个简易的购物车 要求如下: (1)页面浏览效果如图4-5所示 图4-5 购物车效果(1) (2) 选择相应宠物,单击放入“放入购物车”

按钮,可看到供选择的宠物,如图4-6所示。 图4-6 购物车效果(2) (3) 如图4-7所示,单击“清空购物车”按钮, 将清除购物车中的宠物信息,并显示“没有选择任何宠物”的提示信息。 图4-7 购物车效果(3) 三、实验步骤 1. 设计并实现一个简易的聊天室 (1)新建网站 新建一个网站,添加Web窗体ChatLogin.aspx、Web窗体 ChatDisplay.aspx、Web窗体 SendMessage.aspx、HTML页Chat.htm和 全局应用程序类Global.asax。其中

ASP中常用的内置对象

(1)简述ASP.NET内置对象。 答:ASP.NET提供了内置对象有Page、Request、Response、Application、Session、Server、Mail和Cookies。这些对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息,以实现其他特定的状态管理和页面信息的传递。 (2)简述Response对象。 答:Response对象用来访问所创建的并客户端的响应,输出信息到客户端,它提供了标识服务器和性能的HTTP变量,发送给浏览器的信息和在cookie中存储的信息。它也提供了一系列用于创建输出页面的方法,如无所不在的Response . Write方法。 (3)简述Request对象。 答:Request对象是用来获取客户端在请求一个页面或传送一个Form时提供的所有信息,这包括能够标识浏览器和用户的HTTP变量,存储在客户端的cookie信息以及附在URL 后面的值(查询字符串或页面中< Form>段中的HTML控件内的值)。 (4)简述Application对象。 答:在https://www.doczj.com/doc/5214450371.html,环境下,Application对象来自HttpApplictionStat类。它可以在多个请求、连接之间共享公用信息,也可以在各个请求连接之间充当信息传递的管道。使用Application对象来保存我们希望传递的变量。由于在整个应用程序生存周期中,Application 对象都是有效的,所以在不同的页面中都可以对它进行存取,就像使用全局变量一样方便。 (5)简述Session对象。 答:Session对象就是服务器给客户端的一个编号。当一台WEB服务器运行时,可能有若干个用户浏览正在浏览这台服务器上的网站。当每个用户首次与这台WWW服务器建立连接时,他就与这个服务器建立了一个Session,同时服务器会自动为其分配一个SessionID,用以标识这个用户的唯一身份。特别说明的是Session对象的变量只是对一个用户有效,不同的用户的会话信息用不同的Session对象的变量存储。在网络环境下Session对象的变量是有生命周期的,如果在规定的时间没有对Session对象的变量刷新,系统会终止这些变量。 (6)简述Server对象。 答:Server对象提供对服务器上的方法和属性的访问。其中大多数方法和属性是作为实用程序的功能服务的。Server对象也是Page对象的成员之一,主要提供一些处理页面请求时所需的功能;例如建立COM对象、将字符串的编译码等工作。 (7)简述Cookie对象。 答:cookie是一小块由浏览器存贮在客户端系统上(硬盘)的文本,是一种标记。由WEB服务器嵌入用户浏览器中,以便标识用户,且随同每次用户请求发往WEB服务器。Cookies 的值比A S https://www.doczj.com/doc/5214450371.html,其他集合(例如Form和Server Variables )的值要复杂得多。 (8)简述Mail对象。 答:https://www.doczj.com/doc/5214450371.html,被赋予了一个发送Email的新对象,名为SmtpMail,实际上Mail对象由System.Web.Mail类库实现(Class Library)。这个类库由MailMessage对象、Sm tpMail 对象、MailFormat对象和MailAttachm ent对象组成,它们相互合作,完成E-m ail的发送。

ASP中包含6个无需创建即可直接调用和访问的内置对象

ASP中包含6个无需创建即可直接调用和访问的内置对象,即 Request,Response,Session,Application,Server和Cookie。当web应用程序运行时,这些对象可以用来维护有关当前应用程序、HTTP请求、web服务器的活动状态等基本信息,并为用户的HTTP请求和web服务器的处理提供桥梁作用。而在https://www.doczj.com/doc/5214450371.html,对象中,这些对象仍然存在。不同的是,在.NET框架中,这些内部对象是由封装好的类来定义的,且已成为HttpContext类(封装了特定http请求的所有信息)的属性。由于https://www.doczj.com/doc/5214450371.html,在初始化页面请求时已经自动创建了这些内部对象,因此可以直接使用它们而无需再对类进行实例化。 一、Request对象 Request对象对应https://www.doczj.com/doc/5214450371.html,中的HttpRequest类,当客户端发出请求执行https://www.doczj.com/doc/5214450371.html, 程序时,CLR会将客户端的请求信息包含在Request对象中,其中包括报头(Head)、客户端浏览器的信息(包括浏览器类型及浏览器版本号)、编码方式、请求方法(包括POST 及GET),几所带参数信息(包括参数名及参数值)等。通过使用Request对象,我们可以访问HTML基于表单的数据和通过URL发送的参数列表信息,同时还可以接受来自客户端的Cookie信息。 Request对象的调用方法如下: Request.Collection("Variable") Collection是一个属性集合,包括QueySrting,Form,cookies和ServerVariables,表示获取数据的方法。其中,QueryString用于获取HTTP查询字符串集合,Form用于获取窗体的变量集合,Cookies用于获取客户端发送的Cookie集合ServerVariable用于获取web服务器的变量集合。Collection是可以省略的,如果省略,那么Request对象会依照QueryString、Form、Cookies及ServerVariable的顺序查找,直至发现Variable 所对应的关键字为止,并返回其值;如果没有发现Variable对应的关键字,则返回空值。 当Request对象使用Form属性来获取窗体表单的数据时,一般是在窗体页面提交完成之后。窗体页面的提交方式有两种,即POST和GET。当使用POST提交方式时,窗体中的数据会作为Form集合的元素被发送到服务器端;当使用GET提交方式时,窗体中的表单数据将作为查询字符串的形式通过URL传递。此时,要得到其值,可使用Request 对象的QueryString属性。 下面来看两个分别使用POST和GET提交数据的范例: 例一:用Form的POST方式发送数据 使用POST方式发送数据

aspnet七大内置对象

aspnet七大内置对象

一、Response对象 Response对象是HttpResponse类的一个实例。该类主要是封装来自https://www.doczj.com/doc/5214450371.html,操作的HTTP响应信息。 1、Response对象的属性 属性说明属性值 BufferOutput 获取或设置一个值,该值指示是否缓冲输出,并在完成处理整个页之 后将其发送如果缓冲了到客户端的输出,则为true;否则为false。默认为true 续表 属性说明属性值 Cache获取Web页的缓存策略(过期时间、保密性、变化子句) 包含有关当前响应的缓存策略信息的HttpCachePolicy对 象 Charset获取或设置输出流的HTTP字符集输出流的HTTP字符集 IsClientConnected获取一个值,通过该值指示客户端是否仍连接在服务器上如果客户端当前仍在连接,则为true;否则为false 实例:使用缓冲区 由于Response对象的BufferOutput属性 默认为True,所以要输出到客户端的数据都暂 时存储在缓冲区内,等到所有的事件程序,以及 所有的页面对象全部解译完毕后,才将所有在缓 冲区中的数据送到客户端的浏览器。下面的例子 将演示缓冲区是如何工作的。

<% Response.Write("缓存已清除" + "
"); %> 上述程序代码实例首先在“Page_Load”事件中送出“缓存清除前”这一行,此时的数据存在缓冲区中。接着使用Response对象的Clear 方法将缓冲区的数据清除,所以刚刚送出的字符串已经被清除。然后IIS开始读取HTML组件的部分,并将结果送至客户端的浏览器。由执行结果只出现“缓存已清除”可知,使用Clear方法之前的数据并没有出现在浏览器上,所以程序

相关主题
文本预览
相关文档 最新文档