一、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(“
”&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表单中某一元素的名称。当某一参数具有不止一个值(比如,当在
中使用
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
用户登录asp.cn/ class=wordstyle>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%>
Buffer示例
<%
for i=1 to 500
response.write(i & “”)
next
%>
这页执行时,整个主页的所有内容会同时显示在浏览器上,这个主页会存在缓存区中直到脚本执行结束。
2、Expires属性
该属性用于设置浏览器缓存页面的时间长度(单位为分),必须在服务器端刷新。通过如下设置:
<%Response.Expires=0%>
通过在ASP文件中加入这一行代码,要求每次请求是刷新页面,因为Response一收到页面就会过期。
3、Write方法
该方法把数据发送到客户端浏览器,如:
<%Response.write “Hello,world!”%>
4、Redirect方法
该方法使浏览器可以重新定位到另一个URL上,这样,当客户发出Web请求时,客户端的浏览器类型已经确定,客户被重新定位到相应的页
面。如:
Redirect示例
以上是提交的表单,下面是处理表单的文件formjump.asp:
<%response.buff=true%>
Redirect示例
<%
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
%>
这个例子当用户选择了以后,按”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 页处理完成之后,服务器将自动破坏这些
对象。要创建有会话或应用程序作用域的对象,可以使用 标记并设置 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: ”) %>
输出 The paragraph tag:
注意 以上输出将被 Web 浏览器显示为The paragraph tag: 如果查看一下源文件或以文本方式打开一个 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”))%>
输出
c:\inetpub\wwwroot\script\test.asp
由于下列示例中的路径参数不是以斜杠字符开始的,所以它们被相对映射到当前目录,此处是 C:\Inetpub\Wwwroot\script。脚本
<%= server.mappath(“data.txt”)%>
<%= server.mappath(“script/data.txt”)%>
输出
c:\inetpub\wwwroot\script\data.txt
c:\inetpub\wwwroot\script\script\data.txt
接下来的两个示例使用斜杠字符指定返回的路径应被视为在服务器的完整虚拟路径。脚本
<%= server.mappath(“/script/data.txt”)%>
<%= server.mappath(“\script”)%>
输出
c:\inetpub\script\data.txt
c:\inetpub\script
下列示例演示如何使用正斜杠 (/) 或反斜杠 (\) 返回宿主目录的物理路径。脚本
<%= server.mappath(“/”)%>
<%= server.mappath(“\”)%>
输出
c:\inetpub\wwwroot
c:\inetpub\wwwroot
URLEncode
URLEncode 方法将 URL 编码规则,包括转义字符,应用到指定的字符串。
语法
Server.URLEncode( string )
参数
String 指定要编码的字符串。
示例
脚本 <%Response.Write(Server.URLEncode(“http://www.tinyu.com”;)) %>
输出 http%3A%2F%2Fwww%2Etinyu%2Ecom
六、Session对象
Session其实指的就是访问者从到达某个特定主页到离开为止的那段时间。每一访问者都会单独获得一个Session。在Web应用程序中,当一
个用户访问该应用时,Session类型的变量可以供这个用户在该Web应用的所有页面中共享数据;如果另一个用户也同时访问该Web应用,他也拥
有自己的Session变量,但两个用户之间无法通过Session变量共享信息,而Application类型的变更则可以实现站点多个用户之间在所有页面中
共享信息。
1、SessionID属性
该属性返回当前会话的唯一标志,为每一个Session分配不同的编号。
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) &””
%>
<%
array(0)=”天”
array(1)=”宇”
array(2)=”男”
Session(“info”)=array
Response.write Session(“info”)(0) & “-”
Response.write Session(“info”)(1) & “-”
Response.write Session(“info”)(2) & “”
%>
词条:aspnet面试题
上一篇:asp.net基础笔试题 下一篇:ASP网站有可能出现的漏洞有哪些
与该文相关的文章
上海万国商业网面试题
北京诚创易通笔试题
一套.net笔试题
Asp.net的身份验证方式有哪些,原理是什么?
南京华招网笔试题
如何加密ASP程序
介绍一下ASP的内置对象及作用
ASP网站有可能出现的漏洞有哪些
ASP.NET 中页面传参的几种方法
南京乾坤笔试题
面试题库导航
C++面试题
JAVA面试题
Oracle面试题
MySQL面试题
Linux面试题
网络工程师面试题
网管面试题
软件工程师面试题
PHP面试题
.net面试题
软件测试面试题
EJB面试题
Spring面试题
Javascript面试题
Python面试题
QTP面试题
Servlet面试题
J2EE面试题
Database面试题
ASP面试题
Unix面试题
Loadrunner面试题
通信面试题
嵌入式面试题
Ruby面试题
Delphi面试题
Mobile开发面试题
SOA面试题
JAVA面试题面试题
研发工程师面试题
软件架构师面试题
系统工程师面试题
Android面试题
JAVA程序员
C#面试题
面试题库更新
上海万国商业网面试题
北京诚创易通笔试题
一套.net笔试题
Asp.net的身份验证方式有哪些,原理是什么?
南京华招网笔试题
如何加密ASP程序
介绍一下ASP的内置对象及作用
ASP网站有可能出现的漏洞有哪些
ASP.NET 中页面传参的几种方法
南京乾坤笔试题
温馨提示:如果您对面试网有任何建议,请通过网站联系邮箱向我们反馈,感谢各位的建议与支持!
mianshila.com提供面试自我介绍,面试技巧,个人简历模板,简历范文,简历封面,自我评价,自我鉴定等求职简历信息。
Copyright © 面试啦 版权所有 2015-2025 浙ICP备15028669号
联系邮箱:vget#qq.com
656