您现在的位置是:首页 >

老物件吧 ASP的六大内部物件

火烧 2022-04-19 10:09:49 1094
ASP的六大内部物件 ASP的六大内部物件ASP六大物件介绍A licatio 物件A licatio 物件是个应用程式级的物件,用来在所有使用者间共享资讯,并可以在We 应用程式执行期间持久地保持资

ASP的六大内部物件  

ASP的六大内部物件

ASP六大物件介绍
Application物件
Application物件是个应用程式级的物件,用来在所有使用者间共享资讯,并可以在Web应用程式执行期间持久地保持资料。
Application的属性:
方法如下:
Application物件没有内建的属性,但是我们可以自行建立其属性。
<% Application("属性名")=值 %>
其实大部分Application变数都 存放在Contents集合中,当你建立一个新的Application变数时,其实就是在Contents集合中添加了一项。下面两个指令码是等效的:
<% Application("greeting")="hello!" %> 或 <% Application.contents("greeting")="hello!"由于Application变数存在集合里,所以如果想要全部显示,其方法我们已经多次使用,例如For Each回圈。
<%
For Each item IN Application.Contents
Response.write("<br>"&item&Application.Contents(item))
next
%>
Application的方法:
Application的方法只有两个方法:一个是Lock,另一个是Unlock。其中Lock方法用于保证同一时刻只能一个使用者对Application操作。Unlock则用于取消Lock方法的限制。如:
<%
Application.Lock
Application("visitor_num")=Application("visitor_num")+1
Application.Unlock
%>
Application的事件:
1、Application_OnStart()
当事件应用程式启动时触发。
2、Application_OnEnd()
此事件应用程式结束时触发。
这两个事件过程都是必须定义在Global.asp档案中,一般把连线资料的函式定义在这两个事件,然后放在Global.asp中。例如:
Sub Application_OnStart
Application("tt18_ConnectionString") = "driver={SQL
Server};server=jeff;uid=sa;pwd=;database=test"
End Sub
一个数组能够被定义成Application物件,不过这个阵列只能作为一个物件储存,而不能用Application(0)取出其值。可以定义一个临时阵列实现这种功能。如:
<%
dim Array()
Array=Application("array")
for i = 0 to ubound(array)
Response.write Array(i)
next i
%>
同样要修改这个Application物件也可以定义一个临时阵列,把Application物件赋给阵列,然后修改这个阵列的元素,最后把阵列赋回Application物件。如:
<%
dim Array()
Array=Application("array")
Array(0)="jeff"
Array(1)="zhu"
Application.lock
Application("array")=Array
Application.unlock
%>
ObjectContext物件
该物件用于控制Active Server Pages的事务处理。事务处理由Microsoft Transaction Server (MTS)管理。
事件
ObjectContext.OnTransactionAbort
由放弃的事务处理事件激发,在指令码完成处理后发生。
ObjectContext.OnTransactionCommit
由成功的事务处理事件激发,在指令码完成处理后发生。
方法
ObjectContext.SetAbort
显式的放弃一次事务处理。
ObjectContext.SetComplete
覆蓋前面任何呼叫ObjectContext.SetAbort方法的呼叫。
Request物件

Request物件用于接受所有从浏览器发往你的伺服器的请求内的所有资讯。
集合
Request.ClientCertificate(key[SubField])
所有客户证书的资讯的集合。对于Key,该集合具有如下的关键字:
Subject
证书的主题。包含所有关于证书收据的资讯。能和所有的子域字尾一起使用。
Issuer
证书的发行人。包含所有关于证书验证的资讯。除了CN外,能和所有的子域字尾一起使用。
VadidFrom
证书发行的日期。使用VBScript格式。
ValidUntil
该证书不在有效的时间。
SerialNumber
包含该证书的序列号。
Certificate
包含整个证书内容的二进位制流,使用ASN.1格式。
对于SubField,Subject和Issuer关键字可以具有如下的子域字尾:(比如:SubjectOU或IssuerL)
C
起源国家。
O
公司或组织名称。
OU
组织单元。
CN
使用者的常规名称。
L
区域性。
S
州(或省)。
T
个人或公司的标题。
GN
给定名称。
I
初始。
当档案cervbs.inc(VBScript使用)或cerjavas.inc(Jscript使用)通过使用#INCLUDE导向包含在你的Active Server Page里时,下面两个标志可以使用:
ceCertPresent
指明客户证书是否存在,其值为TRUE或FALSE。
ceUnrecongnizedIssure
指明在该连结串列中的最后的证书的发行者是否未知,其值为TRUE或FALSE。
Request.Cookies(Cookie[(key).Attribute])
Cookie的集合。允许获得浏览器的Cookie。Cookie指明返回那一个Cookie。Key用于从Cookie字典中返回具有某一关键字的Cookie值。对于Attribute,你能使用属性HasKeys来确定某一Cookie是否具有子关键字。HasKeys的值为TRUE或FALSE。
Request.Form(Parameter)[(Index).Count]
填写在HTML的表单中所有的资料的集合。Parameter是在HTML表单中某一元素的名称。当某一引数具有不止一个值(比如,当在<SELECT>中使用MULTIPLE属性时)时,使用Index。当某一引数具有多值时,Count指明多值个数。
Request.QueryString(Varible)[(Index).Count]
查询字串的所有值的集合。Varible是在查询字串某一变数的名称。当某一变数具有多于一个值时,使用Index。当某一引数具有多值时,Count指明值的个数。
Request.ServerVaribles(Server Environment Variable)
环境变数的集合。允许读取HTTP头。你可以通过使用HTTP_字首来读取任何头资讯。比如,HTTP_USER_AGENT接受客户代理HTTP头(浏览器型别)。除此外,你可以使用下表所示的变数获得任何环境资讯。
ALL_HTTP
客户端传送的所有HTTP标头,他的结果都有字首HTTP_。
ALL_RAW
客户端传送的所有HTTP标头,其结果和客户端传送时一样,没有字首HTTP_
APPL_MD_PATH
应用程式的元资料库路径。
APPL_PHYSICAL_PATH
与应用程式元资料库路径相应的物理路径。
AUTH_PASSWORD
当使用基本验证模式时,客户在密码对话方块中输入的密码。
AUTH_TYPE
这是使用者访问受保护的指令码时,伺服器用于检验使用者的验证方法。
AUTH_USER
代验证的使用者名称。
CERT_COOKIE
唯一的客户证书ID号。
CERT_FLAG
客户证书标志,如有客户端证书,则bit0为0。如果客户端证书验证无效,bit1被设定为1。
CERT_ISSUER
使用者证书中的发行者栏位。
CERT_KEYSIZE
安全套接字层连线关键字的位数,如128。
CERT_SECRETKEYSIZE
伺服器验证私人关键字的位数。如1024。
CERT_SERIALNUMBER
客户证书的序列号栏位。
CERT_SERVER_ISSUER
伺服器证书的发行者栏位
CERT_SERVER_SUBJECT
伺服器证书的主题栏位。
CERT_SUBJECT
客户端证书的主题栏位。
CONTENT_LENGTH
客户端发出内容的长度。
CONTENT_TYPE
客户传送的form内容或HTTP PUT的资料型别。
GATEWAY_INTERFACE
伺服器使用的闸道器介面。
HTTPS
如果请求穿过安全通道(SSL),则返回ON。如果请求来自非安全通道,则返回OFF。
HTTPS_KEYSIZE
安全套接字层连线关键字的位数,如128。
HTTPS_SECRETKEYSIZE
伺服器验证私人关键字的位数。如1024。
HTTPS_SERVER_ISSUER
伺服器证书的发行者栏位。
HTTPS_SERVER_SUBJECT
伺服器证书的主题栏位。
INSTANCE_ID
IIS例项的ID号。
INSTANCE_META_PATH
响应请求的IIS例项的元资料库路径。
LOCAL_ADDR
返回接受请求的伺服器地址。
LOGON_USER
使用者登入Windows NT的帐号
PATH_INFO
客户端提供的路径资讯。
PATH_TRANSLATED
通过由虚拟至物理的对映后得到的路径。
QUERY_STRING
查询字串内容。
REMOTE_ADDR
发出请求的远端主机的IP地址。
REMOTE_HOST
发出请求的远端主机名称。
REQUEST_METHOD
提出请求的方法。比如GET、HEAD、POST等等。
SCRIPT_NAME
执行指令码的名称。
SERVER_NAME
伺服器的主机名、DNS地址或IP地址。
SERVER_PORT
接受请求的伺服器埠号。
SERVER_PORT_SECURE
如果接受请求的伺服器埠为安全埠时,则为1,否则为0。
SERVER_PROTOCOL
伺服器使用的协议的名称和版本。
SERVER_SOFTWARE
应答请求并执行闸道器的伺服器软体的名称和版本。
URL
提供URL的基本部分。
方法
Request.BinaryRead(Count)
接收一个HTML表单的未经过处理的内容。当呼叫此方法时,Count指明要接收多少位元组。在呼叫此方法后,Count指明实际上接收到多少个位元组。
属性
Request.TotalBytes
查询体的长度,以位元组为单位
Response物件
Response物件用于向客户端浏览器传送资料,使用者可以使用该物件将伺服器的资料以HTML的格式传送到使用者端的浏览器,它与Request组成了一对接收、传送资料的物件,这也是实现动态的基础。下面介绍它常用的属性和方法。
1、Buffer属性
该属性用于指定页面输出时是否要用到缓冲区,预设值为False。当它为True时,直到整个Active Server Page执行结束后才会将结果输出到浏览器上。如:
<%Response.Buffer=True%>
<>
<Head>
<title>Buffer示例</title>
</head>
<body>
<%
for i=1 to 500
response.write(i & "<br>")
next
%>
</body>
</>
这页执行时,整个主页的所有内容会同时显示在浏览器上,这个主页会存在快取区中直到指令码执行结束。
2、Expires属性
该属性用于设定浏览器快取页面的时间长度(单位为分),必须在伺服器端重新整理。通过如下设定:
<%Response.Expires=0%>
通过在ASP档案中加入这一行程式码,要求每次请求是重新整理页面,因为Response一收到页面就会过期。
3、Write方法
该方法把资料传送到客户端浏览器,如:
<%Response.write "Hello,world!"%>
4、Redirect方法
该方法使浏览器可以重新定位到另一个URL上,这样,当客户发出Web请求时,客户端的浏览器型别已经确定,客户被重新定位到相应的页面。如:
<>
<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>
</>
以上是提交的表单,下面是处理表单的档案formjump.asp:
<%response.buff=true%>
<>
<head>
<title>Redirect示例</title>
</head>
<body>
<%
thisurl=":tinyu./";
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>
<>
这个例子当用户选择了以后,按"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.] ponent[.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:IpubWwwrootScript下。C:IpubWwwroot目录被设定为伺服器的宿主目录。
下列示例使用伺服器变数 PATH_INFO 对映当前档案的物理路径。指令码
<%= server.mappath(Request.ServerVariables("PATH_INFO"))%><BR>
输出
c:ipubrootscripttest.asp<BR>
由于下列示例中的路径引数不是以斜杠字元开始的,所以它们被相对对映到当前目录,此处是 C:IpubWwwrootScript。指令码
<%= server.mappath("data.txt")%><BR>
<%= server.mappath("script/data.txt")%><BR>
输出
c:ipubrootscriptdata.txt<BR>
c:ipubrootscriptscriptdata.txt<BR>
接下来的两个示例使用斜杠字元指定返回的路径应被视为在伺服器的完整虚拟路径。指令码
<%= server.mappath("/script/data.txt")%><BR>
<%= server.mappath("script")%><BR>
输出
c:ipubscriptdata.txt<BR>
c:ipubscript<BR>
下列示例演示如何使用正斜杠 (/) 或反斜杠 () 返回宿主目录的物理路径。指令码
<%= server.mappath("/")%><BR>
<%= server.mappath("")%><BR>
输出
c:ipubroot<BR>
c:ipubroot<BR>
URLEncode
URLEncode 方法将 URL 编码规则,包括转义字元,应用到指定的字串。
语法
Server.URLEncode( string )
引数
String 指定要编码的字串。
示例
指令码 <%Response.Write(Server.URLEncode(":tinyu.";)) %>
输出 %3A%2F%2F%2Etinyu%2E
Session物件
Session其实指的就是访问者从到达某个特定主页到离开为止的那段时间。每一访问者都会单独获得一个Session。在Web应用程式中,当一个使用者访问该应用时,Session型别的变数可以供这个使用者在该Web应用的所有页面中共享资料;如果另一个使用者也同时访问该Web应用,他也拥有自己的Session变数,但两个使用者之间无法通过Session变数共享资讯,而Application型别的变更则可以实现站点多个使用者之间在所有页面中共享资讯。
1、SessionID属性
该属性返回当前会话的唯一标志,为每一个Session分配不同的编号。
我曾在开发过程中就遇到对使用者的控制问题。它要实现的功能就是,针对某个网站的一个模组,当一个会员登入后正在看此模组时,另一个人用同样的会员名登入,就不能浏览这个模组。也就是说一个会员名同时只能一个人浏览此模组。我通过用会员名(假设为UserID,唯一)和SessionID来实现了控制。当会员登入时,给这个会员一个Session记录登入状态如:Session("Status")="Logged",同时把这个会员的Session.SessionID写入资料库。当他要浏览此模组时,先判断其是否登入,若已经登入再判断它的SessionID是否与资料库记录的相同,如果不同则不能访问。这样,当另一个使用者用相同的会员名登入时,那么资料库中记录的就是新的SessionID,前者访问此模组时就不能通过检查。这就实现了一个会员名同时只能一个人浏览某个模组。这个功能在一些收费网站有很有特别作用,它防止了一个会员名给多个人浏览的问题,为公司保障了利益。
2、TimeOut属性
该属性用来定义使用者Session物件的时限。如果使用者在规定的时间内没有重新整理网页,则Session物件就会终止。一般预设为20分钟。
3、Abandon方法
该方法是Session物件的唯一方法,可以清除Session物件,用来消除使用者的Session物件并释放其所占的资源。如: <% Session.Abandon %>
4、Session_OnStart和Session_OnEnd事件
和Application一样,当物件的例程每一次启动时触发Session_OnStart事件,然后执行Session_Onstart事件的处理过程。也就是说,当伺服器接收到应用程式中的URL的HTTP请求时,触发此事件,并建立一个Session物件。同理,这个事件也必须定在Global.asa档案中。
当呼叫Session.Abandon方法时或者在TimeOut的时间内没有重新整理,这会触发Session_OnEnd事件,然后执行里面的指令码。Session变数与特定的使用者相联络,针对某一个使用者赋值的Session变数是和其他使用者的Session变数完全独立的,不会存在相互影响。
Session应用一列:
与Application一样,一个被定义为Session型别的阵列只能将整个阵列作为一个物件,使用者不能直接改变Session阵列中某个元素的值。为了建立一个Session阵列,需先定义一个普通的阵列,并对它的每一个元素赋初值,最后把它定义为一个Session阵列。如:
<%
dim array()
array=array("李","明","男")
Session("info")=array
Response.write Session("info")(0) &"-"
Response.write Session("info")(1) &"-"
Response.write Session("info")(2) &"<br>"
%>
<hr>
<%
array(0)="天"
array(1)="宇"
array(2)="男"
Session("info")=array
Response.write Session("info")(0) & "-"
Response.write Session("info")(1) & "-"
Response.write Session("info")(2) & "<br>"
%>
转自:动态网制作指南 knowsky.

js的内部物件

在JavaScript中对于物件属性与方法的引用,有两种情况:其一是说该物件是静态物件,即在引用该物件的属性或方法时不需要为它建立例项;而另一种物件则在引用它的物件或方法是必须为它建立一个例项,即该物件是动态物件。对JavaScript内部物件的引用,以是紧紧围绕着它的属性与方法进行的。因而明确物件的静动性对于掌握和理解JavaScript内部物件是具有非常重要的意义。
1、串物件
string物件:内部静态性。 访问properties和methods时,可使用(.)运算子实现。
·基本使用格式: objectName.prop/methods 算术函式的math物件。
·功能:提供除加、减、乘、除以外的一引些自述运算。如对数,平方根等 。
·静动性:静态物件
2、日期及时间物件
·功能:提供一个有关日期和时间的物件。
·静动性:动态性,即必须使用New运算子建立一个例项。
此外,JavaScript还有Array物件,浏览器和HTML等物件。其中HTML物件模型中的物件具有一般物件程式语言的特性,具有属性、方法、和事件。这些物件都与网页页面能为使用者提供的资讯和互动性的好坏有很大的关系。

引用JavaScript内部物件与引用文件物件有什么区别?

简单来说,document是window的一个物件属性。
Window 物件表示浏览器中开启的视窗。
如果文件包含框架(frame 或 iframe 标签),浏览器会为 HTML 文件建立一个 window 物件,并为每个框架建立一个额外的 window 物件。
所有的全域性函式和物件都属于Window 物件的属性和方法。
document 对 Document 物件的只读引用。

ASP中最常用的六大物件及其属性

response物件
response.buffer属性
response.contenttype属性
request物件
request.totalbytes只有一个属性
request.binaryread方法
server物件
server.scripttimeout只有这一属性
server.creatobject方法
application物件
只有集合方法事件
APPLICATION.LOCK方法
APPLICATION.UNLOCK方法
session物件
session.timeout属性
session.codepage属性
五大物件,另外加下面的6个物件共11个物件
file物件
objectcontext物件
filesystemobject物件
textstream物件
folder物件
drive物件

获取表单form提交的引数,通常使用的内部物件是哪两个方法

送你一个 抽取百度首页 import java.io.ByteArrayOutputStream; import java.1、动态ActionForm 动态ActionForm是为了避免标准ActionForm膨胀而设计的,使用

jsp的9大内建物件?

application,config,exception,out.pageContext,request,response,session

jsp的九大内建物件

写 个最简单的 JSP 里面就一行 out.println(); 执行它,然后到 tomcat 的 tmp 或 work 目录下去找编译出来的 class,或相应的 java 档案。你能看到它生成了一个 servlet,这个 servlet 类定义了几个成员变数,这就是所谓 JSP X 大内建物件。它没有任何神祕色彩,仅仅是普通的成员变数并且在呼叫你的程式码之前已经被初始化了。

老物件吧 ASP的六大内部物件

jsp九大内建物件: 对应servlet中的java物件
page this
pageContext PageContext
request HttpServletRequest
response HttpServletResponse
config ServletConfig
exception Throwable
out JspWriter
session HttpSession
application ServletContext

求一个聊天室程式ASP的,要求只用ASP的六大物件,不能用资料库

本人做了一个简单的ASP+AJAX 聊天室,就两个档案!(不用资料库)
需要加我QQ: 313736627

  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码