服务器端开发技术.ppt

上传人:牧羊曲112 文档编号:5060495 上传时间:2023-06-01 格式:PPT 页数:101 大小:678KB
返回 下载 相关 举报
服务器端开发技术.ppt_第1页
第1页 / 共101页
服务器端开发技术.ppt_第2页
第2页 / 共101页
服务器端开发技术.ppt_第3页
第3页 / 共101页
服务器端开发技术.ppt_第4页
第4页 / 共101页
服务器端开发技术.ppt_第5页
第5页 / 共101页
点击查看更多>>
资源描述

《服务器端开发技术.ppt》由会员分享,可在线阅读,更多相关《服务器端开发技术.ppt(101页珍藏版)》请在三一办公上搜索。

1、服务器端开发技术,9.1 B/S 体系结构中数据库接口技术9.2 ASP技术 9.3 数据库访问组件ADO9.4 习题,9.1 B/S 体系结构中数据库接口技术,9.1.1 CGI(Common Gateway Interface)CGI即通用网关接口,是早期建立应用程序与Web服务器之间接口的标准,其工作方式是:用户通过浏览器用HTTP以Form(表单)向Web服务器发出请求;Web服务器接收用户的请求,用一个子进程启动CGI,将用户的请求传给CGI;CGI向数据库服务器发出请求,数据库服务器执行相应的查询操作;数据库服务器将服务请求返回给CGI;CGI将查询结果转换成网页形式返回给Web服

2、务器,Web服务器再通过HTTP将网页传给用户的浏览器显示出来,其工作示意图如图9-1所示:,9.1 B/S 体系结构中数据库接口技术,9.1.1 CGI(Common Gateway Interface),图9-1,9.1 B/S 体系结构中数据库接口技术,9.1.1 CGI(Common Gateway Interface)CGI的功能是在超文本文件与Web服务器应用程序之间传递信息。CGI程序可用Visual Basic、C、C+、和Perl等语言来编写。CGI的跨平台性能极佳,几乎可以不加任何修改即可移植到绝大多数操作系统上。但其缺点是运行速度慢。CGI交互性差,因为HTTP协议无状态

3、限制,CGI不能保持当前状态,所以缺少交互性。最后由于只要来访就可执行CGI,所以安全性差。,9.1 B/S 体系结构中数据库接口技术,9.1.2 服务器API目前最流行的两种API分别是Microsoft的ISAPI(Internet Server Application Program Interface)和Netscape的NSAPI(Netscape Server Application Program Interface)。这两种接口可让程序设计人员以标准方式编写Web服务器交互的应用程序。目前Netscape宣布其NSAPI也支持ISAPI标准,则意味着只有一种Web API标准了

4、。ISAPI由两类组件组成:提供纵向功能层的ISAPI应用程序和提供横向功能层的ISAPI过滤器。,9.1 B/S 体系结构中数据库接口技术,9.1.2 服务器API用ISAPI编制的程序以动态连接库(DLL)的形式存在,可实现CGI所能提供的全部功能,二者的工作原理大体相同,都是通过交互式主页取得用户输入信息,然后交给服务器后台处理。二者的区别在于:在ISAPI下建立的应用程序都是以DLL形式存在,而CGI的应用程序一般为可执行文件。在ISAPI调用方式中,被用户激活的DLL和Web服务处于同一进程中,在处理完某用户的请求后不会马上消失,而是和Web服务器一起继续驻留在内存中,等待其他用户的

5、HTTP请求,直到过了指定的时间仍直无用户输入为止。由于ISAPI的所有进程都可获得HTTP Server上的任何资源,而且当它调用外部CGI Script时需要的开销也较单纯的CGI少,所以ISAPI的运行效率显著高于CGI程序。服务器API的工作示意图如图9-2所示:,9.1 B/S 体系结构中数据库接口技术,9.1.2 服务器API,图9-2,9.1 B/S 体系结构中数据库接口技术,9.1.3 ASP由于服务器API开发的难度大,于是微软推出ASP(Active Service Pages,即动态服务器网页技术),用以取代CGI技术。ASP是开放式Web服务器应用程序开发技术,它既不是

6、一种编程语言,也不是一种开发工具,而是一种服务器端的脚本运行环境。ASP的主要功能是生成动态、交互式的高效Web服务器应用程序。它能够把脚本、HTML、组件和数据库访问功能结合在一起,形成一个在服务器端运行的应用程序,并按用户请求,把结果转换成标准的HTML页面返回客户端。ASP通过ADO访问数据库。ASP使用脚本语言进行ASP程序的开发,自身提供VBScript和JavaScript两种脚本引擎,缺省为VBScript。ASP工作示意图如图9-3所示。,9.1 B/S 体系结构中数据库接口技术,9.1.3 ASP,图9-3,9.2 ASP技术,9.2.1 ASP的运行环境ASP的运行需要服务

7、器来解释。微软推出的服务器是Microsoft Internet Information Server version 3.0/4.0/5.0 on Windows NT/2000 Server(即IIS3.0/4.0/5.0)。Microsoft Personal Web Server on Windows 95/98(即PWS)。,9.2 ASP技术,9.2.2 ASP的工作流程ASP程序是以.asp为扩展名的文本文件,其控制部分是用VBScript或JavaScript等脚本语言来编写的。一个ASP文件相当于一个可执行文件,因此必须放在Web服务器上有可执行权限的目录下。ASP程序只能在

8、Web服务器端执行,当浏览器向Web服务器请求调用ASP文件时,就启动了ASP。Web服务器响应该HTTP请求,调用ASP引擎,解释被申请的文件。当遇到与ActiveX Script兼容的脚本(VBScript,JavaScript)时,ASP引擎调用相应的脚本引擎进行解释处理。若脚本指令中涉及到对数据库的访问,就调用ADO组件与后台数据库进行连接,并将执行结果动态生成一个HTML页面返回Web服务器端,然后与页面中非脚本的HTML合并成一个完整的HTML页面送至客户端浏览器。ASP的工作流程如图9-4所示:,9.2 ASP技术,9.2.2 ASP的工作流程,图9-4,9.2 ASP技术,9.

9、2.3 ASP文件的结构任何可以放在HTML中的东西Java applets、VBScript或者JavaScript等脚本语言、ActiveX控件等都可以放入ASP中;ASP还提供了内置对象,可以使用许多附加的组件,这大大扩展了ASP的功能。VBScript是ASP的默认脚本程序引擎,除了VBScript,ASP也允许网页编写者使用其他熟悉的语言。ASP的脚本语言代码可以放在程序的任何位置,只需用标记将其括起来即可,且不须事先说明。,9.2 ASP技术,9.2.3 ASP文件的结构一般一个ASP文件可以包含以下四个部分:普通HTML文件,普通Web页面的编程。客户端脚本程序代码,通常用和定界

10、符括起来。服务器端ASP脚本程序代码,用“”定界符括起来。Server_SideInclude语句,使用#INCLUDE语句在Web页面中嵌入其他Web页面,其中“”是标准的ASP定界符,而和是客户端脚本或服务器端脚本的定界符。,9.2 ASP技术,9.2.3 ASP文件的结构一【例9-1】ASP程序实例chap9-1.asp:以不同的字体输出“Welcome!”。ASP程序实例,9.2 ASP技术,9.2.3 ASP文件的结构以上程序可以用文本编辑器(Notepad)或专用开发工具(Visual InterDev 6.0)来输入,并将其放在Web服务器的虚拟目录下,然后在浏览器的地址栏中输入

11、http:/localhostchap9-1.asp,运行结果如图9-5所示:,图9-5,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件ASP的内置对象如表9-1所示:,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件ASP的内置组件如表9-2所示:,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件1Request对象-Request对象用于访问用HTTP请求传递的信息,也就是客户在请求页面或提交表单时提供的所有信息。-通常来说,Request对象所得到的信息是从浏览器传递给服务器的,传递的方式有两种:Get和PostRequest对象包括五个数据集合、一个属性

12、和一个方法。Request对象的语法格式为:Request.数据集合|属性|方法(变量)Request拥有以下五个数据集合,分别是:Form:取得客户端表格元素中所填入的信息。QueryString:取回URL请求字符串。Cookies:取得客户端浏览器的Cookies值。ServerVariable:取得服务器端环境变量的值。ClientCertificate:从客户端取得身份验证的信息。,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件(1)Form数据集合-在ASP Web页面上,可以使用Request对象的Form集合收集来自客户端的以表单形式发往服务器的信息。-语法格式为:

13、Request.Form(String参数)(索引.计数)其中,String参数是用来指定集合要检索的表格元素名称(如:Text,Radio等)。索引是一个可选的参数,可以取得Form下名称相同的表格元素,它的值是由0Request.Form(String参数).Count之间的任意整数。Request.Form(String参数).Count属性值代表所有名称相同的表格元素的数目,如果不存在名称相同的表格元素其返回值为1,若该表格元素不存在则返回值为0。需要注意的是Form集合对应的方法为Post,而QueryString集合对应的方法为Get。,9.2 ASP技术,9.2.4 ASP的内置

14、对象和应用组件【例9-2】Form数据集合应用实例,从客户端获取表单信息。客户端脚本程序chap9-2.html代码如下,运行结果如图9-6所示:Form数据集合演示实例客户端程序 系统登录 用户名称 登录密码,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件,图9-6,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件当单击“登录”按钮以后,由chap9-3.asp程序读取表单中的数据。服务器端脚本程序chap9-3.asp代码如下,运行结果如图9-7所示:Form数据集合演示实例服务器端程序 用户名称:用户密码:,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件

15、,图9-7,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件(2)QueryString数据集合QueryString集合的功能就是从查询字符串中读取用户提交的数据。一般来讲,查询字符串变量直接定义在超级链接的URL中,即接在“?”字符之后。例如:http:/ex/query.asp?txtusername=sa语法格式为:Request.QueryString(变量名称)(索引.计数)其中,索引是一个任选的参数,可以取得“?”字符后名称相同的变量名,而且在“?”字符之后还可以用符号“&”来连接两个不同的参数。例如:http:/ex/answer.asp?Y=yes&N=no计数是一

16、个整数,是从0Request.QueryString(变量名称).Count的任意值。Request.QueryString(变量名称).Count表示所有名称相同的变量数,如果不存在名称相同的变量,其值为1,若该变量不存在,其值为0。,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件【例9-3】QueryString数据集合应用实例chap9-4.asp,获取客户端信息。运行此程序时,注意在浏览器的地址栏中输入:http:/localhost/chap9-4.asp?QS=欢迎登录本站点。运行结果如图9-8所示:QueryString数据集合演示实例 Next%,9.2 ASP技术

17、,9.2.4 ASP的内置对象和应用组件,图9-8,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件(3)ServerVariables数据集合ServerVariables数据集合可用于提供有关随HTTP请求一起传递的HTTP头信息。语法格式为:Request.ServerVariables(服务器环境变量)服务器环境变量是只读变量,只能查阅,不能设置。服务器环境变量如教材中表9-3所示:,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件【例9-4】ServerVariables 数据集合应用实例chap9-5.asp,只有从http:/localhost/index.a

18、sp连接过来的才被允许访问。运行结果如图9-9所示(此处省略图显示):Servervariables数据集合演示实例,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件(4)ClientCertificate数据集合ClientCertificate数据集合从浏览器发出的请求中获取认证字段。一般情况下,IIS和PWS都默认为不向客户端要求身份验证的命令。语法格式为:Request.ClientCertificate(KeySubField)Key:指定要获取的验证字段名称。,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件涉及到的关键字如表9-4所示:,9.2 ASP技术,9

19、.2.4 ASP的内置对象和应用组件Subfield:可选参数,用于按Subject或Issuers关键字检索单独的字段。附属参数如表9-5所示:,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件(5)Cookies数据集合Cookies数据集合是用来记录客户端信息的,当访问一个需要惟一标识地址的Web站点时,它会在硬盘上留下一个标记,下一次当访问同一个站点时,站点的页面会查找这个标记。每个Web站点都有自己的标记,标记的内容可以随时读取,但只能由该站点的页面完成。语法格式:Request.Cookies(String)(Key)|.Attribute 其中,参数String指要检索

20、其值的Cookie。Key为可选参数,用于从Cookies字典中检索子关键字的值。Attribute属性指定Cookies自身的有关信息。,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件Attribute参数见表9-6所示:,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件【例9-5】假设建立了一个名为BookCookies的Cookies字典,代码如下:Response.Cookies(“BookCookies”)(“SF”)=“数学分析”Response.Cookies(“BookCookies”)(“XD”)=“线性代数”Response.Cookies(BookC

21、ookies)(GS)=高等数学,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件应用实例chap9-6.asp:使用Cookies数据集合读取BookCookies字典的值,代码如下:&Cookie&=&Request.Cookies(Cookie)Else Response.Write“”&Cookie&“包含以下键值:”For Each Key In Request.Cookies(Cookie)Response.Write&Key&=&Request.Cookies(Cookie)(Key)Next End If Next%,9.2 ASP技术,9.2.4 ASP的内置对象和

22、应用组件(6)Request对象的属性Request对象只有一个属性:TotalBytes属性。该属性是一个只读属性,可取回客户端响应数据的字节数。语法格式为:counter=Request.TotalBytes其中counter变量会取回客户端送回的数据字节大小,本属性一般与BinaryRead方法配合使用。(7)Request对象的方法Request对象只有一个方法:BinaryRead方法,语法格式为:Variant=Request.BinaryRead(counter)其中,counter变量是利用TotalBytes属性取回客户端送回的数据字节大小。注意:该方法与Request.Fo

23、rm方法合用可能会造成执行上的错误。,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件2Response对象 Response对象的功能与Request对象的功能正好相反,用于向客户端浏览器发送信息,从而通过脚本代码中的HTTP变量识别服务器及其容量、发送到客户端的有关信息及该范围内将要保存到客户端浏览器中的一些新的Cookie。该对象与Request对象相互配合,可以实现服务器端和浏览器端的数据传输,这是网页实现动态功能的基础。Response对象的语法格式为:Response.数据集合|属性|方法,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件(1)Response对

24、象的数据集合Cookies是Response对象中唯一的数据集合。使用Cookies可以设置客户端浏览器内的Cookie值。Cookie的语法格式为:Response.Cookies(Var)(Key)|.Attribute=Cookie值这里,Var代表Cookie的名称。如果指定了Key,则该Cookie就是一个字典。Attribute指定Cookie自身的有关信息。可取Domain,Expires,Path,HasKeys值,意义同前。【例9-6】建立名为user的Cookie字典,其中,关键字分别为name、password,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件(

25、2)Response对象的的属性 Buffer属性:Buffer属性用来设置是否把Web页面输出到缓冲区。Buffer属性语法格式为:Response.Buffer=Boolean Value(布尔值)注意:当Buffer属性设置为True时,如果调用了End方法,缓冲区的内容也会发送给客户。当Buffer属性值为False时,Web服务器在处理每一句脚本时都向客户发送信息,而不是一直等到所有的脚本处理完才发送。,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件 Expires属性:控制页面在缓冲区中的有效时间。Expires属性语法格式为:Response.Expires=Intn

26、um 其中,参数Intnum是用来设置保留的时间长度,单 位是min(分钟)ExpiresAbsolute属性:用来指定缓存于浏览器中的页面的确切到期日期和时间。语法格式为:Response.ExpiresAbsolute=日期时间 其中,日期的值用标准的月/日/年格式表示 注意:Expires属性采用相对时间来实现(即再过多长时间该页面失效),而ExpiresAbsolute属性采用绝对时间来实现(即在某一特定时间该页面失效)。,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件(3)Response对象的方法 Write方法:可以把信息从服务器端直接送到客户端。语法格式为:其中,参

27、数String为变量或字符串,变量可以是所使用的脚本语言中的任意数据类型。【例9-7】Write方法应用实例chap9-7.asp,运行结果如图9-10所示。Write方法演示实例,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件,图9-10,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件 Redirect方法:引导客户端的浏览器立即重定向到程序指定的URL位置,也就是进入另一个Web页面,类似于HTML中的超链接。语法格式为:Response.Redirect String 其中,参数String为网址变量或URL字符串 Write【例9-8】Redirect方法应用实

28、例:根据客户的不同身份,为不同的客户指定不同的页面。客户端脚本程序chap9-8.html代码如下,运行结果如图9-11所示。Write方法演示实例,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件,图9-11,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件当用户在文本框内输入待查找的关键字,并选择相应的搜索引擎后,单击“搜索”按钮,将执行程序chap9-9.asp,代码如下,运行结果如图9-12所示(此处省略图显示)。Redirect方法服务器端脚本演示实例,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件 Clear方法:清除Web Server缓冲区中的内

29、容,但不能清除HTTP首部。其语法格式为:Response.Clear 注意:在使用这一方法时,Response对象的Buffer 属性必须设置为True,否则,将会导致程序执行时 的错误。End方法:使Web服务器立即停止处理ASP程序,在调用End方法之后出现的所有代码都不会被执行,包括纯HTML代码的显示。语法格式为:Response.End Flush方法:立即将缓存在服务器端的Response 输出信息发送到客户端显示。语法格式为:Response.Flush,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件3Session对象使用Session对象可以存储特定的用户会话所

30、需的信息。当用户在应用程序的不同页面之间切换时,存储在Session对象中的变量不被清除,始终存在。可以使用Session方法显式地结束一个会话和设置空闲会话的超时时间。Session数据存储在服务器端,Cookie数据存储在客户端,因此不能通过查看Cookie来得到用户Session里的内容。如果浏览器不支持使用Cookie,或者浏览器设置为拒绝接受Cookie,则不能使用Session。Session对象的语法格式为:Session.属性|方法|事件,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件(1)Session对象的属性 SessionID属性:当用户第一次在一个应用程序

31、中申请一个ASP页面时,ASP将使用一个复杂的算法赋予Session一个值,然后将这个值以Cookie的形式保存在用户的计算机上。随后,每当用户向Web服务器请求一个页面,该Cookie就被放在HTTP请求的首部中发送到服务器上,这样服务器就能够根据SessionID识别用户。创建和检查这些Cookie需要一定的系统开销,可以使用标记来禁用Web服务器或特定页面的Cookie。SessionID属性就是用来访问这一值的,它以长整型数据类型返回。其语法格式为:Session.SessionID,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件【例9-9】SessionID属性应用实例c

32、hap9-10.asp,运行结果如图9-13所示。SessionID属性演示实例 当前的SessionID为:创建一个Session(“Counters”)变量,并且将内容设置为2,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件,图9-13,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件 Timeout属性:如果用户在指定时间内没有请求或刷新应用程序中的任何页,会话将自动结束。这段时间的默认值是20min。对于一个特定的会话,如果想设置一个与默认的超时值不同的值,可以设置Session对象的Timeout属性。Timeout属性以min为单位,为该应用程序中的Sessi

33、on对象指定超时时限,其语法格式为:Session.Timeout=IntNum,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件(2)Session对象的方法 Session对象只有一个方法,就是Abandon方法。该方法用于释放Web服务器用于保存某个用户会话信息的存储空间。语法格式为:Session.Abandon(3)Session对象的事件 Session_OnStart事件:在服务器创建新会话时发生,服务器在执行请求的页之前先处理该脚本。Session对象的OnStar事件中的代码(如果有的话)保存在global.asa文件中。语法格式为:Sub Session_OnSt

34、art End Sub,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件 Session_OnEnd事件 Session_OnEnd事件在用户会话结束时或脚本中调用了Session对象的Abandon方法时被触发。Session_OnEnd事件过程同样保存在global.asa文件里。语法格式为:Sub Session_OnEndt End Sub,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件4Application对象可以使用Application对象在给定的应用程序的所有用户之间共享信息,并在服务器运行期间持久地保存数据。当一个缺省的Web站点应用程序或虚拟目录应用

35、程序的个页面接收到第一个请求时,则产生个Application对象,紧接着会为该用户产生一个Session对象,并开始该用户的会话。当更多会话开始时,单个的Application对象仍会保持在作用域内。只有当Web服务器停止工作,或这个应用程序真正从服务器上卸载时,该应用程序才会关闭,Application对象也就被销毁Application对象的语法格式为:Application.属性|方法|事件,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件(1)Application对象的属性Application对象没有内置的属性,但用户可以创建自己的属性,又称为Application变量

36、。语法格式为:Application(“属性|集合名称”)=属性值由于存储在Application对象中的数据可以被所有用户读取,所以Application对象的属性特别适合在应用程序的用户之间传递信息。,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件(2)Application对象的方法 Lock()方法:用于锁定对象,禁止其他用户修改Application中的属性。这样在同一时刻只有一个用户对Application对象进行操作,以保证数据的一致性和完整性。直到调用Application对象的Unlock方法,才允许下一个用户修改Application的属性。如果用户没有明确地调

37、用Unlock方法,则服务器将在ASP文件结束或超时后解除对Application对象的锁定。语法格式为:Application.Lock Unlock方法:用于解除对Application对象的锁定,允许其他用户修改Application对象的属性。语法格式为:Application.UnLock,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件(3)Application对象的事件 Application_OnStart事件:仅在第一个用户请求时发生,并且只被每个应用触发一次。如果随后还有第二、第三用户访问该站点,Application_OnStart事件都不会再发生,因为应用已

38、处于运行状态。语法格式为:Sub Application_OnStart End Sub,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件 Application_OnEnd事件:在退出应用时或Web服务器被关闭时,于Session_OnEnd事件之后发生。同样对每个应用来说,Application_OnEnd事件也仅被触发一次。语法格式为:Sub Application_OnEnd End Sub,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件【例9-10】Application应用实例chap9-11.asp,运行结果如图9-14所示:Application演示实例

39、来访人数共计:,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件,图9-14,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件(4)Session与Application的比较两者都允许用户自定义属性,对象中的变量都可以进行存取,都有生命周期和作用域,但它们的生命周期和作用范围却是完全不同的。Session对象是每位连接者自己所拥有的,每有一个连接就为它单独产生一个Session对象,有多少个连接就有多少个对象,结束一个连接就终止一个Session对象。而Application对象是所有该网页连接者共有的一个对象。它是当有第一个连接时产生,直至所有连接都断开或Web服务器被

40、关闭而终止。Session对象通常被用来记录单个用户的信息,如:身份密码、个人喜好等。Application对象则被用来记录所有用户的公共信息,如:主页访问记数器、公共讨论区的信息等。,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件5Server对象Server对象提供对服务器访问的基本方法,主要包括创建ActiveX组件实例对象、映射目录和编码解码。语法格式为:Server.属性|方法(1)Server对象的属性Server对象的属性只有一个,即ScriptTimeOut。该属性的主要功能就是用于设置一个脚本文件执行的最长时间。语法格式为:Server.ScriptTimeOut

41、=n 其中,参数n为指定的延时时间长度,单位是s而不是min。系统的默认值为90s。用户可以通过设置参数n的值来改变某个脚本文件执行的最长时间,但不能低于90s,否则仍以默认值作为脚本文件执行的最长时间。,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件(2)Server对象的方法 HTMLEncode方法:允许对特定的字符串进行HTML编码。如果想显示某个HTML页面中涉及到的实际HTML代码或ASP脚本,必须使用Server对象的HTMLEncode方法。这样,当在浏览器中显示HTML字符串时,就不会把它解释为文本格式的指令。语法格式为:Server.HTMLEncode(Str

42、ing)。其中,参数String是指欲编码的字符串,它的功能是将字符串编码为ASCII形式的HTML文件。,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件 URLEncode方法:类似于HTMLEncode方法,但它将URL编码规则应用到指定的字符串中。当字符串数据以URL的形式传递到服务器时,在字符串中不允许出现空格,也不允许出现特殊字符。如果有空白字符,在结果中会使用“+”字符来代替,特殊字符则用%、数值与字符的方式表示。URLEncode方法的语法格式为:Server.URLEncode(String)其中,参数String是指URL字符串。,9.2 ASP技术,9.2.4

43、ASP的内置对象和应用组件 MapPath方法:是将指定的虚拟路径(当前服务器上的绝对路径或相对于当前页面的路径)映射到物理路径上去。MapPath方法的语法格式为:Server.MapPath(String)其中,参数String是指虚拟路径字符串。语句中String以一个正斜杠(/)或反斜杠()开始,则MapPath方法将返回服务器端的宿主目录。该方法通常被用来打开一个数据库文件或文本文件。,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件 CreateObject方法:可以用来创建已经注册到服务器上的ActiveX组件实例。CreateObject方法的语法格式为:Server

44、.CreateObjec(ProgID)这里,ProgID指定了组件标识。组件可以是各种形式的可执行程序(DLL、EXE等),不必考虑它的位置,只要在Windows NT(或98)中登记注册了这些程序,COM就会在系统注册表(Registry)里维护这些资料,让程序员调用。注意:CreateObiect方法仅能用来创建外置对象实例,不能用来创建系统的内置对象实例。CreateObiect方法建立的对象实例仅在创建它的页面中有效。,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件 Transfer方法:将请求从正在执行的ASP文件发送到另一个文件中。在传输过程中,原来请求的ASP文件立

45、即终止执行,但并不清除输出缓冲区。请求信息然后在目标文件中变得可用并开始执行。执行过程中,该文件与原来请求的文件访问同一组内部对象。Transfer方法的语法格式为:Server.Transfer(String)其中,参数String是指包含了新文件URL的字符串。【例9-11】Transfer方法应用实例:假若有两个.asp文件,chap9-12.asp和chap9-13.asp,运行结果如图9-15所示(此处省略图显示):,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件Chap9-12.asp代码如下:Transfer方法演示实例 Response.Write Session.

46、SessionIDResponse.Write()Response.Write 正准备进入chap9-13.asp文件“Server.Transfer(chap9-13.asp)%Chap9-13.asp代码如下:Transfer方法演示实例)Response.Write 欢迎进入chap9-13.asp文件“%,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件 Execute方法:用于停止当前文件的运行,并将控制权交给作为一个参数传递过来的另一个文件,执行其内容,然后再将控制权交给原始的文件。该方法类似于许多编程语言的过程调用,只不过过程调用是执行一个过程,而Execute方法是执

47、行一个完整的ASP文件。语法格式为:Server.Execute(String)其中,参数String是指控制权变换文件的相对URL。,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件【例9-12】Execute方法应用实例:假若有两个.asp文件,chap9-14.asp和chap9-15.asp,运行结果如图9-16所示(此处省略图显示):Chap9-14.asp代码如下:Execute方法演示实例 Response.Write 正准备进入chap9-15.asp文件“Server.Execute(chap9-15.asp)Response.Write 退出chap9-15.as

48、p文件,返回chap9-14.asp文件%chap9-15.asp代码如下:Transfer方法演示实例“%,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件 GetLastError方法:用于发现执行文件的ASP程序过程中最后产生的错误信息。返回一个ASPError对象的参考实例,包括产生错误的文件、错误行号及错误代码等。语法格式为:Server.GetLastError(),9.2 ASP技术,9.2.4 ASP的内置对象和应用组件6ObjectContext对象使用ObjectContext对象可以提交或放弃一项由MTS(Microsoft Transaction Server

49、)管理的事务。ASP给出了“”标识,用来标识事务处理要求,运行时如果遇到“”就知道这个Web页面要使用分布式事务处理来运行。这时数据的传输必须在每一个数据传输点都成功,否则,所有的数据更新都将无效。TRANSACTION标识可以声明该Web页面以MTS分布式处理事务,其语法格式为:其中的功能参数说明见表9-7所示:,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件TRANCTION标识使用的参数见表9-7所示:,9.2 ASP技术,9.2.4 ASP的内置对象和应用组件(1)ObjectContext对象的方法 SetComplete方法:立即终止该Web页面所进行的事务处理,如果事

50、务中的所有组件都调用SetComplete方法,事务将完成,所有处理的数据都有效。SetComplete方法忽略脚本中以前调用过的任何SetAbort方法。该方法的语法格式为:ObjectContext.SetComplete SetAbort方法:立即终止该Web页面所进行的事务处理,但该次事务处理被声明为失败,所有处理的数据都无效,必须被还原。该方法的语法格式为:ObjectContext.SetAbort(),9.2 ASP技术,9.2.4 ASP的内置对象和应用组件(2)ObjectContext对象的事件 OnTransactionCommit事件:在一个脚本事务成功提交后发生,当该

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号