《《ASP程序设计》-叶潮流-电子教案及习题答案 第6章Server和ObjectContext对象》由会员分享,可在线阅读,更多相关《《ASP程序设计》-叶潮流-电子教案及习题答案 第6章Server和ObjectContext对象(62页珍藏版)》请在金锄头文库上搜索。
1、ASP程序设计课件 2008 年 12 月,中国水利水电出版社,本章导读,本章导读: Server对象是与服务器关系最为密切的一个对象,它提供了七种方法和一个属性,并通过这些方法和属性来获取服务器的特性和功能。ObjectContext对象是一个以组件为主的事务处理系统,专门用于支持开发基于MTS(Microsoft Transaction Server)的事务型Web应用软件。 知识要点: Server对象 HTMLEncode CreateObject方法ObjectContext对象 Transfer 计数器组件 Execute方法页面计数器组件 MapPath方法导航链接组件 URLE
2、ncode方法,6.1.1 Server对象语法简介 6.1.2 Server对象属性 6.1.3 Server对象方法,6.1 Server对象概述,Server对象通过属性和方法来访问Web服务器,从而实现对数据库、网页、对象和组件的管理。其语法格式如下: Server.method|property 说明: method:表示方法,Server对象提供了7种方法,如表6-1所示。 property:表示属性,Server对象属性如表6-2所示。,6.1.1 Server对象语法简介,6.1.2 Server对象属性,Server对象属性只有一种,即ScriptTimeout,该属性用于取
3、得或设定脚本最大延时时限,也就是说,如果脚本超过设定时限,还没有执行完毕,将被终止执行,并显示超时错误。ScriptTimeout属性的时间单位为秒,默认值90S。语法格式如下: ScriptTimeout的延时时间设定还有另外一种设置方法:即在IIS组件中设置“ASP脚本超时”。有关操作请参照1.2.2节的环境配置步骤,打开【主目录】标签后单击【配置】【选项】,弹出如图6-1所示的【应用程序配置】对话框。用户可以自行修改【ASP脚本超时(M)】的值。,Server对象提供了7种方法控制Web服务器的应用。 1Server.CreateObject方法 CreateObject是ASP中最为实
4、用的方法。它用于创建已经注册到服务器上的ActiveX组件的对象实例,也正是因为这些组件才使得ASP具有了强大的生命力。其语法格式如下: 说明: objname是指定义的对象实例名,不能与ASP内置组件名和内置对象名同名,否则会导致程序运行错误; 创建组件对象实例时,关键字set不能省略,否则也会导致程序运行错误;,6.1.3 Server对象方法,6.1.3 Server对象方法,ASP组件是指内置组件名称,有关内置组件的详细信息请参阅第十章内置组件; 与ASP内置对象一样,内置组件也是具有集合、属性和方法的对象。所不同的是,内置组件须通过其对象实例才能访问其集合、属性和方法; 创建内置组件
5、的对象实例只能在当前ASP页内有效; 必要时,也可以通过nothing来消除实例对象,如: ,【例6-01.asp】:利用内置组件PageCounter(页面计数器组件)统计当前页面被访问的次数。,分析:PageCounter(页面计数器)组件用于统计当前网页被访问的次数,并把统计结果存入服务器自动建立的文件,用户无需关心该文件。 PageCounter组件提供了3种方法,PageCounter方法如表6-3所示。 表6-3 PageCounter组件方法 Hits(url):返回指定网页的被访问次数,缺省url时为当前页 Pagehits():对当前网页的访问次数加1 Reset(url):
6、重置指定网页访问次数为0,缺省url时为当前页,【例6-02.asp】:利用内置组件counters(计数器组件)统计投票结果。,分析:Counters(计数器)组件可产生许多独立的计数器,用于同一文件中不同对象访问次数的计数,也可用于广告点击次数或其他需要计数的场合。 Counters(计数器)组件提供了4种方法,如表6-4所示。,【例6-03.asp】:利用内置组件NextLink(导航超链接组件)建立在线教育、新闻组等网页导航链接。,分析:利用NextLink(导航超链接组件)提供的方法和网页网址信息列表文件可以自动生成和更新网页文件导航目录,并象书一样将各页顺序连接,从而实现管理网页网
7、址间的超文本链接。 NextLink组件常用方法如表6-5所示。,GetListCount(URLlistfile) 获取指定文件中包含的链接网页地址列表条目总数 GetListIndex(URLlistflie) 获取当前页在指定文件中列表条目序号 GetNextURL(URLlistflie) 从指定文件中获取下一个超链接网页地址 GetPreviousURL(URLlistflie) 从指定文件中获取上一个超链接网页地址 GetNthURL(URLlistflie,N) 从指定文件中获取第N个超链接网页地址 GetNextDescription(URLlistflie) 从指定文件中获取
8、下一个超链接网页文件描述信息 GetPreviousDescription(URLlistflie) 从指定文件中获取上一个超链接网页文件描述信息 GetNthDescription(URLlistflie,N) 从指定文件中获取第N个超链接网页文件的描述信息,2.输入框函数inputbox,输入框函数(inputbox)显示一个能接受用户输入的对话框,并返回用户在对话框中输入的信息。其语法格式如下: inputbox(, ,xpos,ypos,helpfile,context) 说明:inputbox函数同msgbox函数一样,只能用于客户端脚本代码,其中: 信息内容:是显示在对话框中的字符
9、串表达式,其最大长度大约是1024个字符; 对话框标题:是显示在对话框标题栏中的字符串表达式; 默认内容:是显示在对话框文本输入框中的默认文本; xpos:指定对话框与屏幕左边缘的水平距离(单位为缇),省略时水平居中;,2.输入框函数inputbox,ypos:指定对话框与屏幕上边缘的垂直距离(单位为缇),省略时距屏幕上边缘1/3处; helpfile:字符串表达式,标识为对话框提供帮助文件,须和context联合使用; context:数值表达式,标识帮助主题的上下文索引编号,须和helpfile联合使用。 注意:如果省略了前面某些可选项,必须加入相应的逗号分隔符。,3.1.5 服务器端脚本
10、,脚本语言在服务器端执行时,需要IIS支持,网页扩展名为.asp。语法格式如下: 格式一: 格式二: VBScript代码 说明:使用格式一时,如果主脚本默认值不是VBScript,则需要指令将本页的脚本语言设置为VBScript; 格式二主要用于global.asa文件; 和language之间需要有一个空格,且指令应放在网页的首行。,3.2 VBScript的数据类型,VBScript语言只有一种数据类型,即变体类型Variant。Variant是一种特殊的数据类型,根据使用的场景,它可以担当不同类别的信息,如字符串、整数、日期等,这些用以区别数据信息的不同类别称为子类型。因为varian
11、t是VBScript唯一的数据类型,因此它也是VBScript中所有函数的返回值的的数据类型。表3-6列出了Variant包括的子类型:,3.3 VBScript常量,常量是指在程序执行期间其值从不发生变化的量。在VBScript中,常量分为普通常量和符号常量。普通常量是指一个具体的数据, 如“VBScript”表示一字符串,123.456e12和869d-8分别表示一单精度浮点数和一双精度浮点数,#1970-6-18#表示一日期;符号常量是指代表某一确切数据项的符号名称,符号常量又分为预定义符号常量和自定义符号常量。预定义符号常量由VBScript内在提供,如vbcrlf表示回车符和换行符的
12、组合,vbgreen表示绿色的数值。 3.3.1 常量声明 3.3.2 常量命名规则 3.3.3 常量引用 3.3.4 特殊常量,3.3.1 常量声明,普通常量和预定义符号常量,无需声明即可直接使用;用户自定义符号常量需要使用const语句声明,并给它们赋原义值。 ,3.3.2 常量命名规则,常量命名必须遵循这样的规则: 名字必须以字母开头,建议以const作为常量的前缀; 名字中不能含有句点; 名字不能超过255个字符; 名字不能和关键字同名,所谓关键字,就是dim,sub,end有特殊含义的字符串名称; 名字在被声明的作用域内必须唯一; 注意:VBScript不区分大小写。,3.3.3 常
13、量引用,常量的引用非常简单,一旦声明,就可直接引用,比如: ,3.3.4 特殊常量,下面介绍几个特殊的常量 empty常量 empty常量表示一个未初始化的变量。如果定义了一个变量,没有对它赋值,那么这个变量值就是empty。 null常量 null常量表示一个变量包含无效的数值,注意empty和null是不一样的。 当在一个表达式中使用值为empty的变量时,如果它被用作数字,则它等于0;如果它被用作字符串,那么它就等于0长度字符串。 null则不同,它表示变量中没有包含有效数据。,3.3.4 特殊常量,nothing常量 nothing用于断开对象变量和任何实际对象之间的链接,使用set语
14、句可将一个对象变量设置为nothing,如: set 对象变量名=nothing 通过把一个对象变量赋值为nothing,表明已经使用完了变量所链接的对象,可以释放该对象所占用的内存以及分配给该对象的其它系统资源。 如果有多个变量同时链接到一个对象,VBScript直到指向该对象的所有变量都设置为nothing时,才会释放该对象资源。 true和false常量 true的值为-1;false的值为0。,3.4 VBScript变量,变量是用于标识计算机内存地址的名称,该地址可以存储脚本运行时能更改的数据信息。使用变量并不需要了解变量在计算机内存中的确切地址,只要通过变量名引用就可以查看或更改变
15、量的值。 3.4.1 变量声明 3.4.2 变量赋值和引用 3.4.3 标量变量和数组变量 3.4.4 固定数组和动态数组 3.4.5 变量作用域与存活期,3.4.1 变量声明,声明变量有两种方式,即隐式声明和显式声明。 l 隐式声明 脚本中首次使用时赋值即声明,无须dim语句,例如: 当前日期和时间是: l 显式声明 赋值前先用dim语句声明,例如: ,3.4.1 变量声明,l 强制声明变量 为了避免隐式声明时,写错变量名引起的问题,最好使用语句强制要求显式声明所有变量,并将其写在所有asp语句之前,例如: 运行时,将明确告诉没有声明变量cc。,3.4.2 变量赋值和引用,用dim 语句显示
16、声明变量时,不能直接赋值,变量赋值要用到赋值语句,变量的赋值语法格式如下: = 变量的引用和常量相似,可以直接将变量赋值给另一个变量,也可以将变量引用到表达式中。,3.4.2 变量赋值和引用,intb then 比较inta和intb的大小 intc=inta-intb 引用变量表达式inta-intb else intc=intb 引用变量inta end if %,3.4.3 标量变量和数组变量,大多数情况下,只需为声明的变量赋一个值。只包含一个值的变量被称为标量变量,简称变量。有时候,将多个相关值赋给一个变量更为方便,包含一系列值的变量,称为数组变量,简称数组。数组变量的命名、声明、赋值,引用和标量变量基本相同,唯一的区别是操作数组变量时变量名后面带有括号( )。 下例是一个简单的例子: ,3.4.3 标量变量和数组变量,说明: 在VBScript中不能定义数组的下界,括号中的数字指出数组的上界; 数