第十二章 ASP动态网页制作基础

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

网页制作与设计陈语林梁建武周诚主编中国水利水电出版社第十二章ASP动态网页制作基础ASP的工作方式与客户端脚本不同,其实质是在服务器端由asp脚本动态生成静态html网页,再送回客户端。这种方式使得ASP能创建真正具有动态内容的网页。其完善的内置对象体系使其功能非常完备,而其内置组件和组件的可扩展性使其功能更为强大,而且易于使用。教学重点与难点ASP的工作方式ASP的内置对象ASP的内置组件12.1ASP简介一、什么是ASPASP------ActiveServerPages二、ASP的工作方式对于服务器来说,ASP页与普通HTML页是不同的。普通HTML文件不经处理就发送至浏览器;而ASP文件需要先编译,利用动态内容,生成HTML文件,再发送至浏览器。三、ASP的工作平台四、怎样用ASP编写动态网页1.创建ASP网页如果要在HTML文件中添加脚本,只需将该文件的扩展名.htm或.html替换为.asp就可以了。使用任何的文本编辑器都可以创建.asp文件,常用的编辑ASP页的软件有VisualInterdev、ASPEditor等。2.使用脚本语言任何与ActiveX脚本标准兼容的脚本语言都可在ASP中使用经常被使用的有VBScript、JavaScript、Perl或REXX等。由于脚本是在服务器端读取和处理的,所以请求.asp文件的客户端浏览器并不需要支持脚本语言。将脚本加入ASP最简单的方法是使用脚本定界符%和%。12.2VBScript脚本语言简介VBScript是VisualBasic的一个子集,编程方法和VisualBasic基本相同。一、VBScript的数据和运算符1.数据类型VBScript只有一种数据类型,即Variant类型,Variant类型可以在不同场合代表不同类型的数据。2.变量(1)声明变量:显式声明和隐式声明。显式声明要用到Dim语句。例如:%DimstrUserName,strServerName,dtmTime%隐式声明是指脚本中第一次使用变量时,就自动创建该变量。例如:%dtmToday=Now()%(2)变量命名约定VBScript不区分大小写。(3)变量的作用域过程内部声明的变量称为过程级变量或局部变量,这样的变量只有在声明它们的过程中才能使用,即无法在过程外部访问;过程外部声明的变量称为脚本级变量或全局变量,即在同一个.asp文件中的任何脚本命令均可访问和修改该变量的值。过程级和脚本级变量可以同名,修改其中一个变量的值,不会影响另一个。3.常量在程序执行期间,常量的值不会发生改变,可以在代码的任何位置使用常量代替实际值。在VBScript中,还可以用Const语句来定义自己的常量。ConstconPi=3.141592653589794.数组具有相同名字不同下标值的一组变量称为数组变量,简称数组。(1)固定数组(2)动态数组5.运算(1)算术运算(2)连接运算(3)关系运算(4)逻辑运算(5)运算符的优先顺序二、VBScript的语句1.一般语句(1)注释语句注释符采用西文单引号“′”(2)赋值语句2.控制语句(1)选择结构单行if语句和块if语句selectcase语句(2)循环结构Do-Loop循环:重复执行一个语句块,重复次数不定。For循环:For循环含有一个计数变量,每重复一次循环,计数变量的值就会增加或减少。Forcounter=startToend[Stepincrement]statementsNext[counter]3.with语句with语句用于对某个对象执行一系列操作,而不用重复指出对象的名字。4.过程过程是用来执行特定任务的独立的程序代码。VBScript根据是否返回值将过程划分为Sub过程(子过程)和Function过程(函数)。(1)子过程子过程是不返回值的过程:Subprocedurename(arguments)statementsEndSub用Call语句调用子过程的语法是:Callprocedurename([arguments])用子过程名直接调用的语法是:procedurenamearguments(2)函数函数有一个最重要的特点,就是调用时将返回一个值。函数的语法是:Functionfunname([arguments])[statements]funname=expression[statements]EndFunction函数中至少要含有一条为函数设置返回值的语句。(3)按地址传递和按值传递默认时,参数是按地址传递,即过程按变量的内存地址去访问实际变量的内容。这样将变量传给过程时,通过过程就可以改变变量的值。如果在编程时想明确指定参数是按地址传递的,请用关键字ByRef。如果想按值传递参数,请用ByVal关键字。(4)数组参数数组作为参数传递时,与普通参数有些不同。过程中声明数组参数时,必须略去数组的长度,即设置一个动态数组,因为过程被调用前通常无法预知数组的长度。由于数组参数没有声明长度,因而调用时可以使用任意长度的数组作为输入值。在调用语句中,只需给出要传递的数组名即可,不必包括数组的下标及圆括号。12.3ASP内置对象一、Request对象在ASP中,将“客户端请求”与“服务器响应”的动作封装成Request对象与Response对象。Request对象通常包括了客户端的相关信息,如浏览器的种类、表头信息、表单参数及cookies等。Request对象的语法格式如下:Request[.collection|property|method](variable)其中collection表示Request对象的数据集合,property表示其属性,method表示其方法,变量参数(variable)是一些字符串,这些字符串或者指定要从集合中检索的项目,或者作为方法或属性的输入。1.Request对象的属性Request对象的属性只有一个:Request.TotalBytes。这是一个只读属性,存放着客户端通过HTTP请求发送的正文的字节总数。2.Request对象的方法Request对象的方法也只有一个:Request.BinaryRead。用于检索从客户端发送到服务器作为POST请求的一部分的数据。3.Request对象的数据集合Request对象按照数据的不同功能将其分成了Form、QueryString、Cookies、ServerVariables及ClientCertificate等数据集合。二、Response对象Response对象用于动态响应客户端请求(Request),并将动态生成的响应结果返回到客户端浏览器中,使用Response对象可以动态创建web页面,改变HTTP标题头,还可以自动将客户端重定向(Redirect)到一个指定的页面中,另外如要向客户端写入Cookies时,Response对象也是一种很好的工具。Response的使用语法为:Response.collection|property|method其中collection表示Response对象的集合,property表示Response对象的属性,method表示Response对象的方法。1.Response对象的方法Response.Write任何类型数据Response.RedirectURLResponse.FlushResponse.End2.Response对象属性Buffer属性CacheControl属性Charset属性ContentType属性Expires属性ExpiresAbsolute属性IsClientConnected属性PICS属性Status属性3.Response对象的数据集合Response对象只有Cookies一个数据集合。三、Sever对象Server对象提供对服务器上的方法和属性的访问,其中大多数方法和属性是作为实用程序的功能服务的。语法如下:Server.property|method其中property表示Server对象的属性,method表示Server对象的方法。1.Servr对象属性Server的属性只有一个ScriptTimeout属性。该属性表示超时值,即脚本运行超过这一时间之后作超时处理。2.Server对象方法Server对象提供来了CreateObject、HTMLEncode、MapPath、URLEncode等方法。四、Session对象在ASP中,通过Session对象记录用户的相关信息,用来作为用户再次对服务器提供要求时作确认。当用户请求来自应用程序的Web页时,如果该用户还没有会话,则Web服务器将自动创建一个Session对象。当会话过期或被放弃后,服务器将终止该会话。会话状态仅在支持Cookie的浏览器中保留。语法如下:Session.collection|property|methodSession对象在global.asa文件中声明两个事件Session_OnEnd、Session_OnStart的脚本。1.Session对象的事件Session对象对应两个事件:Session_OnEnd、Session_OnStart。2.Session对象的方法Session对象只提供了Abandon方法,Abandon方法删除所有存储在Session对象中的对象并释放这些对象的源。3.Session对象的属性Session对象提供属性包括TimeOut、SessionID、CodePage、LCID等。五、Application对象Application对象是对所有用户,Session对象是对单一用户。因为多个用户可以共享Application对象,所以必须要有Lock和Unlock方法以确保多个用户无法同时改变某一属性。其语法如下:Application.method1.Application对象的事件当每个Application对象开始时,会激活一个Application_OnStart事件;当Application对象结束时会激活一个Application_OnEnd事件。2.Application对象的方法Application对象提供了Lock方法与UnLock方法.语法如下:Application.Lock‘锁定Apploication对象Application.UnLock‘解锁Apploication对象3.Application对象的数据集合Application对象数据集合包括Contents数据集合与StaticObject数据集合。六、ObjectContext对象使用ObjectContext对象,就允许程序在网页中直接配合MicrosoftTransactionServer(MTS)使用,从而可以管理或开发高效率的Web服务器应用程序。1.ObjectContext对象的使用ObjectContext对象使用是在ASP中使用@TRANSACTIO关键字来完成的,语法如下:%@TRANSACTION=value%2.ObjectContext对象的方法ObjectContext提供了SetAbort方法与SetComplete方法。3.ObjectContext对象的事件处理程序ObjectContext对象提供了OnTransactionCommit、OnTransactionAbort两个事件处理程序,前者是在事务完成时被激活,后者是在事务失败时激活。语法如下:SubOnTransactionCommit()‘处理程序EndSub12.4ASP内置组件ASP的内置组件有13种,还可以安装其它组件。一、AdRotator组件使用AdRotator组件可以很容易的实现在网页上插入一个循环播放广告横幅的播放器。1.AdRotator组件相关文件一般来说,AdRotator组件除了必要的Adrot.dll文件外,还要有循环定时文件,另外也可以有重定向文件。2.AdRotator组件的属性和方法二、BrowserCapab

1 / 40
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功