全套课件·《ASP程序设计(第二版)_第1页
全套课件·《ASP程序设计(第二版)_第2页
全套课件·《ASP程序设计(第二版)_第3页
全套课件·《ASP程序设计(第二版)_第4页
全套课件·《ASP程序设计(第二版)_第5页
已阅读5页,还剩208页未读 继续免费阅读

下载本文档

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

文档简介

1、ASP程序设计(第二版) 第1章 ASP简介第1章 ASP简介1.1 什么是ASP?1.2 ASP的工作平台1.3 创建 ASP 页1.4 本章小节1.1 什么是ASP? ASP是Active Server Pages的简称,是服务器端脚本编写环境,使用它可以创建和运行动态、交互的 Web 服务器应用程序。使用 ASP 可以组合 HTML 页、脚本命令和 ActiveX 组件以创建交互的 Web页和基于Web 的功能强大的应用程序。ASP很容易开发和修改,可用来创建动态 Web 页或生成功能强大的 Web 应用程序。 浏览器从 Web 服务器上请求 .asp 文件时,ASP 脚本开始运行。然后

2、 Web 服务器调用 ASP,ASP 全面读取请求的文件,执行所有脚本命令,并将 Web 页传送给浏览器。 由于脚本在服务器上而不是在客户端运行,传送到浏览器上的 Web 页是在 Web 服务器上生成的,所以不必担心浏览器能否处理脚。 Active Server Pages 模型如下图示: ASP在功能方面有所增强,主要如下: Microsoft 脚本调试程序 事务性脚本 管理工具 隔离 ASP 应用程序 文件上传 新的ASP组件 应用程序根目录的改变 支持 Internet Explorer5.0/6.0 通道和 Web 预测 支持 HTTP 1.1 协议 使用脚本语言 1.2 ASP的工作

3、平台 ASP程序是在服务器端执行,因此要在本地计算机运行ASP程序就必须安装相应的Web服务器软件。这里只介绍与学习ASP密切相关的Windows操作系统下的Web服务器软件。本节以Windows XP Professional版本为例,介绍IIS的安装及配置过程。1.3 创建 ASP 页 Active Server Pages(ASP)文件是以.asp为扩展名的文本文件,这个文本文件可以包括下列部分的任意组合: 文本,HTML标记, ASP脚本命令。 使用任何的文本编辑器都可以创建.asp文件。使用那些带有ASP增强支持的编辑器将更能提高效率 1.4 本章小结 ASP是一种类似HTML、Sc

4、ript与CGI(Common Gateway Interface通用网关接口)的结合体,但是其运行效率却比CGI更高。程序编制也比HTML更方便且更有灵活性,程序安全及保密性也远比Script好。第2章 Web页面制作基础第2章 Web页面制作基础2.1 HTML语言概述 2.2 制作表格2.3 制作表单2.4 框架结构 2.5 本章小节2.1 HTML语言概述 HTML文件的基本结构: 这是标题部分! 这是正文部分! 2.2 制作表格 表格可以有效的控制网页的空间和布局,从而将大量易混淆的信息有效的组织起来,使之易读。 另外,表格由行和列组成,由于浏览器忽略空白,包括制表符,因此通常在HT

5、ML中要用表格来显示需要用空白分开的项目。表格的基本结构大致如下所示: 定义标题 定义表行 定义表头 定义表元即表格的具体数据TABLE中常用的标记 : : 用来为表格添加一行,但此标记需要结束标记来配合,并且要在表格中使用,其格式如下: 有BGCOLOR、ALIGN、VALIGN等几个常用属性。 : 用来包含实际的表格数据,也可以按习惯将看作表格的列标志符。标志符能包含任意可以在HTML文件主体中出现的标志符,如图像,超链接和窗体,甚至还可以是其他表格,也即表格的嵌套。其格式如下: 标志符常用的几个属性有:width、height、rowspan、colspan、align、valign、b

6、gcolor、bgground等等。 : 标志符和的用法基本上一样,然而,在这个标志符间出现的文字显示出来是黑体。使用标志符不仅可以为列建立表头,还可以为行建立表头,只要把它置于一行的开头。 实际上,可以把放置于一个表格中任何一个可以放置的位置,两者之间的唯一区别是使单元格中的文字以黑体显示并将文字显示在中央。2.3 制作表单 表单是用户和Web应用程序、Web数据库等进行交互的界面,可以说表单是ASP与HTML之间结合的重要桥梁和纽带。 在Web上,通过表单可以进行用户调查或民意测验,也可以用来显示注册或定购信息,从而为实现实时互动奠定基础。 在HTML中,FORM的标记是和,即开始和结束标

7、记,在开始标记中一般包含两个属性:ACTION和METHOD。 在和之间,可以使用以外的任何HTML标记,这使FROM变得非常灵活,从而可以制作出功能强大且精美的表单。 FORM中常用的标记主要有: “INPUT”、“SELECT”和“TEXTAREA”。 INPUT是一个单一的标记,没有结束标记,其格式如下: INPUT是输入单行文本时使用的标记,INPUT中有六个属性:TYPE、NAME、SIZE、VALUE、MAXLENGTH、CHECKED。 TYPE属性指明输入的类型,也决定了INPUT标记的表现形式,其它五个属性因TYPE的类型不同,其含义也不同。 SELECT有开始和结束标记,全

8、部选项包含在SELECT的开始和结束标记中。结构如下: SELECT带有NAME、SIZE、MULTIPLE三个属性 。 TEXTAREA标记可以在浏览器中出现一个可以输入多行文字的输入框。它有开始和结束标记,类似与Text类型的INPUT框,区别在于Text类型的INPUT框只能输入单行信息,TEXTAREA为用户提供了输入多行信息的途径。 TEXTAREA标记带有三个属性: NAME、ROWS、COLS。2.4 框架结构 在HTML中,为解决网页的框架结构,引入了框架标记。使用框架标记,就可以在一个屏幕上多开几个窗口,在每个不同多窗口显示不同的HTML文件。 目前流行的绝大多数浏览器都支持

9、框架结构,但要注意有少数老版本的浏览器可能不支持框架结构。 框架结构格式如下: 使用和标记取代和,就可以把浏览器窗口分成几个小窗口。 FRAMESET标记有两个属性ROWS、COLS,用来说明将把浏览器分成小窗口的数量和各个小窗口的大小。 ROWS:说明窗口横向分割的情况; COLS:用来说明纵向分割的情况。 下面用一个例子来说明:通过浏览器运行,可以得到如下图的页面效果: 通过前面的介绍,相信对框架结构已经有所了解。这里将进一步介绍FRAME标记的部分属性。 FRAME是一个单向标记,使用时放在FRAMESET的开始和结束标记之间。它有六个属性来描述每个子窗口的风格: SRC、NAME、MA

10、RGINWIDTH、 MARGINHEIGHT、SCROLLING、NORESIZE。2.5 本章小结 HTML是Web页面制作的基础,任何一个Web页面都离不开HTML,而且HTML也是Web应用开发的基础,所以在ASP程序设计的过程中不可避免的要涉及到HTML。 HTML是超文本标记语言(Hyper Text Markup Language)的缩写,是用来表示网上信息的符号标记语言。 第3章 ASP内置对象第3章 ASP内置对象3.1 Request对象3.2 Response对象3.3 Server对象3.4 Session对象3.5 Application对象3.6 ObjectCon

11、text对象 3.7 Global.asa文件3.8 本章小节 本章将介绍ASP本身所提供的对象,这些对象在使用时并不需要经过任何声明或建立的过程,因此,称为ASP内置对象。它们包括Request对象、Response对象、Server对象、Session对象、Application对象,以及ObjectContext对象 。 这些对象都有其特别的任务与工作,在详细阐述之前,先简单地说明每个内置对象的功能,然后再将这些对象分六个小节进行介绍。 对象名称主要作用Request对象负责在HTTP请求期间检索客户端浏览器传递给服务器的信息。 Response对象动态响应客户端请求(Request),

12、并将动态生成的响应结果返回到客户端浏览器中 Server对象创建对象以及提供服务器属性信息Session对象负责存储单个用户的信息,以便重复使用Application对象负责存储共享数据以供多个用户使用Object Context对象 供ASP程序直接配合Microsoft Transaction Server(MTS)进行分散式的事务处理。 3.1 Request对象 Request对象通常包括了用户端的相关信息,如浏览器的种类、表头信息、表单参数及cookies等等。 而Response对象则是包含Web服务器所要响应给用户的各项信息。 这两个对象的功能是对立的,它们结合在一起可以实现客户

13、端与服务器端的数据交换。 Request对象的语法描述如下: Request.collection|property|method(variable) 其中collection表示Request对象的集合,property表示Request对象的属性,method表示Request对象的方法,variable是一些字符串,这些字符串指定要从集合中检索的项目,或作为方法或属性的输入。 Request对象提供BinaryRead方法 ,该方法是以二进制方式来读取客户端使用POST传送方法所传递的数据。其语法形式如下: Request对象只提供一个TotalBytes属性,这是一个只读的属性,表示从

14、客户端所接收数据的字节的长度。其语法如下:字节长度=Request.TotalBytesVariant数组=Request.BinaryRead(Count) Request对象的数据集合如下: 集 合功 能 说 明ClientCertificate存储发送到HTTP请求中客户端证书中的字段值。CookiesHTTP请求中被发送的cookies的值。FormHTTP请求正文中表格元素的值。QueryStringHTTP中查询字符串中变量的值。ServerVariables预定的环境变量的值。1、Form数据集合 Form数据集合是Request对象中最常用的数据集合,它检索的是以POST方式提

15、交的HTML表单元素的数据。其语法如下: 其中表单对象名称是指定要检索的表格元素的名称,索引值是访问某参数中多个值中的一个。表单对象内容=Request.Form(“表单对象名称”)或表单对象内容=Request.Form(“索引值”) 2、QueryString数据集合 QueryString集合用来收集以GET方式提交的数据表单,而以POST方式提交的表单数据则用Form集合来收集。 QueryString数据集合与Form数据集合在实现上没有太大的区别,主要的区别在于前者是通过取得HTTP的附加参数来传递数据(附加参数通常是使用“?”来连接的,多个参数间用 & 隔开),而后者是通过单独的

16、数据包来传递数据。3、Cookies数据集合 Response对象的Cookies数据集合是负责取得记录在客户端的Cookies数据,允许用户检索在HTTP请求中发送的cookie的值。其语法如下:CookieValue=Request.Cookies(CookieName)(key)|.Attribute 其中Key参数是表示可以从Cookies目录中取得Cookies的值,即用于从Cookie字典中检索子关键字的值,是一个选择性参数。4、ServerVariables数据集合 ServerVariables数据集合是负责取得Web服务器端的环境变量(Server Environment V

17、ariable),检索预定的环境变量。 同样,可以利用环境变量的名称来取得指定的环境变量的值,语法如下:Request.ServerVariables(环境变量的名称)5、ClientCertificate数据集合 ClientCertificate集合从Web浏览器发布请求中获取验证字段(由X.509标准指定)要注意的是,必须先将Web服务器配置为要求客户端验证,然后才能使用ClientCertificate集合。语法如下:Request.ClientCertificate(关键字子字段) 3.2 Response对象 在ASP中负责将信息传递给用户的对象就是Response对象。 Resp

18、onse对象用于动态响应客户端请求(Request),并将动态生成的响应结果返回到客户端浏览器中,使用该对象可以动态创建web页面,改变HTTP标题头等。 Response对象的使用语法为: 其中collection表示Response对象的集合,property表示Response对象的属性,method表示Response对象的方法。Response.collection|property|method Response对象的方法:方 法功 能 说 明AddHeader从名称到值设置HTML标题。AppendToLog在该请求的Web服务器日志条目后添加字符串。BinaryWrite将给出

19、信息写入到当前HTTP输出中,并且不进行任何字符集转换。Clear清除任何缓冲的HTML输出。End停止处理.asp文件并返回当前的结果。Flush立即发送缓冲的输出。Redirect将重指示信息发送到浏览器,尝试连接另一个URL。Write将变量作为字符串写入当前的HTTP输出。Response对象的属性:属 性功 能 说 明Buffer表明页输出是否被缓冲。CacheControl决定代理服务器是否能缓存ASP生成的输出。Charset将字符集的名称添加到内容类型标题中。ContentType指定响应的HTTP内容类型。 Expires在浏览器中缓存的页面超时前,指定缓存的时间。Expir

20、esAbsolute指定浏览器上缓存页面超时的日期和时间。IsClientConnected表明客户端是否与服务器断开。Pics将PICS标记值添加到响应标题的PICS标记字段中。Status服务器返回的状态行的值。 Response对象只有Cookies一个数据集合,它允许将数据设置在客户端的浏览器中。假如所指定名称的Cookies不存在,系统会自动在客户端的浏览器中建立新的Cookies。其语法如下:Response.Cookies(CookiesName(Key)|.Attribute =CookiesValue3.3 Server对象 Server对象提供对服务器上的方法和属性的访问,

21、其中大多数方法和属性是作为实用程序的功能服务的。 有了 Server 对象,用户就可以在服务器上启动 ActiveX 对象例程,并使用 Active Server 服务提供象 HTML 和 URL 编码这样的函数。Sever对象的使用语法为: 其中property表示Server对象的属性,method表示Server对象的方法。 Server的属性只有ScriptTimeout ,表示超时值,即在脚本运行超过这一时间之后作超时处理。系统的缺省值为90秒 。Sperty|methodServer对象的方法 :方 法描 述CreateObject创建服务器组件的实例。HTMLEncode将HTM

22、L编码应用到指定的字符串。MapPath将指定的虚拟路径,无论是当前服务器上的绝对路径,还是当前页的相对路径,映射为物理路径。URLEncode将URL编码规则,包括转义字符,应用到字符串。Transfer直接输出.asp文件请求,不必离开服务器队列。Execute执行另一个.asp文件,然后返回当前文件。GetLastError获取ASP的错误。3.4 Session对象 由于网页是一种无状态的程序,因此无法得知用户的浏览状态。 在ASP中,是通过Session对象记录用户的相关信息,用来作为用户再次对服务器提供要求时作确认。 要注意的是,会话状态仅在支持 Cookie 的浏览器中保留。如果

23、客户关闭了 Cookie 选项,Session 对象也就不能发挥作用了。 Session对象的使用语法为: 其中collection表示Session对象的集合,property表示Session对象的属性,method表示Session对象的方法。 Session.collection|property|methodSession对象的集合 : 绝大部分的Session变量存放于Contents集合中,当创建一个新的Session变量时,其实就是在Cotents集合中添加了一项。 集 合 名描 述Contents包含已用脚本命令添加到会话中的项目。StaticObjects包含通过标记创建的

24、并给定了会话作用域的对象。Session对象的属性:属 性 名描 述CodePage将用于符号映射的代码页。LCID现场标识。SessionID返回用户的会话验证。Timeout应用程序会话状态的超时时限,以分钟为单位。Session对象提供了三种方法: Abandon方法删除所有存储在Session对象中的对象并释放这些对象的源。 Contents.Remove方法常用于从Session.contents集合中删除指定的变量,但不会终止当前的会话。 Contents.RemoveAll方法用于从Session.Contents集合中删除所有的变量。 Session对象对应两个事件:Sessi

25、on_OnEnd、Session_OnStart。 其中Session_OnStart事件对应Session对象的起始事件:每当产生一个Session对象,该事件所定义的代码都将被激活;Session_OnEnd事件对应Session对象的结束事件:当Session对象被终止或失效时,该事件所对应的代码被激活。 这两个事件的代码必须放在global.asa文件中,语法如下:Sub Session_OnStart 事件的处理程序代码End SubSub Session_OnEnd 事件的处理程序代码End Sub 其中,ScriptLanguage是指定用于编写事件脚本的脚本编写语言。 3.5

26、Application对象 Application对象和Session对象有很多相似之处,它们的功能都是用于在不同的ASP之间共享信息。 最大的不同在于其应用的范围: Application对象是对所有用户, Session对象是对单一用户。 Application对象的集合如下:集 合 名描 述Contents包含所有通过脚本命令添加到应用程序中的项。StaticObjects包含所有用标记添加到会话中的对象。 Contents数据集合可以允许程序取得用户可以使用的所有Application对象,但不包括以标签所建立的对象及Server对象的CreateObject方法所建立的对象。 App

27、lication对象提供了Contents.Remove方法、Contents.RemoveAll方法、Lock方法与UnLock方法,语法如下:Application.Contents.Remove(“变量名“)Application.Contents.RemoveAll()锁定Apploication对象Application.Lock解锁Apploication对象Application.UnLock Application对象对应两个事件:Application_OnEnd和Application_OnStart。 其中Application_OnStart事件对应Applicatio

28、n对象的起始事件:每当产生一个Application对象,该事件所定义的代码都将被激活;Application_OnEnd事件对应Session对象的结束事件:当Application对象被终止或失效时,该事件所对应的代码被激活。 这两个事件的代码必须放在global.asa文件中,语法如下: Sub Application_OnEnd 事件的处理代码End SubSub Application_OnEnd 事件的处理代码End Sub3.6 ObjectContext对象 ObjectContext对象是一个以组件为主的事务处理系统,可以保证事务的成功完成。使用ObjectContext对象

29、,就允许程序在网页中直接配合Microsoft Transaction Server(MTS)使用,从而可以管理或开发高效率的Web服务器应用程序。 ObjectContext对象在ASP中是使用TRANSACTIO关键字来完成的,语法如下: 要注意的是TRANSACTION 指令必须位于.asp文件中的第一行,否则将出错,必须将该指令加到要在某个事务下运行的每一页中。当脚本处理完成之后,当前事务也就结束了。 ObjectContext的方法如下:方 法意 义SetCompleteSetComplete方法声明脚本不了解事务未完成的原因。如果事务中的所有组件都调用SetComplete,事务将

30、完成。SetAbortSetAbort方法声明被脚本初始化的事务未完成,无法更新源。ObjectContext对象提供OnTransactionCommit、OnTransactionAbort两个事件处理程序,前者是在事务完成时被激活,后者是在事务失败时激活。语法如下: SubOnTransactionCommit() 处理程序End SubSubOnTransactionAbort() 处理程序End Sub3.7 Global.asa文件 Global.asa是一个可选文件,程序编写者可以在该文件中指定事件脚本,并声明具有会话和应用程序作用域的对象。 该文件必须存放在应用程序的根目录内。

31、每个应用程序只能有一个Global.asa文件。 在Global.asa文件中,如果包含的脚本没有用标记封装,或定义的对象没有会话或应用程序作用域,则服务器将返回错误。 可以用任何支持脚本的语言编写Global.asa文件中包含的脚本。如果多个事件使用同一种脚本语言,就可以将它们组织在一组标记中。Global.asa文件的基本格式如下: Sub Application_OnStart 事件的处理代码 End Sub Sub Session_OnStart 事件的处理代码 End Sub Sub Session_OnEnd 事件的处理代码 End Sub Sub Application_OnEn

32、d 事件的处理代码 End Sub3.8 本章小结 ASP提供6种内置对象:Request对象、Response对象、Server对象、 Session对象、Application对象及ObjectContext对象。 它们具有面向对象性,其中大部分的细节都封装好了,开发人员只要了解这些对象的方法、属性和事件,就可以直接调用它们。第4章 ASP组件第4章 ASP组件4.1 Ad Rotator组件4.2 Browser Capabilities组件4.3 Database Access 组件4.4 File Access组件4.5 Content Linking组件4.6 其它ASP组件4.7

33、 本章小节 使用组件可以完成诸如Web广告条轮换、浏览器兼容、数据库存取、服务器端文件存取等多种功能,值得一提的是,ASP提供的组件是在服务器端运行。 组 件 名描 述Ad Rotator创建一个Ad Rotator对象,按用户指定的播放顺序,在同一页上自动轮换显示各种广告。Browser Capabilities创建一个Browser Type对象,该对象决定访问Web站点的每个浏览器的性能、类型及版本。Database Access提供用ADO 对数据库的访问。Content Linking创建一个Next Link对象,该对象可动态生成Web页内容列表,并象书一样将各页顺续连接。File

34、 Access提供对Web服务器端文件的输入输出访问。4.1 Ad Rotator组件 Ad Rotator组件中,能很容易实现在Web页面上插入一个循环播放广告横幅的播放器,可以通过定义一个播放顺序文件,使播放器能根据文件中定义的播放顺序轮流播放一系列广告图片。 Ad Rotator组件所使用的播放顺序文件是一个文本文件,只要修改这个文件,就可以实现广告横幅播放顺序的更新。 一般来说,Ad Rotator组件相关文件 除了必要的Adrot.dll文件外,还要有循环定时文件,另外也可以有重定向文件。 循环定时文件也叫作Rotator Schedule文件,包含Ad Rotator组件用于管理和

35、显示各种广告图象的信息。 重定向文件是Ad Rotator组件中可选择项,如果在循环定时文件中指定使用重定向文件,每当用户点击广告时,其发出的请求对会重定向到该文件。 Ad Rotator组件的属性属 性 名语 法描 述BorderBorder = size允许用户指定显示广告时四周是否带边框。size 指定显示的广告四周的边框宽度,其默认值在 Rotator Schedule 文件的文件头中设置。ClickableClickable = value允许用户指定是否将广告作为超链接显示。value指定广告是否为超链接。参数值为布尔值:当为TRUE,将广告作为超链接显示。当为FALSE 将广告不

36、作为超链接显示。默认值是 TRUE。TargetFramesTargetFrame = frame用于指定链接将被装入的目标框架。该属性完成的功能等价于HTML语句中的TARGET参数。frame指定用来显示广告框架的名称或HTML框架关键字,默认值是NO FRAME。 该组件只有GetAdvertisement一个方法,主要功能在于重新取得一个将要显示的图片和超文本链接。当用户第一次启动网页或重新刷新时,系统会重新取得下一个图片。语法如下: 其中rotationSchedulePath指定Rotator Schedule文件相对于虚拟目录的位置。GetAdvertisement(rotati

37、onSchedulePath)4.2 Browser Capabilities组件 ASP提供的Brower Capabilities组件的使用,可以轻松地获取客户端浏览器的类型,进而判断浏览器所支持的特性,然后再根据此信息,启用浏览器支持的特性,屏蔽不支持的特性。 Browser Capabilities组件除包含一系列属性、方法外,也有一个外部驱动文件Browscap.ini文件。语法如下: Set Browser类型变量 = Server.CreateObject(MSWC.BrowserType) Browscap.ini文件中主要定义了各种浏览器所具有的属性,可以在该文件中声明属性定

38、义任意数量的浏览器数目,也可以设置用户浏览器不在所定义的列表中时使用的默认值。 对每一个浏览器定义,都可以提供一个用户代理的HTTP(HTTP User Agent)标题和属性以及希望与标题相关联的值。4.3 Database Access 组件 Database Access 组件是ASP的精华,通过使用该组件,Web开发人员可以很容易地实现在Web应用程序中访问数据库。 Database Access 组件可以通过ADO访问存储在数据库或其他表格化数据结构中的信息,同时支持ODBC3.0的数据库连接池特征,因此具有很强的数据库存取能力。 4.4 File Access组件 File Acc

39、ess组件可用来访问计算机文件系统的方法和属性。该组件是由FileSystemObject对象、TextStream对象组成。其中,FileSystemObject对象负责文件或目录的管理,但如果你要访问文件的内容,就必须与TextStream对象一起使用。 要使用FileSystemObject对象,必须先创建其对象实例。语法如下: FileSystemObject对象提供对计算机文件系统的访问,共有24种方法(教材表4-6)和一种属性(Driver )。 TextStream对象的使用可以有助于顺序访问文件,可以协助利用File Access组件启动或建立的文件。Set 对象实例=Crea

40、teObject(“Scripting.FileSystemObject”)TextStream对象属性一共有4个如下:属 性 名语 法描 述AtEndOfLineobject.AtEndOfLine只读属性,如果文件指针指向行末标记,就返回True;否则返回 False。AtEndOfStreamobject.AtEndOfStream只读属性,如果文件指针位于TextStream 文件末,则返回True;否则返回False。Columnobject.Column只读属性,返回TextStream文件中当前字符位置的列号Lineobject.Line只读属性,返回TextStream文件中的

41、当前行号。 TextStream对象方法:方 法 名语 法描 述Closeobject.Close关闭打开的TextStream文件。Readobject.Read(characters)读入指定数目的字符,并返回结果字符串。ReadAllobject.ReadAll读入全部TextStream文件并返回结果字符串。ReadLineobject.ReadLine读入一整行字符,并返回结果字符串。Skipobject.Skip(characters)跳过指定数目的字符。SkipLineobject.SkipLine跳过下一行。Writeobject.Write(string)写入指定字符串。Wr

42、iteLineobject.WriteLine(string)写入指定字符串和换行符。WriteBlankLinesobject.WriteBlankLines(lines)写入指定数目的换行符。4.5 Content Linking组件 Content Linking组件的主要目的在于管理网页或网址间的超文本链接,可以通过一个网页或网址的线性排列顺序列表来管理多个网页或网址间的超文本链接顺序。 该组件读取一个被称为线性排列顺序文本链接的文本文件,根据该文件的内容,组件可以自动创建每个相关页面的导航链接和目录链接。 Content Linking组件创建语法如下: 线性排列顺序文件是一个包含W

43、eb页列表的文本文件,语法如下: 其中参数WebURL表示的Web页的虚拟或相对URL。参数text-description包含 WebURL 描述文字的值。参数comment为组件不处理的说明性文字。 Set NextLink = Server.CreateObject(MSWC.NextLink)WebURL text-description comment 4.6 其它ASP组件 ASP还包括其它组件,每个组件都相当于一个小工具,利用这些组件,就可以快速、方便的构造网页。比如Content Rotator组件、Permission Checker组件、Logging Utility组件、

44、Tools组件等。 4.7 本章小结 ASP提供一些内置组件来执行公共任务,从而提高开发效率。这些组件在服务器端运行,所以不需要客户端支持ActiveX。 调用ASP组件前必须先通过Server对象的CreateObject方法或标记创建它才能使用。第5章 VBScript和Jscript第5章 VBScript和Jscript5.1 服务器端脚本和客户端脚5.2 VBScript脚本语言5.3 JScript脚本语言 ASP程序是由文本、HTML标记和脚本组合而成的。可以用任何脚本语言来编写ASP程序中的脚本部分,只要Web服务器上安装了该语言的脚本引擎。 目前比较流行的脚本语言有VBScr

45、ipt和Jscript。5.1 服务器端脚本和客户端脚本 使用VBScript和JScript,既可编写服务器端脚本,也可编写客户端脚本。服务器端脚本在Web服务器上执行,生成发送到浏览器的HTML页面由Web服务器负责。 在ASP中,服务器端脚本要用分隔符括起,或者在标记中用RUNAT=Server表示脚本在服务器端执行。 脚本代码能够嵌入到HTML文档的任何地方,通常都是将所有脚本代码集中放在HEAD部分,这样可以确保在BODY部分调用代码之前所有脚本代码都被读取并解码。5.2 VBScript脚本语言 VBScript是Visual Basic的一个子集,编程方法和Visual Basi

46、c基本相同,但有相当多的Visual Basic特性在VBScript中都被删去了。例如,VBScript只有一种数据类型,即Variant类型,而Visual Basic却具有大部分通用程序语言所具有的数据类型 。1、将单行语句分成多行 有时一条语句可能会很长,这给打印和阅读带来不便,此时可用续行符“ -”(一个空格紧跟一个下划线)将要显示的长语句分成多行书写。 注意:同一行内,续行符后面不能有注释。 2、在代码中加注释 在VBScript中,注释符采用西文单引号“”,即以撇号作为注释的开始。注释可以和语句在同一行并写在语句的后面,也可单独占一行。 注意:在ASP输出命令中不能包含注释。 3

47、、使用不同进制的数字 在VBScript中,除了可以用默认的十进制来表示数字外,还允许用十六进制或八进制来表示数字。对于不同进制的数,VBScript在表达方式上有明确规定,即十六进制数要加前缀H(如H9),八进制数要加前缀0(数字零)(如011)。4、数据类型 VBScript只有一种数据类型,即Variant类型。由于Variant类型是VBScript中唯一的数据类型,因此它也是VBScript中所有函数的返回值的数据类型。Variant类型可以在不同场合代表不同类型的数据。5、变量 声明变量有两种方式,即显式声明和隐式声明。 显式声明要用到Dim语句。 隐式声明是指脚本中第一次使用变量

48、时,就自动创建该变量。 在VBScript中,变量命名必须遵循这样的规则:名字必须以字母开头;名字中不能含有句号;名字不能超过255个字符;名字不能和关键字同名;名字在被声明的作用域内必须唯一。 VBScript不区分大小写。 变量被声明后不是在任何地方都可以被使用,每个变量都有它的作用域,作用域是指程序中哪些代码能引用变量。过程内部声明变量称为过程级变量或局部变量,这样的变量只有在声明它们的过程中才能使用,即无法在过程外部访问;过程外部声明的变量称为脚本级变量或全局变量,即在同一个程序文件中的任何脚本命令均可访问和修改该变量的值。过程级和脚本级变量可以同名,修改其中一个变量的值,不会影响另一

49、个。6、常量 常量是具有一定含义的名称,用于代替数值或字符串。 在VBScript中,还可以用Const语句来定义自己的常量。 注意:如果要在多个.asp文件中使用常量,那么应把常量定义放在单独的文件中,然后在所有使用该常量的.asp文件中包含这些定义。 7、数组 在VBScript中,把具有相同名字不同下标值的一组变量称为数组变量,简称数组。 数组有上界和下界,数组中的元素在上下界内是连续的。 在VBScript中,数组有两种类型,即固定数组和动态数组。8、运算 在VBScript中,可以进行4种类型的运算,即算术运算、连接运算、关系运算和逻辑运算。 在表达式中,当运算符不止一种时,要首先进

50、行算术运算,接着进行关系运算,然后进行逻辑运算。9、控制结构 在VBScript中,控制结构有两种,即判定结构和循环结构。 VBScript支持的判定结构分条件结构和选择结构两种。 可以用选择结构来替代块结构的条件语句,以便在多个语句块中有选择地执行其中的一个。 循环结构允许重复执行一行或数行代码。在VBScript 中可使用下列循环语句:Do.Loop: 当(或直到)条件为 True 时循环。 For.Next: 指定循环次数,使用计数器重复运行语句。 For Each.Next: 对于集合中的每项或数组中的每个元素,重复执行一组语句10、with语句 with语句用于对某个对象执行一系列操

51、作,而不用重复指出对象的名字。 with语句可以嵌套,即With语句能够置入另一个With语句中,但不能用一个with来设置多个不同的对象。11、过程 过程是用来执行特定任务的独立的程序代码。 使用过程,可以将程序划分成一个个较小的逻辑单元,过程中的代码能够被反复调用,这样可以减少不必要的重复。 VBScript根据是否返回值将过程划分为Sub过程(子过程)和Function过程(函数)。 5.3 JScript脚本语言 Jscript完全实现了ECMAScript-262语言规范并提供了一些增强特性。与C+和Java这样成熟的面向对象语言相比,功能要弱些,不能用Jscript来编写独立运行的

52、应用程序,Jscript脚本只能在某个解释器上运行,该解释器既可是Web服务器,也可是Web浏览器。Jscript是一种宽松类型的语言,即不必显式定义变量的数据类型,JScript会根据需要自动进行转换。1、语句和语句块 在JScript中,语句由一行中的一个或多个项和符号组成。每行开始一条新的语句。可以用分号(;)来显式地终止一条语句。分号是JScript的语句终止符。 用大括号括起来的一组Jscript语句称为一个语句块。2、变量 JScript通常不要求变量声明,但在使用之前先进行声明是一种良好的编程习惯。在JScript中,变量声明要用到var语句。 注意:如果直接对变量赋值,则隐式声

53、明了一个变量。不过,不能在没有声明的情况就使用一个变量,这样做将导致运行时产生错误。 变量名的长度可以任意,但必须遵循以下规则: 第一个字符必须是字母(大小写均可)、 下划线(_)或美元符(); 后续字符可以是字母、数字、下划线或 美元符: 变量名不能是保留关键字。 Jscript区分大小写 3、数据类型 JScript有六种数据类型(见教材表5-6)。 在JScript中,变量在技术上没有固定的类型,但具有与其包含的值的类型等价的类型。变量或数据的一部分有时会被强制转换为别的类型。 4、运算符 Jscript的运算符如教材表5-7所示。5、数组 在JScript中,可以用new运算符和Arr

54、ay()构造函数来创建数组。 当创建数组时,Jscript将在该数组中包括一个只写的length属性,用来记录数组中的项数。 创建数组后,可以用方括号来访问数组中的单个元素。6、控制结构 JScript支持if和ifelse条件语句。 JScript支持条件运算。条件运算在待测条件后用一个问号并指定两个可选项,一个可选项在条件满足时使用,另一个在条件不满足时使用,选项间用冒号隔开。 JScript支持for循环、forin循环、while循环和dowhile循环。7、函数 在JScript中,可以用function语句来创建自己的函数。8、复制、传递和比较数据 在JScript中,对数据的处理

55、取决于该数据的类型。 数值型数据和布尔型(true和false)是按值来复制、传递和比较的。 对象、数组及函数在大多数环境中都是按引用来复制、传递和比较的。 字符串是按引用复制和传递的,但按值来比较。9、特殊字符 JScript提供了一些特殊字符(见教材表5-9),允许在字符串中包括一些无法直接键人的字符。 每个特殊字符都以反斜杠开始。反斜杠是一个转义字符,表示紧随其后的字符是特殊字符。10、固有对象 JScript提供了九个固有对象,每个固有对象都有与之关联的方法和属性。具体见教材表5-10。5.4本章小结 使用VBScript和JScript,既可编写服务器端脚本,也可编写客户端脚本。客户

56、端脚本部分的注释标记不是必须的,但一般应加上,因为客户端脚本由浏览器执行,而浏览器并不一定能支持所有的脚本语言。用/SCRIPT标记编写服务器端脚本时,不必再用注释标记来屏蔽。第6章 Web数据库的使用第6章 Web数据库的使用6.1 Web数据库的概述6.2 ODBC的安装设置 6.3 ADO概述 6.4 Connection对象6.5 Command对象6.6 RecordSet对象6.7 Fields数据集合和Field对象6.8 Properies数据集合和Property对象6.9 Parameters数据集合与Parameter对象6.10 Errors数据集合和Error对象6.

57、11 本章小节6.1 Web数据库的概述 随着网络技术的飞速发展,基于Internet/Intranet的浏览器/服务器结构的管理信息系统(MIS)应运而生 。 在此MIS系统中,各个客户端只需要简单的安装和运行相同的浏览器,而在服务器端安装Web服务器软件和数据库管理系统。 要开发基于Internet/Intranet的浏览器/服务器结构的管理信息系统,首先要解决的就是如何实现网页与数据库的连接和集成,实现这个目的,一般有下面三种方法: (1) 公共网关接口(CGI); (2) Web通过处理器与数据库进行连接; (3) 采用集成了ODBC接口功能的Web服务器。 现在采用的方式绝大多数都是

58、用第三种方式 。 对于一个ASP程序而言,它通常是通过ADO层或ODBC接口来访问数据库的。 ASP对数据库的整个访问过程是这样:客户端的浏览器向Web服务器提出ASP页面文件请求(包括数据库的操作),服务器将把该页面由ASP.DLL文件进行解释,并在服务器端运行,完成数据库的操作,再把数据库操作的结果生成动态的网页返回给浏览器,浏览器再将该网页内容显示在客户端。 6.2 ODBC的安装设置 本节主要介绍如何建立一个与已有数据库连接的DSN(Data Source Name),其中DSN表示应用程序和指定数据库的连接信息。(请参考教材6.2 )6.3 ADO概述 ASP对数据库的访问是可以通过

59、ADO模式来实现。ADO对象给开发人员提供了一种快捷、简单、高效的数据库访问方法,ADO可以包含在脚本中来产生对数据库的连接,并从数据库表中读取记录,形成实际要使用的对象集合。而且,对数据资源,如数据库,ADO提供了应用程序一级的界面。 ADO对象主要是由Connection对象、Command对象、Parameter对象、Recordset对象、Field对象、Property对象、Error对象等七个对象,以及Fields数据集合、Properties数据集合、Parameters数据集合、Error数据集合等四个数据集合所组成。 在介绍ADO的七个对象和四个数据集合后,下面将用图表的关系

60、来介绍一下。 6.4 Connection对象 在ASP中,Connection对象是网页通过ADO存取数据库的关键,Connection对象负责与数据库实际的连接动作,其它的对象都是必须依赖与Connection对象的连接才能发挥其特有的功能。 Connection对象代表与数据源进行的唯一会话。 在成功安装ASP与Web服务器后,就可以使用ASP Server对象的CreateObject方法来创建Connection对象,语法如下: Connection对象的方法包括:Open、Execute、Close、Cancel、Save、BeginTrans、CommitTrans、Rollba

温馨提示

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

评论

0/150

提交评论