ASP程序设计讲课幻灯片04Chapter_第1页
ASP程序设计讲课幻灯片04Chapter_第2页
ASP程序设计讲课幻灯片04Chapter_第3页
ASP程序设计讲课幻灯片04Chapter_第4页
ASP程序设计讲课幻灯片04Chapter_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

1、第第4章章asp内置对象与错误处理内置对象与错误处理 内容提要n本章主要介绍本章主要介绍asp内置的五大常用对象、一个内置的五大常用对象、一个集合和一个文件。集合和一个文件。n五大对象分别是:五大对象分别是:response,request,application,session和和server,一个集合一个集合是是cookie,一个文件是一个文件是global.asa。n并介绍如何实现网站常用的程序。并介绍如何实现网站常用的程序。内置对象概述 n为了实现网站的常见功能,asp提供了内置对象,内置对象的特点是:不需要先创建一个实例,可以直接使用。常用的内置对象及其功能如下。n(1)respon

2、se对象:将信息发送回给浏览器。n(2)request对象:获取客户端的信息。n(3)application对象:存储一个应用中所有用户共享的信息。n(4)session对象:存储一个普通用户其滞留期间的用户信息。n(5)server对象:提供许多服务器端的应用函数。n每个对象提供了一些函数和属性,可以通过调用这些函数和属性实现页面编程。response对象 方法说明用法write()向客户端输出数据response.write(你好!)redirect()转义到其他url地址response.redirect()binarywrite()输出二进制数据resposne.binarywrite

3、(二进制数据)clear()清楚缓冲区所有信息。前提是response.buffer设为trueresponse.clear()end()终止输出response.end()flush()将缓冲区信息输出。前提是response.buffer设置为trueresponse.flush() response对象的属性 属性说明用法buffer设置是否使用缓冲区response.buffer = true或者falsecontenttype设置输出内容的类型比如:gif文件类型为image/gifbmp文件类型为image/bmpjpg文件类型为image/jpegzip文件类型为applicat

4、ion/x-zip-compressedword文件类型为application/msword文本文件类型为text/plainhtml文件类型为text/html输出数据 nresponse.write()的功能是向浏览器输出信息,与vbscript中的document.write()的功能相近。n但是必须了解其区别:response是asp的对象,输出的方式是从服务器端向客户端的浏览器输出。如程序4-01.asp所示。 理解服务器端执行理解服务器端执行 n所有内的代码都被iis解释执行,iis解释执行后把程序的结果发送给浏览器。内的代码都是由浏览器解释执行的,如程序4-02.asp所示。n

5、程序的两段代码基本一样,都是取时间,但是内的代码是asp程序,取的是服务器端时间 简写形式简写形式 n可以看出内的程序只有结果,而标记可以看到程序。因为内的程序是由服务器iis执行的,而中的程序是客户端浏览器解释执行的。nresponse.write使用非常频繁,可将它简化为“=”。如程序4-03.asp所示。 网页转向 n访问一个asp页面,有时并不是出现需要的网页,而是转到另外一个页面上去了。response中有一个redirect方法的功能是实现转向n如程序4-05.asp所示。 停止输出 n在程序的执行过程中,如果遇到了response.end()语句,下面所有的输出将不再被执行,如程

6、序4-06.asp所示 n当执行“response.end()”语句以后,所有输出将停止。 使用缓冲区 nresponse对象的buffer属性用来设置是否将页面先输出到缓冲区。它的取值为true或者false,在windows nt的服务器环境下,默认值是false。nwindows 2000/2003服务器环境下,默认值是true n如果设置值是true表示先输出到缓冲区,然后再从缓冲区输出到客户端浏览器,这样有利于加快执行的速度。如果设置值是false表示直接将信息输出到客户端的浏览器。语法是:nresponse.buffer=true或者falserequest对象 nrequest对

7、象主要的功能是从客户端得到数据,常用的三种取得数据的方法是:request.form(),request.querystring()和直接使用request(),request是前两种方法的缩写。n前两种方法主要对应的是form提交时的两种不同提交方法:post方法和get方法。 request对象的方法 方法说明用法form(名称)获取post方式提交的数据request.form(数据名称)querystring(名称)获取get方式提交的数据request.querystring(数据名称)servervariables(名称)获取服务器的相关信息servervariables(选项名称

8、)binaryread(大小)获取post方式提交的数据binaryread(100)获得表单数据 n准备一个html表单,提供两个输入框,一个输入用户名,一个输入密码。如程序4-07.htm所示。 nform表单action属性是文件4-08.asp,意思是当用户提交时,用4-08.asp来处理提交的数据。method属性说明提交的方式,这里设置为post方式,需要使用request.form来读取。如程序4-08.asp所示。 数据和读取数据的对应关系 提 交 方 式读 取 方 式method = postrequest.form()method = getrequest.querystr

9、ing()案例4-1 调查表 n该案例实现的是一个含有多种form元素的输入表单,利用request对象读取到服务器端,再用response对象输出到浏览器上。输入程序如input.htm所示。 n利用request对象可以将所有数据都读出来,注意和输入表单元素的name属性相同。如程序handle.asp所示。 获得服务器信息 n通过request对象的servervariables方法得到一些服务器端的信息,比如当前asp的文件名、客户端的ip地址等。如程序4-12.asp所示。 n利用该程序可以将所有链接过本网站用户的ip地址记录下来 获得响应的总数据大小 n利用属性totalbytes

10、可以得到客户端响应数据字节的大小。基本语法是:nrequest.totalbytes获取二进制数据 n可以利用二进制方式取得获取客户端用post方式提交的数据,语法是:nrequest.binaryread(字节大小)n一般binaryread方法和totalbytes属性结合,用来读取提高的所有二进制数据。application对象 napplication对象是一个比较重要的对象,对application对象的理解关键是:网站所有的用户公用一个对象,当网站服务器开启的时候,application就被创建。n利用application这一特性,可以方便地创建聊天室和网站计数器等常用站点应用程

11、序。applicationnapplication提供两个方法:n(1) lock()锁定application对象,防止被其他用户访问。n(2) unlock()解除锁定,可以接受用户的访问。napplication提供两个事件:n(1) application_onstart()application开始创建的时候,调用该事件。n(2) application_onend()application被清除的时候,调用该事件。自定义属性 napplication对象没有自己的属性,用户可以根据自己的需要定义属性,来保存一些信息,其基本语法是:application(“自定义属性名”),如程序4

12、-13.asp所示。n执行完以后,该对象就被保存在服务器上。执行程序4-13.asp时依然可以输出原先保存的值。 实现聊天室 n聊天室允许多用户实时进行信息交流,所有用户可以看到彼此的信息,这与application对象的特点正好符合,所以可以利用application方便地实现聊天室。 n如程序4-15.asp所示。 网页计数器 n网页计数器是application 对象的又一个用途,因为application是所有的用户所共有的,所以可以存储计数器的值n当有新用户访问网页时自动增加计数器的值。如程序countv1.asp所示。 计数器n以上程序只有两条asp语句,但是已经可以实现计数了。n

13、这个计数器还不完善,下面分成几个版本来完善它n在版本二中加入application的锁定语句。如程序countv2.asp所示。 计数器n一般网站的计数器都是图形界面,这个计数器也可以变成具有图形界面的计数器。如程序countv3.asp所示。n首先取出application(“counter”)的值,然后赋值给变量s,再执行循环语句,len(s)功能是取字符串的长度,mid(s, i, 1)的意思是从字符串s的第i个位置开始取1个字符。执行完后就将原先的字符数字转化成以图形显示的图形计数器。n本程序执行需要有09的十个gif图片 session对象nsession指的是访问者从到达某个特定主

14、页到离开为止的那段时间网站为用户分配的用来保存用户信息的对象。可以使用session 对象存储用户登录网站时候的信息。当用户在页面之间跳转时,存储在session对象中的变量不会被清除。 nsession对象是针对每个用户的,不同用户的信息用不同的session来保存。在一个应用程序中,当客户端启用一个session的时候,asp会自动产生一个sessionid,并把这个sessionid送给客户端浏览器。 session对象nsession对象的属性有两个:n(1) sessionid存储用户的sessionid信息n(2) timeoutsession的有效期nsession对象提供的方法

15、只有一个:nabandon()清除session对象。nsession对象提供两个事件:n(1) session_onstart()session对象开始创建的时候,自动调用该事件。n(2) session_onend()session对象清除时,自动调用该事件。对session的理解 n当用户登录网站的时候,系统会自动分配给用户一个session。n可以使用sessionid属性得到该session的id,如程序4-16.asp所示。 自定义属性 nsession对象的主要用途也是保存信息,当用户第一次到达网站时,系统为其分配一个session。nsession和application一样也

16、使用自己的自定义属性,如程序4-17.asp所示。 timeout属性 n一个session对象被创建以后,如果用户停止活动(比如:浏览网页)一段时间,该对象将被自动清除。也就是说:session对象有其生存期,默认的时间为20分钟。n如果希望修改session的生存期,可以有两种方法:(1) 修改iis中系统的设置值;(2) 利用session对象的timeout属性来修改。比如将生存期修改为60分钟,使用的语法是:nsession.timeout = 60 abandon方法 n如果想利用程序清除session对象,可以调用session的abandon方法。语法是:nsession.ab

17、andon()server 对象 n利用server对象可以方便地访问服务器上的方法和属性n最常用的是利用server.createobject创建组件的实例。 sever对象常用的属性 属性说明用法scripttimeout设置脚本最长执行时间,默认为90秒。server.scripttimeout = 300 设置脚本执行时间为300秒server对象的方法 属性说明用法createobject()创建已经注册的组件server.createobject(adodb.connection)htmlencode()将字符串转换成html格式server.htmlencode(你好)urlen

18、code()将字符串转换成url编码server.urlencode(abc/abc)mappath()转换为服务器上的物理路径server.mappath(file1.txt)execute()执行新的页面server.execute(file1.asp)transfer()转移到新的网页server.transfer(file1.asp)输出html代码n通常情况下,浏览器将“”中间的符号作为html标记,不会显示在浏览器上,如果想在浏览器上显示时,可以使用server对象的htmlencode方法n如程序4-19.asp所示。 获取物理路径 nserver.mappath的功能是把“网络

19、路径”转换为服务器上的物理路径。n如程序4-20.asp所示。 execute方法 n该方法用来执行新的网页,执行完毕后返回原来页面。语句为:nserver.execute(asp文件名)n使用方法如程序4-21.asp所示。transfer方法 n该方法和execute方法非常相似,唯一的区别是执行完新的网页后,并不返回原来的页面。语法为:nserver.transer(asp文件名)cookie集合 ncookie和session一样都可以保存用户信息n区别是cookie将信息保存在客户端,而session将信息保存在服务器。写入cookie n可以将cookie写到浏览器中,让浏览器来保

20、存cookies的值。n如程序4-22.asp所示。读取cookie n程序4-22.asp是将cookie写入浏览器,也就是将cookie保存起来,程序4-23.asp将cookie读出来,并且显示到浏览器上。ncookie必须设置有效期,否则为临时会话cookies,关闭浏览器后就失效了。nresponse.cookies(number) = varnumber 将新的访问次数存到cookies中nresponse.cookies(number).expires=#2030-1-1# 设置有效期global.asa文件 napplication的两个事件(application_onsst

21、art()和application_onend())和session的两个事件(session_onstart()和session_onend())都放在global.asa文件中。nglobal.asa文件必须位于网站的根目录才能起作用。global.asa文件有如下结构。例4-3 实现动态在线人数统计 n当网站被第一个人访问时就会自动调用global.asa 文件n但是需要注意的是:global.asa文件必须放 在 网 站 的 根 目 录 下 。 程 序countonline.asp文件只用了一条语句实现在线人数统计。案例4-4 聊天室研究 n利用application和session可

22、以做出比较专业的聊天室。这个聊天室对简单聊天室进行了功能上的扩充,由以下5个文件组成。n(1)index.asp:聊天室的登录界面。n(2)do_login.asp:登录处理界面。n(3)chatpage.htm:聊天室的框架文件。n(4)message.asp:聊天室的信息输入界面。n(5)display.asp:聊天信息显示页面。小结n本章重点理解五大对象、一个集合和一个文件的概念和使用方法。理解response对象提供的write()方法、redirect()方法和end()方法。如何利用request获得form表单中的信息,如何获得超级链接传递的变量。n理解application对象

23、,如何利用application对象实现聊天室和计数器。理解session对象及其自定义属性。掌握使用server对象获取网站的物理路径,如何向浏览器写入cookie和如何将cookie读取出来。理解global.asa文件的特点和功能。 一、选择题n1. 对于下面的语句,执行的结果是_。nna) 中国你好 b) 中国nc) 你好 d) 出错n2. request.form读取的数据是_。na) 以post方式发送的数据 b) 以get方式发送的数据nc) 超级连接后面的数据 d) 以上都不对n3. session对象默认有效期为_分钟。na) 10 b) 20 c) 30 d) 60n4. application对象的默认的有效期是_。na) 10 b) 20 c) 30 d) 从网站启动到终止n5. serve

温馨提示

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

评论

0/150

提交评论