七动态交互技术ASP.ppt_第1页
七动态交互技术ASP.ppt_第2页
七动态交互技术ASP.ppt_第3页
七动态交互技术ASP.ppt_第4页
七动态交互技术ASP.ppt_第5页
已阅读5页,还剩99页未读 继续免费阅读

下载本文档

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

文档简介

1、七、动态网页交互技术ASP,1. ASP概述 2. ASP内建对象 3. 本章小结,1. ASP概述,ASP的工作原理、处理流程、运行环境 ASP脚本 ASP的包含文件,ASP(Active Server Pages),是由微软公司推出的一种网络编程技术 ASP不能算作是一种编程语言(使用VBScript、JavaScript等脚本语言编写的应用程序) ASP实际上是一种位于服务器端的脚本运行环境 通过这种环境,可以创建和运行动态的、交互式的Web服务器应用程序,ASP的工作原理,ASP文件存放在服务器端,当浏览器向Web服务器请求.asp文件时,ASP脚本开始运行,此时Web服务器调用ASP

2、解释程序,并全面读取被请求的文件,执行所有的需要在服务端执行的脚本命令,并将执行结果传送给浏览器,由浏览器显示最终的结果。,ASP的处理流程(执行过程),1、用户向浏览器地址栏输入网址,默认页面的扩展名是.asp。 2、浏览器向服务器发出请求。 3、服务器引擎开始运行ASP程序。 4、ASP文件按照从上到下的顺序开始处理,执行脚本命令,执行HTML页面内容。 5、页面信息发送到浏览器。,ASP的运行环境,ASP运行于IIS(Internet Information Server)3.0以上 ASP程序是以.asp为扩展名的文本文件,可以用任何文本编辑器来创建.asp文件,运行环境的搭建,asp

3、是一套服务器端的对象模型,通过asp对象提供的方法和属性可以对服务器端的数据进行操作,学习asp首先要有一个支持asp的网络空间,或者在本机上安装IIS,这样才能够运行asp程序。,下面以windowsXP为例安装IIS,首先打开本机的控制面板【添加/删除程序】-【添加/删除Windows组件】就会打开windows组件安装向导,选择“Internet信息服务(IIS)”,然后单击【下一步】安装就可以了。 安装完成后在浏览器中输入http:/localhost或者,如果能显示IIS欢迎字样,就表示安装成功。,此时打开控制面板中的“管理工具”下的“Internet

4、信息服务”,选中默认网站,右击鼠标打开默认网站的属性,再点击主目录,在“本地路径”栏会看到“c:inetpubwwwroot”,这是系统自动生成的主目录,asp文件就放在wwwroot文件夹中。 默认情况下主目录被设置为只读属性,我们还应该将“写入 ”选项前面打上勾。,设置虚拟目录,有时我们喜欢把asp文件放在其它分区中,例如在E盘上添加一个文件夹ASP,要运行ASP文件夹中的.asp文件,就要把ASP文件夹设置为虚拟目录,方法如下:选中“默认网站” 点击鼠标右键新建虚拟目录下一步在向导面板中的别名栏添加“MyASP 下一步点击浏览,选中文件夹E:ASP下一步将读取,运行脚本,写入栏的前面打上

5、勾点击完成就可以了。,完成虚拟目录的创建后,假定将名为temp.asp的文件放在ASP文件夹中,则输入下面网址就可以打开它。 (1)http:/localhost/MyASP/temp.asp(2)/MyASP/temp.asp,创建asp文件,1 默认脚本语言 asp文件是以.asp为扩展名的文本文件,这个文件是在普通的html页面中加入了Script代码构成的,Script代码要放在一对标识符中,一般情况下服务器默认的脚本语言是VBScript,所以使用VBScript脚本创建asp文件无需进行任何脚本指定。,2 字母不区分大小写 asp程序中对字母是不区分大

6、小写的,有的代码使用大写字母,是为了容易阅读。 3 标点符号要在英文状态下输入 4 注释语句:注释语句不会执行,也不会显示在页面上,主要是为了方便阅读而添加;一般使用Rem或者单引号 “”进行注释,语法如下: 或,ASP脚本,A S P 程 序,ASP程序运行结果,ASP程序的组成,ASP程序一般由HTML标识和VBScript或JavaScript等程序代码构成 HTML是VBScript的基础,同样也是ASP的基础;VBScript是设计ASP的有力工具 典型的ASP文件含有4个部分: 标准HTML文件 服务器端执行代码(包含在之间) 客户端执行代码(处于和之间) 包含文件语句#inclu

7、de,ASP程序的基本结构,具体的ASP程序结构有如下两种基本形式: 形式一: ,形式二: ,脚本语言的指定方法,标准指定法 一般放在程序的第一行 拓展对象法 ,例1 脚本语言的指定方法,【1-1.asp】 标准指定法 ,【1-2.asp】 拓展对象法 Sub MyHome Response.Write=(“细雨鱼儿去”) Response.Write=(“微风燕子斜”) End Sub ,ASP的包含文件,使用virtual关键字 虚拟目录 使用file关键字 相对路径,2. ASP内置对象,基本概念 Request对象 Response对象 Application对象 Session对象

8、Server对象 对象的应用,基本概念,客户端浏览器服务器数据库 一般的ASP版本提供的内置对象有Request、Response、Application、Session、Server和Error。 与客户端交互是通过Request和Response对象实现。 Request:接受客户端浏览器提供的数据; Response:将服务器端的数据发送到客户端浏览器; Application:同一站点的各客户的会话(如聊天室); Session:同一客户各网页间的会话(如购物车)。,ASP是在服务器上运行 ActiveX 脚本和ActiveX组件的服务器端脚本环境 ActiveX 组件是建立Web应用

9、程序的关键 组件是包含在动态链接库.dll 或可执行文件.exe 中的可执行代码,它可以提供一个或多个对象以及对象的方法和属性 要使用组件提供的对象,应先创建对象的实例并将这个新的实例分配变量名 Set db=Server.CreateObject (ADODB.Connection),Request对象,使用Request对象获取从客户端HTML表单对Web服务器的各类请求信息。 Web服务器对Request是“来者不拒” 使用方法 Request.集合|属性|方法(变量) 集合 Form QueryString Cookies ClientCertificate ServerVariabl

10、es,属性是Request对象的属性 方法:POST、GET 变量是一些字符串,用于指定要从集合中检索的成员,或作为方法或属性的输入,Request对象的集合,Form集合,HTML表单使用POST方法向ASP传递过来的数据保存在Form 集合中。 使用方法 Request.Form(element)(index)|.Count element指定集合要检索的表单元素的名称 index是可选参数,使用它可以访问某表单域多个值中的一个,其值是1到Request.Form(element).Count之间的任意整数 Count返回表单域名为element 的值的个数 使用POST方法传递表单数据不

11、受长度限制,在浏览器的地址栏(URL)中也看不到传送的信息,例2-1:带form的普通HTML文档【2-1.html】, Request对象的Form集合应用示例 请填写你的爱好 足球 乒乓球 ,使用Request.Form进行交互【2-1.asp】, 结果显示如下: 直接显示所有的数据 Response.Write Request.Form(hobby) 写入Cookies 写入Cookies 在自己的电脑中看看我们写入的Cookies文件,2.读取客户端的Cookies,读取Cookie的值或Cookie字典中的关键字,需要使用Request对象的Cookies集合,语句格式为: Requ

12、est.Cookies(“cookie名”)(“key”)|.attribute Cookie名是被指定要检索的cookie变量或cookie字典 key可选,用于从cookie中检索子关键字的值 attribute指定cookie自身的有关信息,例2-11-1 读取单值 Cookie【2-11-1.asp】,) response.write(Cdata:&request.Cookies(Cdata)&读取完毕!) %,例2-11-2 读取 Cookie字典【2-11-2.asp】,) x=request.Cookies(Cookies-Dic)(name) y=request.Cookies

13、(Cookies-Dic)(pwd) response.write(Cookie:&x&) response.write(Cookie:&y&读取完毕!) %,例2-11-3 读取 Cookie字典【2-11-3.asp】,取回Cookies取回Cookies 使用request.cookies方法,可以取回使用Response.Cookies方法写入客户硬盘中的信息,request.cookies方法可以放在html的段的任何位置,写入Cookies,取回Cookies,例2-11-4 设置、读取 Cookie【2-11-4.asp】,上例对两个cookies进行了写入和取回操作,经测试结果

14、虽然是可行的,但是在asp中通常不这样进行操作,而是使用关键字设置和取回多个cookies 从下面的示例中我们可以看到要方便许多,特别是取回多个cookies时,例2-11-5带关键字的Cookies写入【2-11-5.asp】,带关键字的Cookies写入方法,续上例:返回带关键字的Cookies,返回带关键字的Cookies返回带关键字的Cookies,例2-11-6【2-11-6.asp】, 0 thennum=num+1Response.write(你现在是第&num&次访问这里了)elseResponse.write(欢迎你首次访问这里)num=1end ifresponse.coo

15、kies(ta_nam)=numresponse.cookies(ta_nam).expires=#2020-1-1#%,上例,定义一个变量num用来保存获取的名为ta_nam的cookies,当你首次访问时ta_nam尚未写入硬盘,num为空值,所以执行else后面的语句输出-欢迎你首次访问这里,输出完毕后继续向下执行语句就会把response.cookies方法的ta_nam变量,写到客户硬盘中了,以后再次访问,num总是会大于0,故执行num=num+1,计算出客户访问的次数,Application对象,在ASP程序设计中,通常将一个站点及其下的子目录下的ASP文件看成是一个单一的ASP

16、应用程序,而一个ASP文件相当于传统程序的一个过程。 Application对象是应用程序级的对象,用来在所有用户之间共享信息,并可以在应用程序运行期间持久保持数据。 如果不加以限制,所有的用户都可以访问该对象。,在同一虚拟目录及其子目录下的所有.asp文件构成了ASP的应用程序。我们知道如果单独做一个ASP文件,它可以说是一个网页,那么网页和网站的区别就是网站是由一组应用程序构成的,它们之间具有相互的关系,可以传递信息。 它们传递信息体现在哪里呢? 其中一方面就体现在它们具有了这样一个Application对象的属性。如果它是一组ASP程序,这样我们就可以建立ASP对象来保存用户之间共享的一

17、些信息。,一个网站是供多个用户来使用的,比如我们利用Application来做一个计数器,当大家都在浏览一个网站时,每浏览一次做一个计数器+1的这个操作。那么计数器的这个值,它的信息就是共享信息,而且它在服务器运行期间是持久保存的,只要服务器不关闭,那么这个值一直会保存在机器里。 Application对象不仅可以在给定的应用程序的所有用户之间共享信息,并在服务器运行期间持久的保存数据,而且还有控制访问应用层数据的方法和可用于在应用程序启动和停止时触发过程的事件。,这样大家对Application对象整体有了一个印象,它是存储用户之间共享信息的。下面是Application的一些特性: 数据可

18、以在Application内部共享,因此可以覆盖多个用户。一个Application包含事件可以触发某些Application脚本。一个对象的例子可以被整个Application共享。单独的Application可以隔离出来在它们自己的内存中运行,这就是说,如果一个人的Application遭到破坏,不会影响其它人。 你还可以停止一个Application(将其所有组件从内存中驱除)而不会影响到其他应用。一个网站可以有不止一个Application。典型地,你可以根据针对于个别任务的一些ASP文件创建个别的Application.例如,你也许创建了一个Application来适用于全部公用用户

19、,而再次创建另外一个来限制网络管理员的范围。,总之:Application对象是一个比较重要的对象,对Application对象的理解关键是:所有的用户公用一个Application对象,当网站服务器一开,就创建了Application对象。所有的用户都可以对Application进行修改。利用Application这一特性,可以方便地创建聊天室和网站计数器等常用网页应用程序。,Application对象,Application 对象是应用程序级的对象 用于在电子商务系统中所有用户间共享信息 可在Web应用程序运行期间持久地保持数据 属性:没有内置的属性,但可以设置自定义的属性(也可称为集合)

20、 Application对象的语法 Application.collection|method|event(variable),Application的属性,定义属性 Application对象没有内置的属性,但是我们可以自定义其属性。 语法格式:,例 2-12 【2-12.asp】, 说明:对于Application属性,大家需要记住,它的属性一旦分配之后,会持久的存在,直到关闭WEB服务器,使得Application停止,由于存储在Application对象中的数值可以被应用程序的所有用户有读取,所以Application对象的属性特别适合在应用程序的用户之间传递信息。,Applicati

21、on的集合,当为Application对象定义多个属性时,这些属性就构成了属性集合。 属性集合的名称用Contents表示,其实大部分Application变量(定义的属性)都存放在Contents集合中,当你创建一个新的Application变量时,其实就是在Contents集合中添加了一项。下面两个脚本是等效的: 或 由于Application变量存在集合里,所以如果想要全部显示,其方法我们已经多次使用,例如For Each循环。,例2-13 【2-13.asp】,)next%,Contents集合的方法,Contents集合有两个用于删除Application对象的方法,他们是: App

22、lication.Contents.remove “属性名” 用于删除指定的属性 Application.Contents.removeAll 用于删除所有属性,例 2-14 【2-14.asp】,”) for each key in Application.Contentsresponse.write(key&=&Application(key)&)nextApplication.Contents.remove my_b1 response.write( “ 第二次输出 &“”) for each key in Application.Contentsresponse.write(key&=

23、&Application(key)&)nextApplication.Contents.removeAll response.write( “ 第三次输出 &“”) for each key in Application.Contentsresponse.write(key&=&Application(key)&)next %,Application对象的方法,方法:仅有两个方法,用于处理多个用户对存储在Application中的数据进行写入的问题 Lock方法:确定在同一时刻只有一个用户可以增加或修改存储在Application对象中的变量。格式:Application.Lock Unloc

24、k 方法: 解除Application对象属性的锁定,允许其他用户增加或修改属性。格式: Application.Unlock,例2-15用Application变量记录页面刚访问的次数【2-15.asp】,计数器 欢迎光临本网页,你是本页的第 位访客 ! ,例2-16 Application对象的综合应用,【2-16-1.asp】 ,【2-16-2.asp】 ,Application对象的事件,事件:仅有两个事件,它们的处理代码必须写在Global.asa文件之中,一个Web应用程序只有一个Global.asa文件,存储在应用程序的根目录下。 Application_OnStart:当App

25、lication启动时被触发。该事件只能被触发一次,是在网络服务器开始运行而且是第一个用户的第一次请求时被触发的,知道网络服务器关闭后重新启动时,才再次触发该事件。Application_OnStart事件的代码结构如下: Sub Application_OnStart End Sub ,Application_OnEnd:当Application结束时被触发。 Application_OnStart事件的代码结构如下: Sub Application_OnEnd End Sub ,例2-17 最简单的、单一文件聊天室,聊天室的基本原理是:将由客户端提交的表单文本信息提交给在服务器的自身文件并

26、形成一个Application对象变量的值,然后再送到浏览器端输出。,【2-17.asp】, 最简单的、单一文件聊天室 &words response.write(application(chat_word) application.UnLock %,续上页, ,Session对象,当用户浏览Web站点时,使用Session对象可以为每一个用户保存指定信息 使用语法 Session.属性 | 方法 | 事件 属性: 两个内置属性SessionID和TimeOut,同时也可以设置设计者定义的属性:Session (“属性”)= 值。 属性SessionID返回用户的会话标识。 属性TimeOut

27、以分钟为单位为该应用程序的Session对象指定超时时限,默认值为20分钟。 方法: 仅有一个方法Abandon。用于删除所有存储在Session对象中的值并释放这些对象的源,即清除Session对象 。 事件:两个事件Session_OnStart和Session_OnEnd,也必须写在Global.asa文件之中。,Session对象的基本应用,Session对象是用来存储浏览器端的数据,或称存储特定用户的信息。 与Application对象不同的是,Application对象存储的是所有浏览器端共享的数据,而Session对象存储的是个别浏览器端专用的数据。当用户浏览Web站点时,使用S

28、ession对象可以为每一个用户保存指定的数据。任何存储在用户Session对象中的数据可以在用户调用下一个页面时取得。这一点类似于C语言的局部变量和函数之间的关系,一个Session对象的值对于同一个用户是相同的,对于不同的用户是不同的。,Session对象,Web服务器也可用Session对象保存网页信息。Session对象与Application有所不同,对于同一个网页,不同的访问者将创建不同的Session。例如,同样都是Session(“data”),若甲访问某页,将这个值设置为A;乙来访问,将这个值设置为B,若下次甲再来访问这个网站取出Session(“data”)这个值时,它仍是

29、A(若Session未过期),而不是B或其他值。一个Session的值对于一个用户是相同的,对于不同的用户是不同的。Session的这种特性类似C语言中的局部变量。,Session对象,作为基于请求/响应对话模式的HTTP协议是一次对话结束,所有的数据都将不复保存,而Session对象则可以让我们继续使用以前的页面数据。并且可以在ASP文件之间传递数值、字符串、数组和对象。当用户在应用程序的页间转移操作时,Session对象中的存储变量不会释放。,Session对象,Session和Cookie的区别 都可以用来记录用户的状态信息 Session数据存储在服务器端,而Cookie数据存储在浏览

30、器本机上 Cookie可以在一个对话期或几个对话期之间某个Web应用程序中所有的页面共享信息,而Session变量只能在一个对话期的相应页面间共享信息,Session对象,Application与Session对象的区别 Application对象是所有与服务器连接的浏览器端所有网页共享的对象,它提供多个用户共享信息,不需要浏览器cookie支持,适合任何浏览器 Session对象是某一个与服务器连接的浏览器端所有网页的共享对象,仅提供特定用户信息,需要浏览器cookie支持,Application与Session对象,例2-18 写入与取出Session,【2-18-1.asp】 写入Ses

31、sion “ Session(your_name)=小赵 &“ Session(your_age)=20 % ,【2-18-2.asp】 取出Session response.write(Session(your_name)response.write response.write(Session(your_age)%,例2-19使用表单写入Session,【2-19-1.asp】 用户姓名:用户密码: ,【2-19-2.asp】 response.write 你输入的密码:&Session(mypassword) % ,创建一个表单并将表单的信息发送到2-19-2.asp文件中,例2-20

32、Session的属性【2-20.asp】, “ 获取Session的默认时长并输出显示 response.write(“你的 Session.Timeout时长 为:&Session.Timeout) % 设置时长为:, thenSession.Timeout=cint(m)response.write 获取Session的时长并输出显示response.write(Session.Timeout时长设置改为:&Session.Timeout)end if %,例2-21 Session的应用,【2-21-1.asp】 then response.write(热烈欢迎&Session(ss_n

33、ame)&的到来) else % 用户姓名:,用户密码: ,接收表单中的信息,并把其保存到Cookies中,使用条件语句判断Session的值,输出相应的语句,【2-21-2.asp】 and Session(password)“ thenresponse.write(注册成功,欢迎&Session(ss_name)&的到来),else response.write(你需要提交姓名和密码!)end if% 返回 , “ response.write Session(m_y_array)(1) response.write ,response.write Session(m_y_array)(2

34、)response.write response.write Session(m_y_array)(3) response.write for each sum in Session(m_y_array)response.write(sum&,)next%,例2-22 Session数组变量 【2-22.asp】,Server对象,Server对象通过属性和方法来访问Web服务器 使用方法 Server.属性 | 方法 属性 :只有一个ScriptTimeout属性,用来设置脚本运行的过期时间(超时值) 方法 :主要包括有6种方法 CreateObject(“identifier”) 创建对象实例 HTMLEncode(“string”) 返回一个字符串,并转换为等价的名称代码 URLEncode(“string”) 返回一个字符串,并转换为等价的URL数字代码 MapPath(“URL”) 将指定虚拟路径转换成实际路径 Execute(“URL”) 执行指定URL Transfer(“URL”)执行控制权转移, HTMLEncode方法应用示例 号字体。) % 这是对 HTMLEncode 方法的测试,现在显示的是号字体。 ,例2-23 Se

温馨提示

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

评论

0/150

提交评论