ASP内置对象

ASP内置对象(二)
#INCLUDE 指令用于动态向网页插入文件内容 。
Application 对象表示 ASP 应用程序的实例。它包括与应用程序相关的所有方法和集合。
Server 对象充当 HTTP 服务的接口并且提供对 HTTP 服务器的属性和方法的访问。
Server 对象有四种方法,它们用于控制 Web 服务器的各种功能。
Session和Cookies
HTTP协议没有任何可用于维护用户信息的功能。用户的每个网页请求都被视为新用户的请求。一旦WEB服务器向客户浏览器发送网页之后,它就会关闭这个连接。
SESSION是对于此问题的服务器端解决方案,而COOKIES则是用于维护用户状态的客户解决方案。
Session 对象
Session 对象用于存储有关用户的信息。
在整个用户会话过程中都会保留此信息。
当用户在应用程序中从一个网页浏览到另一个网页时,存储在 Session 对象中的变量不会被丢弃。
SessionID
每当新用户从应用程序请求网页时,Server对象都会检查用户是否具有SessionID.
SesisonID包括在请求HTTP头中。如果用户具有有效的SesisonID,用户则被视为“活动的”,并继续运行应用程序。
如果Server对象不能识别http头中的SessionID,Server对象就会为这个用户创建一个会话。
Session 对象的优点
Session对象包含专门用于特定用户的信息,这些信息不能由应用程序的其他用户共享或访问。
当用户向服务器提出其他请求时,该用户 ID 会在客户端和服务器之间进行传输。
当会话过期或者终止时,服务器会销毁该 Session 对象。
session的启动和结束
会话会在下列情况下启动:
 新用户请求 ASP 文件,且 Global.asa 文件包括Session_OnStart 过程时。
 Session 变量中存储一个值时。
 用户请求 ASP 文件,且 Global.asa 文件使用 <object> 标记实例化具有会话范围的对象时。
会话会在下列情况下结束:
 如果用户在应用程序中未请求或者未刷新网页的 时间达到了 Timeout 属性指定的时间。此属性的 默认值为 20 分钟。
 如果会话已经被放弃。
session变量
会话变量只可由该会话的用户访问
应用程序的其他用户不能访问或修改会话变量
使用会话变量
<HTML>
<HEAD>
<TITLE>使用会话变量</TITLE>
</HEAD>
<BODY>
此网页向名为 mytime 的变量赋值
<BR>
   <%
   Session("mytime") = formatdatetime(now, vblongformat)
   %>
<BR>
<%=Session("mytime")%>
</BODY>
</HTML>
访问会话变量
<HTML>
<HEAD>
   <TITLE>使用会话变量</TITLE>
</HEAD>
<BODY>
   这是第 2 页
   <BR>
   <%=Session("mytime")%>
</BODY>
</HTML>
SessionID属性
<HTML>
<BODY>
   <% 
      Response.Write(Session.SessionID)
   %>
</BODY>
</HTML>
包含唯一的用户会话标识符。
TimeOut属性
TimeOut 属性用于以分钟为单位指定 Session 对象在资源被释放之前可保持不活动状态的持续时间。
<%
response.write("<p>")
response.write("默认超时时间为:" & Session.Timeout)
response.write("</p>")
Session.Timeout=30
response.write("<p>")
response.write("现在的超时时间为:" & Session.Timeout)
response.write("</p>")
%>
Abandon 方法:用于显式结束会话。
<%
Session("Name")="Graham"
Response.Write("会话变量 Name 的值 (放弃会话<B>之前</B>): " & Session("Name") & "<BR><BR>")
Session.Abandon
Response.Write("会话变量 Name 的值(放弃会话<B>之后</B>): " & Session("Name"))
%>
Global.asa 文件
ASP 应用程序使用Global.asa文件来维护有关应用程序全局事件和对象的信息。
Global.asa 文件包含一些子程序,这些子程序将在响应某些事件时被激活。
Application_OnStart 事件在启动应用程序时触发。
Application_OnEnd 事件在结束应用程序时触发。
Session_OnStart 事件在用户启动会话时触发。
Session_OnEnd 事件在用户结束会话时触发。
Global.asa 文件的结构
启动应用程序时,将触发 Application_OnStart 事件。
对于访问应用程序的每个用户,都将启动单独的 Session。
当用户从应用程序退出时,将为该特定用户触发 Session_OnEnd 事件。
应用程序全部关闭时,将触发 Application_OnEnd 事件。
可以向 global.asa 文件的子程序添加脚本,以完成下列任务:
 初始化应用程序或者会话级别的变量
 连接数据库
 发送 Cookies
 使用可在整个应用程序中使用的<object>标记创建对象的实例。
Global.asa 文件中不能包含任何 HTML 标记或者 Response.Write 语句。
新用户访问 ASP 应用程序时,将触发 Session_OnStart 事件。
Sub Session_OnStart()
homePage = "/index.asp"
visitPage = Request.ServerVariables("SCRIPT_NAME")
If not(strcomp(homePage,visitPage,vbTextCompare)=0) Then
 Response.Redirect homePage
End If
End Sub
Session_OnEnd
<script language="vbscript" runat="server">
?Sub Application_OnStart()
 Session.Timeout = 3
 Application.Lock
     Application("Visitors")=0
     Application("TotalVisitors")=0
 Application.unlock
End Sub
Sub Application_OnEnd()
  ’将Application("TotalVisitors")的值记录在一个文本文件中或保存在数据库中
End Sub
Sub Session_OnStart()
  Application.Lock
     Application("Visitors")=Application("Visitors")+1
     Application("TotalVisitors") = Application("TotalVisitors")+10
  Application.UnLock
End Sub?
Sub Session_OnEnd()
  Application.Lock
  Application("Visitors")=Application("Visitors")-1
  Application.UnLock
End Sub
</script>
Session_OnEnd 输出
<%Response.Expires = 0%>
<HTML>
<BODY>
<p>现在有 <%=Application("visitors")%> 个在线用户!</p>
<p>现在共有 <%=Application("TotalVisitors")%> 个用户浏览过我的网站!</p>
</BODY>
</HTML>
即使刷新该网页,也不会累加在线人数和总的访问量。如果在另一个浏览窗口中打开此页,才会累加在线人数和访问量。如果当一个会话已经超时或被放弃,则会驱动Session_OnEnd事件,使当前在线人数减1。

Cookie 是一个小的信息包,用于维护用户计算机的状态信息。
 Cookies 可以是:
 临时性的 : Cookie 在用户离开网站时将过期。
 永久性的 : Cookie 一直保存在客户机中,当用户下一次访问该网站时可由 Web 服务器读取。
Cookie 通过 HTTP 头从 Web 服务器发送到客户端浏览器,然后又通过 HTTP 头发送回 Web 服务器。
第一次启动会话时,服务器将使用Set-Cookie 头向客户端浏览器发送一个 Cookie。
用户每次请求网页时,该 Cookie 都将在 Cookie 头中被发送到服务器。
Expires 属性用于指定 Cookie 将在哪一天过期
<%
Response.Cookies ("UserName") = "Linda Roberts"
Response.Cookies ("UserName").ExpiresAbsolute = #Jun 30, 2003#
%>
<%=Request.Cookies ("UserName") %>
Path属性
该属性定义Cookie要传送的唯一域。
<%
response.cookies("domain").Domain=" [url]www.microsoft.com[/url]
%>
向 Cookies 赋值
Response 对象的 Cookies 集合用于在 Active Server Pages 中创建 Cookies
语法
       Response.Cookies (cookiename) [(key) |  .attribute] = value
示例
<%
   Response.Cookies ("UserName") =  "John Cruise"
%>
向 Cookies 赋值参数说明
Cookiename Cookies 的名称
Key 这是可选参数。如果使用关键字,Cookies 则会成为dictionary,并要为该关键字设置一个值。
Attribute 此参数用来指定 Cookie 的相关信息。可为下列内容:
Domain:如果指定此属性,则只对来自指定域的请求发送 Cookies。
Expires:此属性指定 Cookies 的过期日期。
Path:如果指定此属性,则只有请求位于指定路径中的网页时才发送 Cookies。
Secure:此属性用于指定该 Cookie 是否安全。
Value 赋给关键字或属性的值。
Cookies 的类型
具有单个值的 Cookie
<%
Response.Cookies ("UserName") = "John Cruise"
Response.Cookies ("UserName") .Path = "/Platinum"
Response.Cookies ("UserName") .Domain = ".Platinum.com"
Response.Cookies ("UserName") .Secure = True
%>
具有几个名称/值对信息的 Cookie  Dictionary
<%
   Response.Cookies ("User") ("Name") = "John Cruise"
   Response.Cookies ("User") ("Password") = "smallgun"
%>
Set-Cookie: User=Name= John+Cruise&Password=smallgun
通过Request/cookies检索数据
Cookiename Cookies 的名称。
Key 这是可选参数。如果要检索的是一个Cookie Dictionary,则要使用关键字。
Attribute 此参数用来指定 Cookie 的相关信息。
通过Request/cookies检索数据
要从 Cookie中检索信息,则必须指定该 Cookie的名称。
    <%=Request.Cookies ("User") %>
如果想检索一个Cookie Dictionary的特定关键字,则必须传递这些关键字的名称。
        <%=Request.Cookies ("User") ("Name") %>
    <%=Request.Cookies ("User") %>
如果想检索 Cookies 集合中的所有 Cookies,则可以使用 For .. . Next 循环。
HasKeys 属性用于检查 Cookie 是否有关键字

Session 对象用于存储有关用户的信息。在整个用户会话过程中都会保留此信息。
ASP 应用程序使用一个特殊的文件来维护应用程序全局事件和对象的信息,该文件称为 Global.asa。
Cookie 是一个小的信息包,用于维护用户计算机的状态信息。Cookie 可以是临时性的,也可以是永久性的
 
 

本文出自 “飞翔我的世界” 博客,谢绝转载!

你可能感兴趣的:(职场,对象,asp,休闲)