ASP实用大全-ASP基础_第1页
ASP实用大全-ASP基础_第2页
ASP实用大全-ASP基础_第3页
ASP实用大全-ASP基础_第4页
ASP实用大全-ASP基础_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ASP学习前准备 对ASP有了一个大概的了解之后就可以开始着手做一些学习前的准备了。 HTML语言 ASP以HTML为基础,主体还是HTML代码,只是在需要ASP动态产生的地方加入ASP代码。ASP的最终显示结果也是HTML代码,要准确控制ASP的输出结果,也要求对HTML有完全的了解。要学ASP,HTML的知识绝对不能缺乏。 Script 语言(JavaScript or VBScript) ASP的编程语言可以是VBSCRIPT或JSCRIPT。你可以根据自己的情况,选用比较熟悉的编程语言。由于VB广泛的用户群,脱胎于VB的VBSCRIPT被大多数人选用。Microsoft Script的

2、站点在/scripting/。 ASP的历史Microsoft最早在IIS3(INTERNET INFORMATION SERVER)引进ASP,ASP1.0是IIS2-$#62;IIS3升级的最重要部分。Microsoft提供了一个asp.exe,直接安装在web服务器上。asp.exe提供了一个RoadMap,包含ASP教程、参考,还有一个完整的ASP网站示例。只是这时的ASP只有英文版,学习起来不太方便。在现在的中文版IIS4和PWS4(PERSONAL WEB SERVER)中,ASP升级到了2.0,功能有了很大的提高,并且所有的文档全部

3、是中文,非常实用。 IIS4和PWS4 IIS4包含在OPTION PACK FOR NT4中;简体中文WINDOWS98的光盘中,就包含了PWS4。IIS4和PWS4还可以从网上免费下载。微软中国首页在/china,有很多微软官方下载的地址。其中,广州电信的站点更新最快。在那里,找到Microsoft Windows NT 4.0 Option Pack,for Win95的Option Pack就包含PWS4,for NT server的则包含IIS4。安装很简单,执行setup就可以了。不过有一点要注意,如果你想要阅读ASP文档,默认安装是没

4、有的。你必须选择“自定义”安装,选中“ASP文档”才可以。另外,像ADO文档这些以后经常要用的,也建议你安装。如果你的硬盘足够大,选择全部安装就是的了。 ASP开发工具 Visual InterDev是Microsoft为开发ASP程序专门推出的集成开发环境,功能非常强大。1、可以对ASP代码进行颜色识别,自动完成代码。例如你输入“response.”之后,VI会自动把response.的方法列举出来,供你选择。2、VI中带有一个代码库,调用预先设计好的DTC(DesignTime Co ol),可以非常简单的实现表单处理、数据库操作等等复杂的功能。3、内置数据库管理工具,可以直接进行数据库查

5、询、修改工作。4、内有RS(Remote Script),支持服务器、客户机间代码调用。5、群体开发协作管理功能,支持多人同时开发一个网站。VI对HTML编辑的支持不大够,在设计页面效果的方面,不能得心应手。ASP基础ASP概述 一、什么是ASP?ASP是Active Server Pages的简称,它是一种在微软公司的WEB服务器IIS(Internet Infomation Server)上开发交互网页的新技术。微软公司最初在IIS3.0版上使用它以取代CGI。随着Windows NT在WWW上的使用日益增多,ASP已经成为了开发动态网站、构筑Internet和Intranet应用的最佳选

6、择。二、在哪里可以找到支持ASP的服务器软件?如果你的计算机上装的是Windows NT 4.0,那么你可以通过安装NT的可选包Windows NT Option Pack 4.0来安装IIS4.0,然后你就可以在IIS4.0里使用ASP了。如果你的操作系统是Windows 98, 那么你可以在Win98光盘里找到一个ADDONS目录,下面的PWS目录里面有一个小型WWW服务器软件PWS(PersonalWeb Server),它也可以支持ASP。如果你想用一用Windows 2000的测试版,那么你可以选装Server版或者Advanced Server版,它们都已经自带IIS5.0了。三、

7、如何编写ASP?你或许用过Javascript在网页里弹出一个小窗口,你是这样做的:htmlheadtitleNew Page 1/headbodyScript Language=JavaScriptalert(hello!);/Script/body/html编写ASP就跟它差不多,同样是在网页文件里加些东西,不像CGI那样你还得写一个EXE文件。唯一应该注意的是,网页文件应该以.asp作为后缀名,而不能是.htm,这样WWW服务器才能识别它是ASP文件并进行相应的处理。注意,上面例子中使用了 script和/script 来把脚本包括起来,以区别普通的Html标记。在ASP中,使用另外两个

8、符号来标记ASP代码,它们是“” 和“”。WWW服务器在处理ASP文件时,一看到$#60;就知道ASP的代码开始了,而看到就知道代码结束。通常,我们可以用Notepad来编辑ASP文件,不过因为FrontPage98有强大的网页管理功能,所以最好在Frontpage98里编写ASP文件。当你要往一个网页里插入ASP代码时,只需选择FrontPage Editor下部的“HTML”标签页就行了。四、一个例子最后让我们来看一个例子,将它以a.asp存盘,它在浏览器里输出三个“Hello ASP”,从这里我们可以体会ASP代码是如何同HTML标记语言结合在一起的。htmlheadtitleNew P

9、age 1/headbodyFor i=1 to 3font size=iHello ASPNext/body/html请注意,文件后缀一定要为.asp。五、ASP的处理流程当我们用浏览器查看一个ASP文件时,都发生了些什么呢?以上面那个a.asp为例,当我们在浏览器里输入 http:/localhost/a.asp(localhost为主机名),浏览器向WWW服务器发出请求,要求返回a.asp的内容。WWW服务器在接到请求后,发现它的后缀为.asp,于是就将这个文件交给专门的ASP处理程序,这个程序扫描a.asp,把其中用和括起来的代码解释并执行,最后把执行结果再传回给WWW服务器,WWW服

10、务器把结果通过HTTP协议传回到浏览器。你可以用浏览器的查看源代码功能查看一下,你并没有发现和标记,因为它们已经在服务器端被处理掉了,浏览器所获得的仅仅是结果,是一些标准的HTML标记。整个过程如图。下一讲中,我们将介绍一些Vbscript的基础知识。它是在ASP中用得最多的脚本语言之一。ASP基础ASP基本语法 建立ASP程序 ASP程序是扩展名为.asp的文本文件,其中包括文字,HTML语句,ASP命令及其他脚本语言。ASP命令必须放在%与%之间 程序注释 为了养成良好的编程风格外,适度的注释不可少,ASP提供了两中注释方式1、但引号(),在单引号之后的这行文字都视为注释2、rem 关键词

11、,在REM后的文字,视为注释 赋值语句ASP中一般变量的赋值语句是 =而对象是用 set 语句来赋值的 算术运算符运算符功能+正号-负号+加法-减法*乘法/除法整数除法Mod余数指数 关系运算符运算符功能=等于不等于小于大于= 小于等于大于等于IS比较变量是否指向同一对象 逻辑运算符 ASP的逻辑运算符有:1、NOT 将逻辑值加以反向2、AND “和”或者说“且”运算3、OR “或”运算4、XOR “异或”运算5、EPV 判断两个表达式逻辑相等,两者相同结果为真,否则为假6、IMP 判断两个表达式逻辑上是否相关 字符串运算符 ASP只有一个字符串运算符 ,它可以强迫两个表达式做字符串连接 变量

12、申明 变量申明必须注意1、有效变量名称不能大于255个字符2、变量名称必须一字母开头3、在同一个有效范围内变量名称必须唯一变量申明 DIM 变量名称常数申明 CONST 常数名称=常数值 数据类型 对ASP而言,它只有一种Variant(通用变量)数据类型,这是一种非常特殊的数据类型,你可以将任何的数据类型指定给这种变量,例如布尔值、字节、整数、长整数、单精度浮点数、双精度浮点数、货币、日期等等ASP基础VBScript及表单 一、什么是VBScript?VBScript是Microsoft Visual Basic Scripting Edition的简称,你可以把它当作是Visual Ba

13、sic的一个子集,但是这仅仅是从语法上来说的,正如JavaScript和JAVA的关系一样,VBScript和Visual Basic并没有什么本质上的联系。它是一种脚本语言,由VBScript脚本引擎(其实是一个动态连接库VBScript.dll)解释执行。目前它主要用在WWW网页(只有IE能正确查看包含VBScript脚本的网页,如果Netscape要正确查看,则必须安装一个插件)以及微软的WWW服务器IIS支持的ASP。VBScript的语法这里就不再赘述,请读者参考其它书籍。 二、ASP的输出像所有讲编程的教材一样,让我们以“Hello World”开始吧。假设我们要在网页里输出“He

14、llo World”,在HTML里是很简单的事,在ASP中怎么做呢?请看下例:Response.Write Hello World把它存成一个ASP文件,执行后输出的效果如图1。这里我们使用了Response对象的Write方法。Response对象是ASP内置对象之一,也就是说,我们无需创建它就可以直接使用。ASP一共内置了6个对象,它们是Server、Err、Application、Session、Request、Response,关于它们的属性和方法,大家可以参考IIS或PWS的帮助文档。下面是另一种输出的方法:=Hello World这种语法是在ASP中特有的,它的意思是直接把等号“=

15、”后面的内容输出到浏览器。接下来让我们看一个稍复杂的例子:script language=VBScript runat=serverresponse.write(1)/scriptresponse.write(2)=3script language=jscript runat=serverresponse.write(4);/script大家可能奇怪,怎么这回不像以前的写法了呢。前面说过,ASP的代码应该是用和括起来的呀。其实,只要在Script标签里加上runat=Server,那么,WWW服务器在遇到包含Runat=server的script语句时,会在服务器端对script进行解释,ru

16、nat=Server的作用也就跟;相同了。而且 只是一种脚本环境,至于你要用什么脚本语言编程,那是你自己的选择。在ASP安装时,已经带有VBscript和JScript的脚本引擎。缺省地,使用VBScript作为脚本语言,不过你也可以用language属性指定你所用的脚本语言。如上例,你可以在一个ASP文件中使用多种脚本语言。现在我要考考你了,上例的输出结果是什么呢?“1234”吗?你试一试。输出的竟然是“4231”!原来,IIS处理ASP文件时,总是把文件依次交给系统上安装的所有脚本引擎,而JScript的顺序在VBScript前面。这就是“4”输出在最前面的原因。然后,另一条规则是,在$#

17、60;script$#62;括起来的代码和 括起来的代码间, 括起来的总是先被处理。而Response.Write 和“=”则没有先后顺序,按照出现的顺序处理。这就是“23”在“1”前面的道理。 三、取得表单提交的内容我们在网上冲浪的时候,经常会看到有些网页中有些输入框以及按扭。当在输入框中输入一些内容比如姓名,然后按下按扭时,我们所输入的内容就会被浏览器传到服务器上去。网页中的那些同我们交互的东西就组成了一个表单,在HTML里用标签form标识。表单总是被提交给一个处理程序,这个处理程序可以是CGI,也可以是ASP。用过CGI的朋友可能知道,在CGI中为了取出用户在表单中的输入信息是件很麻烦

18、的事情,甚至有人专门写了例程来完成这件事情。然后,处理程序又将输出一些提示信息,向用户报告处理结果。从而完成一个交互过程。在ASP中,所有这些操作变得很简单了。请看下面的例子。假设服务器上有一个文件form.htm,它只包含一个表单(图2),源代码如下:htmlbodyform method=post action=test.asp姓名:input type=input name=xm60;input type=submit value=确认/form/body/html点击“确认”键后,表单将请求test.asp处理表单值。我们的test.asp代码为:dim aa=Request.Form

19、(xm)Response.Write a它将在浏览器端显示出我们输入的“张三”字样。这里用到了Request对象,在这个对象中保存了所有由form提交过来的数据,它们以集合的形式存在,可以通过元素名取出其中的值。然后我们的程序把它输出到浏览器。真的ASP基础ASP数据类型 ASP只有一种数据类型那就是variant 。它是一种特殊的数据类型能够根据它的使用表示很多不同种类的信息。因为它是ASP中唯一的数据类型,它也是ASP中所有函数返回值的唯一类型。它很简单的,variant数据类型能够表示数字或者是字符串。当你在ASP程序中把它当做是数字,它就自动转化为Numeric,如果用它为字符串,它也

20、同样就是String了。也就是说,程序中某个数据看起来好像是数字时,ASP就会猜测它是数字,然后就用最适合数字的方法来处理。相似的,字符串处理也是如此的。当然,您也可以把数字当做字符串来处理,所需的只是一个 (引号)而已。 Variant 图表类型:除去这些简单的数字和符号类型,variant还能更加清楚地表示一些特殊的数字类型。比如,你能用表示日期(时间)的数字信息。当你用到时间或日期数据时,所用的变量就表示时间(日期)了。当然,你能够拥有非常丰富的数字信息,布尔值(Boolean)、浮点(float)。在一般的情况下,你想到的所有数据类型都能用variant来表示的。Variant总是能够

21、找到与之相匹配的类型的。当然variant不可能全部正确的转化您的数据类型,有时就会出现“类型不匹配”这样的错误,所以我建议大家在比较重要的数据上用Cstr(),Cint()这些函数来转化。图形类型描述EmptyVariable 没有被初始化,它是数字的话,它的值就为0,如果它是字符串,那么它的值就为NullVariant 表示了一个无效的数据类型。Boolean表示 True 或 FalseByte表示范围为 0 到 255的数字 Integer表示范围为 32,768 到 32,767的数字Currency-922,337,203,685,477.5808 to 922,337,203,6

22、85,477.5807.Long表示范围为 - 47,483,648 到 2,147,483,647 的数字Single表示范围为 -3.E38 到 -1.E-45 (负数); 1.E-45 to 3.E38 (正数)单精度 ,浮点数字Double表示范围为 -1.232E308 to -4.247E-324 (负数); 4.247E-324 to 1.232E308 (正数)双精度 ,浮点数字Date (Time)表示时间在January 1, 100 到 December 31, 9999 之间.String表示字符串Object表示一个对象Error表示一个错误信息数字ASP对象ASP内

23、建对象Request 从本篇开始作者从 ASP 内建对象着手,为大家详细剖析 ASP 的六个内建对象和各种组件的特性和方法。 在正式开始学习 ASP 的内建对象和组件之前,先让我们来认识一些基本概念,这将对各位今后的学习大有帮助。请看下表 : Active Server随 Windows NT 交付的服务器方技术的集合。这些 技术为组件应用程序管理、数据库访问、事务和消息 提供一致的服务器方组件、脚本模型和一套集成的系 统服务。Active Server Pages (ASP)在服务器上运行 ActiveX 脚本和 ActiveX 组件的服 务器方脚本环境。开发人员可以将脚本和组件结合在 一起

24、创建基于 Web 的应用程序。ActiveX允许开发人员为 World Wide Web 创建交互式组件的 内涵丰富的Microsoft 技术术语。允许用不同语言编写的软 件组件在网络环境中一起工作的一组不依赖语言的 互操作技术。ActiveX 的关键元素是组件对象模型 (COM) 和 分布组件对象模型 (DCOM)。这些技术已得到开放组织的 许可,已移植到许多平台上。ADO Active 数据对象。为基于 Internet 以数据为中心的 应用程序而优化的一组基于对象的数据访问接口。ADO 基于已发布的规范并且随带在Microsoft Internet Information Server

25、和 Microsoft Visual InterDev 中。DSN 数据源名称。开放式数据库接口 (ODBC)用于引 用访问数据所需的驱动程序或其他信息的逻辑名称。Internet信 息服务器用于连接到 ODBC 数据源(如 SQL Server 数据库)的 名称。event: 事件 由用户或 ActiveX 控件产生的程序响应的任何 操作。一般事件包括按键盘键、通过使用鼠标单击选 择按钮和其他鼠标操作。编程人员编写响应这些操作 的代码。object: 对象 在面向对象编程中,由当作完整实体的操作 和数据组成的变量。对象是基于特定模型的,在对象 中客户使用对象的服务通过由一组方法或相关函 的接

26、口访问对象的数据。然后客户端可以调用这些方 法执行某中操作。ODBC开放式数据库接口。允许应用程序从各种跨 平台数据访问的已有数据源标准规格中访问数据的 应用程序编程接口。SQL结构化查询语言 Structured Query Language。定义和访 问关系型数据库的国际标准。 什么是对象?它可不是指你恋爱的男伴或女伴。在面向对象编程中,对象就是指由当作完整实体的操作和数据组成的变量。对象是基于特定模型的,在对象中客户使用对象的服务通过由一组方法或相关函数的接口访问对象的数据,然后客户端可以调用这些方法执行某中操作。ActiveX 组件是建立 Web 应用程序的关键,组件提供了在脚本中执行

27、任务的对象。ActiveX 组件是一个文件,该文件包含执行某项或一组任务的代码,由于组件可以执行公用任务,这样程序员们就不必自己去创建执行这些任务的代码。可以利用组件作为脚本和基于 Web 应用程序的基本构造块。只要知道如何访问组件提供的对象,即使是位编写脚本的新手,也可以在不了解组件运作方式的情况下编写脚本。总之,组件使您不用学习编程就能够编写强大的脚本。组件是包含在动态链接库 .dll 或可执行文件 .exe 中的可执行代码。组件可以提供一个或多个对象以及对象的方法和属性。要使用组件提供的对象,请创建对象的实例并将这个新的实例分配变量名。使用 ASP 的 Server.CreateObje

28、ct 方法可以创建对象的实例,使用脚本语言的变量分配指令可以为对象实例命名。如下例: Set db=Server.CreateObject(ADODB.Connection) 这里的变量 db 就是 ASP 程序创建的访问数据库的对象实例。 Active Server Pages 提供了可在脚本中使用的内建对象。这些对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息 , 从而使对象开发者摆脱了很多烦琐的工作。目前的 ASP 版本总共提供了六个内建对象,下面让我们将通过实例分别来进行学习。 一、Request 对象 可以使用 Request 对象访问任何基于 HTTP 请求

29、传递的所有信息,包括从 HTML 表格ASP对象ASP内建对象Request和Respones(1) Web源于静态文本,现在很多站点几乎还是采用这种方式。静态文本的缺点就是维护难(文件数目多)、查询难、修改难。虽然可以采用FrontPage对站点进行管理,但这只是其中的一个办法。现在,很多的站点都会在后台采用数据库,动态生成超文本。这样要改变式样,只需修改几个文件;要变更内容,只需对数据库进行操作即可,而且易于保持一致性;而对于全文检索等查询应用,这种方式的优越性更为突出。(经常说的“动态”也包括图片的动态显示,如动态GIF、Java Applet等,本文所指为资料的动态性) 通用网关界面C

30、GI(Common Gateway Interface)和网络服务器应用程序界面ISAPI(Internet Server Application Programming Interface)与其他相关技术的出现,使我们能够方便地与Web Server进行沟通,从而象一些计数器、留言版等CGI程 式相继出现并蔚然成风。 但这些CGI程序都有一个很大的缺点,就是CGI(可用VB、Java、Perl、C或Dephi等编写)与html只能分开编写、分开运行,要将两者融合在一起并不 容易,从而导致维护与编写都相当困难。因此,一些厂商后来都推出了自己的Script语言,来增强网页开发的功能。其中Nets

31、cape推出了JavaScript(for client端和for Server端两种);微软则推出了VBScript和Asp(Asp的语法与VB的语法类似)两种,也用于服务器端和客户端程序的编写。对于专业开发人员而言,客户端程序的最重要的一点是通用性,而服务器端的则强调功能和效率。对于Client端程序的开发,JavaScript无疑是最佳的,因为当今两大主流浏览器IE和Netscape都宣称支持该标准;而VBScript则只有IE才能支持。但令我们苦恼的是对某些JavaScript的标记,IE或IE的某些版本并不一定会支持,这必导致我们不得不把一部分程序移到服务器端去执行,因为服务器端的程

32、序会先解释生成html(或含ActiveX)文本,再送到客户端,故不存在兼容问题。 livewire(JavaScript for Server端的编译器)和Asp一样,都是一些手稿语言(手稿是指类似client端的JavaScript一样的、可嵌套在html文本里面、只需用标记标明是由服务器执行的程序段),也就是类似C/C+一样的面向对象的语言。livewire的文件后缀名还是html,asp的文件后缀名则是asp,因为asp的文件在客户读取它的时候,服务器才进行解释,而livewire的文件则必须预先进行编译(每次修改后,都要重新编译)。asp有相应的辅助开发工具(InterDev),可代

33、为生成一些控件。当然,这些并不重要,关键是你采用的是Netscape Web Server还是微软的IIS。但就一般而言,因为IIS是捆绑在NT上的,故采用IIS的用户会偏多一些。 自从Netscape公司推出了livewire和微软推出了Active Server Page以后,程序员编写网上程序就方便和容易了很多。但这种Script类的语言有一个共同的缺点,那就是由于是解释执行的,故速度不会太快。最近,微软建议采用三层模型,中间层可以不用asp,而直接采用VB6.0生成的ActiveX控件,因为是编译执行的,故速度较快,不过这是后话。ASP对象ASP内建对象Request和Respones

34、(2)一、Asp的基本对象 Asp(Active Server Page)是一种类似于VB的面向对象的程序语言。在这里并不想详述对象等一些基本概念,而是直接介绍其语言特性,以便开发人员能够熟练地对asp程序进行修改和编制(因为很多人都只是直接利用开发工具如InterDev来生成asp程序)。首先,Asp程序的存档名称肯定是“asp”;其次,在asp程序里面,服务器端的Script要放在字符串中间,例如。如果你想在一个Asp文件中调用另一个Asp文件,则可在Asp中加上下面的声明: ,这有些象C语言中的#include。其中,Virtual表示虚拟文件路径,File表示真实文件路径。 Asp有五

35、个主要的内建对象:Request、Response、Server、Session、Application,下面将分别举例对其进行说明。1、Request Asp依然遵从流行的、利用客户端的Form进行数据交换的方法。Asp内建的request对象拥有五个获取客户端资料的方法(QueryString/Form/Cookies/ServerVariables/ClientCertificate)。 语法:request.方法名称(参数)|request(参数) 如果采用后者,系统会自动选择相应的方法。Form 这里再重新强调Form的一些属性: Enctype=资料传送的MIME形态 Method

36、=传送资料的方式Get/Post Onrest=按下rest键调用的程序 Onsubmit=按下sumit键调用程序 Target=输出内容的frame窗口使用Form传送信息一般有三种方式:由html网页内的Form传信息给其他Asp;由Asp内的Form传信息给另外一个Asp;Asp内的信息传送给自身。 语法:Request.Form(参数)(索引) 其中参数表示Form中元素的名称,索引表示相同名称元素的顺序号。 例: 可循环读取名称为user的元素,其中Count是Form的系统属性,用于计算同名元素的个数,如果该元素不存在,则其值为零。如果没有指明要读取第几个同名元素,则系统会把全部

37、同名元素的值都读取出来,并用“,”作间隔。 例:Request.form(user)=abc,bcd,cde 2、QueryString 语法:Request.QueryString(参数)(索引) 除了用Form传输资料外,还可通过在超链接后接“?”的方式传输信息,如:,这时可通过Request.QueryString(user)读取传输的信息;如果出现多个重名的参数,如:,则第一次Resquest.QueryString(user)=abc,第二次Resquest.QueryString(user)=bcd,第三次Resquest.QueryString(user)=cde。3、Serve

38、rVariables 语法:ServerVariables(参数名称) 我们知道Web/Browse的传输协议是http,http的报头会有一些客户端的信息,如 客户IP地址、浏览器的语言系统等。这时可通过Request.ServerVariables(*)获取相关信息,如Request.ServerVariables(Accept_Language)可获取客户端浏览器 的语系。其他系统参数见下表: SERVER_NAME server的机器名称或IP地址。 SERVER_PORT server正在运行的端口号 REQUEST_METHOD 发出request的方法(GET/POST/HEAD

39、 SCRIPT_NAME 程序被调用的路径,如:cgi-bin/a.pl。 REMOTE_HOST 发出request请求的远端机器(client)的名称。 REMOTE_ADDR 发出request请求的远端机器(client)的IP地址。 REMOTE_IDENT 发出request的使用者名称(如是拨号上网,则为用户ID),当NCSA IdentityCheck为enabled,而且client机器支持RFC 931时,该变量有效。 CONTENT_TYPE 数据的MIME类型,如:“text/html”。 HTTP_ACCEPT client可以接受的MIME类型列表。 HTTP_US

40、ER_AGENT client发出request的浏览器类型。 HTTP_REFERER 在读取CGI程序之前,client所指的文本URL。4、Cookies 在客户端,Cookies记录了客户端浏览器很多的信息,我们可通过Request.Cookies(名称)命令获取它的值,也可通过Response.Cookies(名称)=值在客户端记录一些信息,以便控制访问者。设置多重Cookies的方法为Response.Cookies(名称)(名称)=值。 5、Cache 我们可以在浏览器上设置从Cache中抽取已经ASP对象全面解析Server对象(1)Server对象提供对服务器上访问的方法和属

41、性.大多数方法和属性是作为实用程序的功能提供的。 语法:Sperty|method属性(property)Server对象只有一个属性:ScriptTimeout 程序能够运行的最大时间 方法(Methods)CreateObject 建立一个对象实例. Execute 执行一个asp文件 GetLastError 返回一个错误代码 HTMLEncode 对指定的HTML代码进行转换. MapPath 将一个相对路径转化为一个绝对路径. Transfer 将当前的所有状态信息发送给另一个asp文件 URLEncode 以URL形式转化指定的代码,包括空格 Server对象的方

42、法详细说明CreateObject语法Server.CreateObject( progID )参数progID 指定要创建的组件名称,格式如下: Vendor.Component.Version. 要点:一般来说,用由Server.CreateObject方法创建的对象拥有页面的范围.这就说,当这页的asp程序执行完后,这种对象会自动地消失.为了创建一个拥有Session或Application范围的对象,你可以在Global.asa文件中使用ExecuteExecute 方法呼叫一个ASP文件并且执行它就像这个呼叫的ASP文件存在这个ASP文件中一样。这很像许多语言中的类的调用。 语法Se

43、rver.Execute( Path )参数Path 指定执行的那个asp文件的路径。如是它是一个绝对路径,那么它必须是一个在这个ASP应用程序相同的地方(目录)。 讲解Server.Execute 方法提供了一种将一个复杂ASP应用程序分化为小块单位来执行的方法。通过这种方法,你能够建一个ASP图书馆,你能够随便在你需要时调用你图书馆中的ASP文件。这个就有点像SSI了!嘿嘿!当IIS根据指定的ASP文件路径执行完这个ASP文件之后,就会自动返回以前的ASP文件。这个刚刚执行完的ASP文件有可能改变了HTTP head.但是和其它的ASP文件一样,当程序试图改变http head时,就会报错

44、!这个path参数可以包括一个询问信息。如果在被呼叫和呼叫的ASP文件中都含有相同的子函数,那么这些子函数只在本ASP文件中起作用。举个例子,如果在下面的ASP1和ASP2两个文件中都含有放弃程序的子函数。首先ASP1呼叫ASP2,那么ASP2中的的OnTransactionAbort开始执行,当ASP2执行完毕,ASP1中的OnTransactionAbort才开始执行。ASP1: % Transaction=Required% % Server.Execute (Page22.asp) Sub OnTransactionAbortSub OnTransactionCommit%Asp2.a

45、sp: % Transaction=RequiredSub OnTransactionAbortSub OnTransactionCommit%Example ASP1 % Response.Write(I am going to execute ASP2 )Server.Execute(/myasps/asp2.asp)%ASP2 % Response.Write(Here I am)%GetLastError GetLastError 方法返回一个ASPError Object 来描述一个错误信息.这个方法只适用于在asp文件发送任何内容给用户机之前.语法Server.GetLastErr

46、or () 要点如果一个500;100 用户错误已经被定义在一个asp应用程序中,它是指的一个以.asp为后缀的文件。这种情况下,在这个程序运行时当一个错误发生时,服务器就会自动的以Server.Transfer这种方式传送到这个正在执行的ASP页面。ASP应用程序就会将有效的处理这个错误。另外,这个ASPError Object一定要有效,这样你就能够看到服务器提供给ASP对象深入研究Application和Session对象(1)用ASP编写虚拟社区、网上购物等程序时,Application和Session对象具有举足轻重的作用,能够灵活合理地运用这两个对象是提高程序质量的关键。下面让笔者

47、根据自己在这方面的经验,向大家深入介绍一下ASP的这两个内建对象。一、Application对象的成员概述Application对象成员包括Application对象的集合、方法和事件。Application对象的集合Contents集合:没有使用元素定义的存储于Applicaiton对象中的所有变量的集合StaticObjects:使用元素定义的存储于Application对象中的所有变量 的集合例:在default.asp中有如下赋值application(a)=aapplication(b)=128application(c)=false则有contents集合application.c

48、ontents(1)=a 也可写为application.contents(a)=aapplication.contents(2)=128 也可写为application.contents(b)=128application.contents(3)=false 也可写为application.contents(c)=false在此笔者推荐你在调用时使用类如application.contents(a)的方法,因为这样更为直观,如果用序号来表示的话则要考虑赋值的先后顺序。Application对象的方法Contents.Remove(变量名):从Application.Contents集合中删除

49、指定的变量Contents.RemoveAll() :把Application.Contents集合中的所有变量删除Lock() :锁定Application对象,使得只有当前的ASP页对内容能进行访问Unlock() :解除对Application对象的锁定例:在default.asp中:application(a)=aapplication(b)=128application(c)=falseresponse.write application.contents(1)&response.write application.contents(2)&response.write applica

50、tion.contents(3)&response.write After Remove b:application.contents.remove(b)response.write application.contents(1)&response.write application.contents(2)&执行结果:a128FalseAfter Remove b:aFalse如果要删除集合中所有变量用application.contents.removeall即可,至于Lock和Unlock方法在实际中经常用到,读者也比较熟悉,在此就不在累赘。 Application对象事件OnStart:

51、第一个访问服务器的用户第一次访问某一页面时发生OnEnd :当最后一个用户的会话已经结束并且该会话的OnEnd事件所有代码已经执行完毕后发生,或最后一个用户访问服务器一段时间(一般为20分钟)后仍然没有人访问该服务器产生。想要定义application对象的OnStart和OnEnd事件里做什么需要将代码写在Global.asa这个文件里(下文有举例),并且将该文件放在站点的根目录下(一般是Inetpubwwwroot)二、Session对象的成员概述Session对象的成员比Application对象多一项属性,即:集合、属性、方法、事件Session对象的集合Contents :没有使用元

52、素定义的存储于特定Session对象的所有变量的集合。StaticObject:使用元素定义的、存储于Session对象中的所有变量的集合。例:在default.asp中有如下赋值session(a)=asession(b)=128session(c)=false则有contents集合session.contents(1)=a 也可写为session.contents(a)=asession.contents(2)=128 也可写为session.contents(b)=128session.contents(3)=false 也可写为session.contents(c)=falseSes

53、sion对象的属性CodePage: 可读/可写。整型。定义用于在浏览器中显示页内容的代码页。代码页是字符集的数字值,不同的语言使用不同的代码页。例如,ANSI代码页为1252,日文代码页为932,简体中文代码页为936。LCID : 可读/可写。整型。定义发送给浏览器的页面地区标识。LCID是唯一地标识地区的一个国际标准缩写,例如,2057定ASP对象深入研究Application和Session对象(2)在本例中,用application(online)变量记录已经登录社区的在线人数,因为一旦有用户访问服务器而不管用户是否登录,都会产生OnStart事件,所以不能在OnStart事件里使Applicaiton(online)加一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论