日期:2010-04-11 浏览次数:21170 次
现在我们要系统地了解一下ASP的对象结构,然后,大家就可以举一反三,不用我过多解释每一个例子了。这一部分,可能有些困难。 一、Request Request对象把客户信息保存在几个集合中,供ASP应用使用。通用的访问方法为:Request.Collection("membername") 当你不指定集合名时,以(1)QueryString,(2)Form,(3)Cookie和(4)ServerVariable 的顺序搜索所有集合,当发现第一个匹配的变量时,就认定他是要引用的成员。当然,为了提高效率,你最好显式指定是那个集合中的成员。 QueryString集合 当HTML表单使用GET方法向ASP文件传递数据时,数据被保存在集合QueryString中。其成员可以具有与之相关的多个值,也就是说,同一个表单中,多个元素可以有相同的名字,下面的代码访问这些数据: <%For each item in Request.QueryString("Name") Response.write Item &"<br>" Next %> Form集合 当表单用POST方法时,数据被保存在Form集合中。 ServerVariable集合 保存了随HTTP请求一起传送HTTP头的信息,可以通过他获取有关浏览器的信息,主要成员有: REMOTE_ADDR 远程主机IP地址 REMOTE_HOST 远程主机名称 REMOTE_USER 客户名称 REQUEST_METHOD 请求方法(如POST,GET,HEAD) SERVER_NAME 服务器名 SERVER_PROTOCOL 服务器版本号(如HTTP/1。0) 二、Response对象 用来控制向客户返回的HTML的内容,有若干属性和方法。下面介绍我认为重要的: Buffer属性 如果为True,则Response的内容要写入缓冲区,当脚本处理完时再发给客户。 Status属性 传递HTTP Response报文的状态。服务器返回的状态代码由三位数字组成,可以用于测试阶段和转换控制到其他站点(即Forward) Write方法 向客户输出HTML,可以是任何合法的HTML脚本。 Redirect方法 使浏览器重新定向到另外一个URL上,如: <%browsetype=Request.ServerVariables("HTTP_USER_AGENT") IF Left(browsetype,11)="Mozilla/2.0" then Response.Redirect "FancyStart.asp" Else Response.Redirect "OldStart.asp" End if%> Clear方法 如果设Buffer属性为True,则Clear方法清楚所有缓冲区内容。 Flush方法 将缓冲内容立即发送给客户。 End方法 当Active Server遇到该方法时,立即停止处理ASP文件,如果有缓冲,立即发送内容到客户。 BinaryWrite方法 输出二进制数据 三、Request对象和Response对象的Cookies集合 1.写入Cookies Response.Cookies("Cookie名称")[("键名称").属性]=值 如果该Cookie已经存在,则值被新值替代,否则,创建该cookie 例如: <% Response.Cookies("NewCookie")="New Cookie Value" %> 2.读取Cookies 如: <%=Request.Cookies("NewCookie")%> Cookie还有一些属性,请参见有关资料。 四、Application对象 Active Server应用程序是虚拟目录及其子目录下的所有文件,即一个WEB。可以使用Application对象在应用软件的所有用户中共享信息,并可以在服务器运行期间持久地保存数据。他有一些控制访问应用层数据的方法和事件。 Application本身没有内置属性,可以有用户定义:Application("属性名")=值 保存在Application对象中的数据可以被Application的所有用户读取。如用来做访问记数:Application("aVisits")=Application("aVisits")+1 方法有两个: Lock: 当用户调用Lock时,只有当前用户能够编辑或增加Application对象的属性。 Unlock: 一定要记住,调用了Lock,完成时一定要调用Unlock. 事件也有两个: Application_OnStart事件:应用程序启动时调用。 Application_OnStart事件:应用程序终止时调用。 这两个事件再加上Session的两个事件的处理程序都放在文件Global.asp中,一个Web应用只有一个Global.asa文件,且放在该应用的根目录下。一个Global.asp文件的例子如下: <Script Language="VBScript" Runat="Server"> Sub Application_OnStart Dim laChats(15) Application("gaChats")=maChats Application("giCounter")=0 End Sub 五、Session对象 Active Server使用会话设置为使用应用程序的单个用户持久保持数据。当用户请求Active Server应用程序中ASP文件的URL时,要启动Session。在缺省情况下,如果没有用户请求,则服务器只保留Session20分钟。用户也可以通过设Session的属性TimeOut来改变。或显示地调用Session.Abandon方法来释放Session对象。 SessionID属性 唯一标识一个会话的标识符。 TimeOut属性 定义Session保留的时限,单位为分钟,如Session.TimeOut=10 像Application一样,Session也可由用户来定义属性。 Session的唯一方法是Abandon,用来取消用户的Session对象,并释放其占用的服务器资源。如:<%Session.Abandon%> 事件有Session_OnStart和Session_OnEnd,其处理程序应放在文件Glabal.asa中。 六、Server对象 1.HTMLEncode方法 对特定的字符串进行HTML编码,如你本来要显示下列内容: The Underline tag(<u></u>) is used to underline the surrounded text. 但很可能实际显示成: The Underline tag() is used to underline the surrounded text. 为了避免这种情况,可以调用Server对象的HTMLEncode方法,如: <% Response.Write Server.HTMLEncode("The Underline tag(<U></U>) is used to underline t
免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
|