建设网站 (公司),网站的构成要素,天猫网站网址,望江县城乡建设局网站1、Application对象 Application对象是个应用程序级的对象#xff0c;用来在所有用户间共享信息#xff0c;并可以在Web应用程序运行期间持久地保持数据。 Application的属性#xff1a; 方法如下#xff1a; Application对象没有内置的属性#xff0c;但…1、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(britemApplication.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};serverjeff;uidsa;pwd;databasetest End Sub 一个数组能够被定义成Application对象不过这个数组只能作为一个对象保存而不能用Application(0)取出其值。可以定义一个临时数组实现这种功能。如 % dim Array() ArrayApplication(array) for i 0 to ubound(array) Response.write Array(i) next i % 同样要修改这个Application对象也可以定义一个临时数组把Application对象赋给数组然后修改这个数组的元素最后把数组赋回Application对象。如 % dim Array() ArrayApplication(array) Array(0)jeff Array(1)zhu Application.lock Application(array)Array Application.unlock % 2、ObjectContext对象 该对象用于控制Active Server Pages的事务处理。事务处理由Microsoft Transaction Server (MTS)管理。 事件 ObjectContext.OnTransactionAbort 由放弃的事务处理事件激发在脚本完成处理后发生。 ObjectContext.OnTransactionCommit 由成功的事务处理事件激发在脚本完成处理后发生。 方法 ObjectContext.SetAbort 显式的放弃一次事务处理。 ObjectContext.SetComplete 覆盖前面任何调用ObjectContext.SetAbort方法的调用。 3、Request对象 Request对象用于接受所有从浏览器发往你的服务器的请求内的所有信息。 集合 Request.ClientCertificate(key[SubField]) 所有客户证书的信息的集合。对于Key该集合具有如下的关键字 Subject 证书的主题。包含所有关于证书收据的信息。能和所有的子域后缀一起使用。 Issuer 证书的发行人。包含所有关于证书验证的信息。除了CN外能和所有的子域后缀一起使用。 VadidFrom 证书发行的日期。使用VBScript格式。 ValidUntil 该证书不在有效的时间。 SerialNumber 包含该证书的序列号。 Certificate 包含整个证书内容的二进制流使用ASN.1格式。 对于SubFieldSubject和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 执行脚本的名称。 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 查询体的长度以字节为单位 4、Response对象 Response对象用于向客户端浏览器发送数据用户可以使用该对象将服务器的数据以HTML的格式发送到用户端的浏览器它与Request组成了一对接收、发送数据的对象这也是实现动态的基础。下面介绍它常用的属性和方法。 1、Buffer属性 该属性用于指定页面输出时是否要用到缓冲区默认值为False。当它为True时直到整个Active Server Page执行结束后才会将结果输出到浏览器上。如 %Response.BufferTrue% html Head titleBuffer示例/title /head body % for i1 to 500 response.write(i br) next % /body /html 这页执行时整个主页的所有内容会同时显示在浏览器上这个主页会存在缓存区中直到脚本执行结束。 2、Expires属性 该属性用于设置浏览器缓存页面的时间长度单位为分必须在服务器端刷新。通过如下设置 %Response.Expires0% 通过在ASP文件中加入这一行代码要求每次请求是刷新页面因为Response一收到页面就会过期。 3、Write方法 该方法把数据发送到客户端浏览器如 %Response.write Hello,world!% 4、Redirect方法 该方法使浏览器可以重新定位到另一个URL上这样当客户发出Web请求时客户端的浏览器类型已经确定客户被重新定位到相应的页面。如 html head titleRedirect示例/title /head body form acitonformjump.asp methodpost select namewheretogo option selected valuefunFun/option option valuenewsNews/option option valuesampleSample/option /select input typesubmit namejump valueJump /form /body /html 以上是提交的表单下面是处理表单的文件formjump.asp %response.bufftrue% html head titleRedirect示例/title /head body % thisurlhttp://www.tinyu.com/; whereRequest.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.BufferTrue 在结尾定 Response.Flush 这里Flush是Response的一个方法它必须是Buffer属性设置为True时才能使用否则会产生一个运行模式错误。另外一个Clear方法也是用于清除被缓存的页面同样要Buffer属性设置为True时才能使用。 5、End方法 该方法用于告知Active Server当遇到该方法时停止处理ASP文件。如果Response对象的Buffer属性设置为True这时End方法即把缓存中的内容发送到客户并清除冲区。所以要取消所有向客户的输出民可以先清除缓冲区然后利用End方法。如 % Response.buffertrue On error resume next Err.clear if Err.number0 then Response.Clear Response.End end if % 5、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:InetpubWwwrootScript下。C:InetpubWwwroot目录被设置为服务器的宿主目录。 下列示例使用服务器变量 PATH_INFO 映射当前文件的物理路径。脚本 % server.mappath(Request.ServerVariables(PATH_INFO))%BR 输出 c:inetpubwwwrootscripttest.aspBR 由于下列示例中的路径参数不是以斜杠字符开始的所以它们被相对映射到当前目录此处是 C:InetpubWwwrootScript。脚本 % server.mappath(data.txt)%BR % server.mappath(script/data.txt)%BR 输出 c:inetpubwwwrootscriptdata.txtBR c:inetpubwwwrootscriptscriptdata.txtBR 接下来的两个示例使用斜杠字符指定返回的路径应被视为在服务器的完整虚拟路径。脚本 % server.mappath(/script/data.txt)%BR % server.mappath(script)%BR 输出 c:inetpubscriptdata.txtBR c:inetpubscriptBR 下列示例演示如何使用正斜杠 (/) 或反斜杠 () 返回宿主目录的物理路径。脚本 % server.mappath(/)%BR % server.mappath()%BR 输出 c:inetpubwwwrootBR c:inetpubwwwrootBR URLEncode URLEncode 方法将 URL 编码规则包括转义字符应用到指定的字符串。 语法 Server.URLEncode( string ) 参数 String 指定要编码的字符串。 示例 脚本 %Response.Write(Server.URLEncode(http://www.tinyu.com;)) % 输出 http%3A%2F%2Fwww%2Etinyu%2Ecom 6、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() arrayarray(李,明,男) 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 % 转载于:https://www.cnblogs.com/bliox/archive/2008/01/08/1030616.html