asp内置对象解析课件.ppt

上传人:牧羊曲112 文档编号:3874223 上传时间:2023-03-25 格式:PPT 页数:93 大小:381KB
返回 下载 相关 举报
asp内置对象解析课件.ppt_第1页
第1页 / 共93页
asp内置对象解析课件.ppt_第2页
第2页 / 共93页
asp内置对象解析课件.ppt_第3页
第3页 / 共93页
asp内置对象解析课件.ppt_第4页
第4页 / 共93页
asp内置对象解析课件.ppt_第5页
第5页 / 共93页
点击查看更多>>
资源描述

《asp内置对象解析课件.ppt》由会员分享,可在线阅读,更多相关《asp内置对象解析课件.ppt(93页珍藏版)》请在三一办公上搜索。

1、Asp内置对象,ASP的特点是面向对象编程,它提供了功能强大的内部对象。其中常用的对象有:Request Response Session Application Server,Request对象,Request对象有5种方法可用来获取客户端的信息(由客户端发出的HTTP请求报文),Request对象,(2)Request.获取方法(变量名或字符串)其中的参数就是要得到的信息的变量名称。如果不想加入获取方法,也可以简写为Request(参数)方式,ASP同样可以帮你取得客户端的信息。因为没有指定获取方法,所以ASP将会依次在QueryString、Form、Cookies、ServerVari

2、ables、ClientCertificate这5种获取方法中检查是否有信息传入,如果有则会返回获得的变量信息。,(1)这里的“获取方法”更准确的说应该是“数据集合”,因为获取到的信息其实都在一个集合中。在这里之所以说是“获取方法”主要是强调从客户端获得信息这个功能。,Form方法获取post方式提交的表单信息,语法格式:Request.form(“表单元素名称”),例:(4-1.asp 4-2.asp),Form方法获取post方式提交的表单信息,注意:1.checkbox 或 radio 命名为相同时,表示为同一组,Form方法获取post方式提交的表单信息,Form方法获取post方式提

3、交的表单信息,注意:1.checkbox 或 radio 命名为相同时,表示为同一组2.获取多项选择表单元素值的方法:方法一:Request.Form(“表单元素名”)多个值之间自动以逗号隔开方法二:num=request.form(hobby).count 记下选择了多少项for i=1 to num 写出选择的每一项 Response.Write request.form(hobby)(i)next,Form方法获取post方式提交的表单信息,2.获取多项选择表单元素值的方法:方法三:for each item in request.form(hobby)Response.Write it

4、em&/写出选择的每一项next,Form方法获取post方式提交的表单信息,服务端获取表单元素值和客户端获取表单元素值的方法不同,Form方法获取post方式提交的表单信息,注意点:,(1)4-1.asp那是一个简单的HTML文件,并没有使用ASP语句,完全可以将名字改为4-1.htm。注意:Form对象和其元素属性的设置。如action、method、type等。,(2)在4-2.asp中定义了几个变量,变量名字和表单中的元素名字可以相同,也可以不同。主要是为了程序易读,可以不一样。,(3)4-1.asp文档中的form表单和4-2.asp中Request.Form中的form方法有什么区

5、别?,前者是html文档或ASP文档提供的表单,后者是应用ASP的Request对象获取html文档或ASP文档中的表单信息的方法。,Form方法获取post方式提交的表单信息,ASP文件内的表单信息可以传给自身。,见 4-3.asp,Form方法获取post方式提交的表单信息,注意点:,(1)程序中的“”Then%这个判断语句非常重要,如果没有输入查询关键字,则不执行操作,只有输入查询信息才处理if中的语句。,(3)比较一下两种表单信息传送方式有什么不同?,表单form的action对象不同;,处理表单信息的位置不同。,如:当用户打开这个网页时,request.form(“”)得到的结果为空

6、,所以不执行asp代码。因为打开时网页的form1没有把其内容传递给自己。只有通过提交方式提交了才能获得里面元素的值。,Querystring获取方法,Querystring方法可以获取get方式提交的表单信息,也可以获取URL后携带的参数信息。,Querystring方法获取get方式提交的表单信息,语法格式:Request.querystring(“表单元素名称”),例:(4-1_1.asp 4-2_2.asp),Querystring方法获取get方式提交的表单信息,Querystring方法获取get方式提交的表单信息,Querystring方法获取get方式提交的表单信息,注意:1.

7、get方式提交的表单信息是非安全方式,附加在URL地址后面url?表单元素1的name=表单元素1的value&表单元素2的name=表单元素2的value,Querystring方法获取URL携带参数信息,QueryString用法示例请单击下面的超链接显示,4-4_1.asp,Querystring方法获取URL携带参数信息,Querystring方法获取URL携带参数信息,语法:request.querystring(参数关键字)形式类似于Querystring方法获取get方式提交的表单信息,只是这里的参数关键字是自定义的,不是表单元素名,Querystring方法获取URL携带参数信

8、息,URL后传送的信息如果是变量,不是常数,该怎么表示?,Querystring方法获取URL携带参数信息,请单击下面的超链接&age=显示,4-4-2.asp,Querystring方法获取URL携带参数信息,注意:URL后携带的都是字符串信息,不用加引号,Querystring方法获取URL携带参数信息,应用:图片展 4-6-1.asp和4-6-2.asp,类似的还有新闻系统,论坛帖子,ServerVariables获取方法,有时候希望知道服务器端或客户端的信息,如客户端的IP地址,这时我们可以用ServerVariables方法。课本60页表格4-5列举了常用的环境变量。,ServerV

9、ariables的语法格式:Request.ServerVariables(“环境变量名”),ServerVariables获取方法,例子:4-7.aspDim local_IPlocal_IP=Request.ServerVariables(Local_ADDR)Response.Write 服务器的IP地址是:&local_IP%,Response对象,Response对象可以向客户端输出信息,他的方法有:,Write方法,write方法是Response对象最普遍、最常用的方法,它直接把信息从服务端送到客户端,从而实现动态内容的显示。语法格式:Response.write 字符串或变量或

10、常量,Write方法,4-8.asp,Write方法,注意:(1)Response.write 必须在内,不能在客户端运行。(2)Response.write=,如例子4-9.asp。,区别:但在内可有多个Response.write操作 而=只能有一个。,Write方法,Write方法还可以用来输出HTML元素,比较 Write 方法输出 Html 元素%,比较 Write 方法输出 Html 元素,4-10.asp and 4-11.asp,Write方法,注意:(1)HTML代码中的双引号要改成单引号。(2)在开发ASP程序时,如果遇到不方便进行ASP语句和HTML元素之间的切换时,可以

11、用 Write方法来输出HTML元素。,Redirect方法,在普通网页中,可以利用超链接引导客户至另一个页面,但是必须要客户单击超链接才行。可是有时希望自动引导客户至另一个页面,比如:进行网上考试时,当考试时间到时,应自动引导客户端至结束界面。在ASP中,可使用Redirect方法引导客户至另一个页面。,语法格式为:Response.redirect 网址变量或网址字符串,Redirect方法,4-12.asp,Redirect方法,注意:,(2)如果希望在ASP文件的任意地方使用Redirect语句,那就必须在ASP文件的开头加上这一句话。否则,Redirct语句必须放到ASP文件的开头,

12、如果不放到ASP文件的开头,网页执行会出错:HTTP 头已经写入到客户浏览器。任何 HTTP 头的修改必须在写入页内容之前。,(1)Redirct语句中网址的写法,可以是相对地址,也可以是绝对地址。,Buffer属性,Buffer属性用来设置服务器端是否将页面输出到缓冲区,它的值为True或False。当Buffer为True时,服务器端先输出至缓冲区,在输出至缓冲区时,服务器端不响应客户端,除非所有的服务器瑞文件被处理完毕。当Buffer为False时,服务器端直接将页面输出至客户端浏览器。,如果在ASP文件中任意地方用到Redirect方法重定向页面,则必须在文件开头加这一句话,否则就会报

13、错。这是因为:在默认状况下,服务器端直接将页面输出至客户端,当输出HTML元素后,又想将网页引导到另一个页面,这是不允许的,而令Buffer等于True后,将把页面输出到缓冲区,在缓冲区不存在这个问题,可以随时将网页引导至其他页面。,End方法,End方法用来终止ASP程序的执行。当ASP程序中遇到response.end语句后,则终止程序执行(包括asp程序和html代码)。,这是第三句,4-13.asp,Cookies的设置和读取,Cookies是服务器嵌入用户浏览器中来标识用户的一种方法。在需要时,服务器可以从浏览器得到Cookies以供使用。Cookies有两种形式:一种是会话cook

14、ies,另一种是永久cookies。前者只在用户和服务器会话期间存在于用户的硬盘上,后者则在定义的有效期内永久地存在于用户的硬盘上。Cookies变量可以实现网站的各页面之间共享这些信息。ASP的Cookies是由response对象的Cookies方法来设置的,由Request对象的Cookies方法获取。,Cookies的设置,语法格式:response.Cookies(“CookiesName”)=取值response.Cookies(“CookiesName”)(“关键字”)=取值response.Cookies(“CookiesName”)(“关键字”).属性=取值,CookiesN

15、ame:Cookies变量名称,关键字:若指定了关键字该Cookies则表示一个集合,它可包含几个关键字,可以分别赋值,属性:Cookies的属性,Cookies变量本身有一些属性,其中有些属性是仅可写入的,有些是只读的。可设置的属性有:expires,path,Domain,Secure,Cookies的设置,举例:,Cookies的设置,注意:(1)设置Cookies时,如果该Cookies已经存在,则覆盖原来的Cookies;如果不存在则创建一个。(2)想在ASP文件任何地方使用用response.Cookies方法设置Cookies变量,必须保证response.Buffer=true

16、.(3)防止不同站点设置的Cookies名一样而发生覆盖,则可在程序中设置cookies变量的作用域(如domain、path属性),读取Cookies,语法格式:Request.Cookies(“CookiesName”)(关键字),读取不包含关键字的Cookies,读取Cookies,语法格式:Request.Cookies(“CookiesName”)(关键字),读取包含关键字的Cookies,读取Cookies,语法格式:Request.Cookies(“CookiesName”)(关键字).属性,读取Cookies变量的HasKeys属性:,属性:Cookies变量本身有一个只读属性

17、:haskeys,读取Cookies,思考:request.Cookies方法读取一个不存在的Cookies时,会出现什么状况?,Cookies的设置和读取,注意:,Cookies变量的expires属性设置影响着cookies变量的存活期,如果expires属性为过去的一个时期,则是会话型的,如果不设置expires属性或为以后的一个时间,则是永久性的。,Cookies的特点,1.Cookies保存在用户的机子上,不是在服务器上,进行了简单的加密。,2.Cookies的值为最近一次上网时修改后的值,不同的用户在同一台电脑上网时,Cookies不会辨别用户的身份,从而暴露其他客户的隐私。所以设

18、置cookies一定要谨慎。cookies一般用于保存非重要的信息,供网站中文件共享。,Cookies的删除,IE属性设置中“删除Cookies”,Session和Application对象,我们在访问一个网站的时候,经常要由一个网页跳转到另一个网页,在由一个网页跳转到另一个网页时,经常需要共享一些信息。,回顾:我们前面学了哪些方法可以帮我们实现这一功能?,Form;URL后携带信息;Cookies;,Session和Application对象,1.利用session对象记载每个用户各自的信息2.利用Application对象记载所有客户共享的信息3.Global.asa的编写,一、Sessi

19、on对象,大家都有过登陆论坛、聊天室的经历,在我们登陆后,系统需要记住我们的用户名,呢称等信息,以便在我们发表言论时使用。这是怎么实现的呢?我们的网络程序设计者往往会采用Session对象。Session对象是用来记载特定用户的信息的。这些信息在会话期间,网站的任何一个网页都可以共享这些信息。强调一点:多客户访问同一网站时,不同用户有他们自己的Session变量信息,相互之间不存在干扰和泄密的。,一、Session对象,Session对象的属性有:SessionID和TimeOutSession对象的方法有:AbandonSession对象的事件有:Session_OnStart和Sessio

20、n_Onend.,一、Session对象,1.SessionID,一、Session对象,1.SessionID,session利用会话型cookie的身份标志功能,将用户在浏览网站时需要保存的信息保存在服务器上。这样session既克服了http协议的缺陷,又防止了信息的泄漏,而且方便了编程者的使用,是一个非常好的解决方案。读取sessionID值语法为:,一、Session对象,2.TimeOut属性,TimeOut属性为session对象的的有效期。网站中session对象的有效期默认为20分钟。也就是说用户在20分钟内不刷新网页或不向服务器发出请求,session对象会自动结束。,注意

21、:修改的值必须大于20分钟,否则仍默认为20分钟。,读取或修改session对象TimeOut属性的语法为:n=session.timeout 读取session.timeout=整数(分钟)修改举例:,一、Session对象,2.TimeOut属性,session对象的TimeOut属性也可以在服务器的IIS的站点属性中修改。,一、Session对象,3.Abandon方法,Abandon方法用于释放Web服务器用于保存某个用户会话信息的存储空间。但是,这个方法并不影响其他用户的会话信息。如果用户未调用Abandon方法,那么该会话信息也会在Timeout属性设定的时间之后,由服务器自动删除

22、。,Abandon方法的使用语法:Session.Abandon,一、Session对象,4.建立和使用Session对象的变量,(1)建立和改变Session值的方法:Session(变量名)=表达式(2)引用Session值的方法(可用于赋值或直接输出):Session(“变量名”),一、Session对象,一、Session对象,Response.Write 您的年龄是&Session(age)直接使用Session值%,一、Session对象,Response.Write 您的年龄是&Session(age)%,(应用session对象abandon),一、Session对象,思考:,

23、如果session对象的某个变量不存在或session对象已经被释 放,读取session(“xxx”)=?,二、Application对象,Application和session对象刚好相反,它是用来存储所有用户之间的共同信息。比如聊天室里,每个人的发言都能被看到,这就是由Application对象实现的。,二、Application对象,Application 对象的生命周期为从服务器打开到关闭。Application的方法:Lock和UnlockApplication的事件:Application_OnStart和Application_OnEnd,二、Application对象,1.建

24、立和改变Application变量值,语法:Application(“变量名”)=表达式,二、Application对象,二、Application对象,Session变量和Application变量的比较,3.练习从生命周期、作用范围、工作原理、应用场合等方面概括Session对象和Application对象的相似之处和不同之处,Session变量和Application变量的比较,相同之处:,对象中的变量都可以进行存取,都有生命周期和作用域;,不同之处:,Session变量和cookies变量的比较,Cookies变量保存在客户端硬盘上,不同用户可共享同一网站的cookies变量,不安全,

25、容易泄密。有效期可以是会话型的也可以永久。Session变量的保存在服务端,不同用户有各自的session变量,安全,不会泄密。有效期是会话型的。,三、Global.asa 文件,Global.asa文件是用来定义Session、Application对象事件所对应的程序的。当Session或Application第一次被调用或结束时,将运行该文件中对应的程序。,三、Global.asa 文件,Sub Application_OnStart Application对象开始程序 End Sub Sub Application_ OnEnd Application对象结束程序 End Sub Su

26、b Session_OnStart Session对象开始程序 End Sub Sub Session_ OnEnd Session对象开始程序 End Sub,语法,三、Global.asa 文件,注意:,(1)每个应用程序,即每个网站只能有一个Global.asa文件,且必须是命名为Global.asa,且必须存放在应用程序的根目录下。,(2)语法格式必须是。,(3)由于Global.asa文件只是被调用,不会显示在页面上,所以Global.asa文件中不能有任何输出语句。,(4)对于一个应用程序,可以有Global.asa文件,也可以没有Global.asa文件,有Global.asa文

27、件时,可以同时包含上述4个事件,也可以只包含其中的几个事件。,(5)编写Global.asa文件时,可以调用文本编辑软件,存为Global.asa即可。,三、Global.asa 文件,比较:Global.asa中设置:Sub Session_OnStart Application.Lock Application(visitor)=Application(visitor)+1 Application.UnlockEnd Sub页面程序中设置:then application.Lock()if application(visitor)=then application(visitor)=1 e

28、lse application(visitor)=application(visitor)+1 end if application.unLock()end if%,三、Global.asa 文件,比较结果:只要有用户访问该站点下任何一网页则会执行该程序。相反,在页面程序中设置该段程序则在用户访问该网页,三、Global.asa 文件,比较:Global.asa中设置:Sub Session_OnEnd Application.Lock Application(visitor)=Application(visitor)-1 Application.UnlockEnd Sub页面程序中设置:th

29、en application.lock application(visitor)=application(visitor)-1 application.unlock response.Write window.top.close()end if%,三、Global.asa 文件,比较结果:Global.asa中设置:用户退出该站点达到session变量的timeout时限后或session.Abandon()后自动执行该程序段。页面程序中设置:该段程序则在用户访问该网页时执行,但session变量在timeout时限达到后或使用session.Abandon()后自动取消,Server对象,学

30、习内容:,Server对象的属性和方法,特别是:HTMLencode 方法和Mappath方法。,一、server对象的属性和方法,二、ScriptTimeOut 属性的应用,和前面的session.timeout很相似,ScriptTimeOut是设置服务器执行网站中某一网页脚本的最长时间。如果脚本程序在设定的时间值范围内没有执行完毕,将自动停止执行。它的默认值是90秒,程序员可以根据程序的复杂程度重新设置这个值,但不能低于90秒。如:,三、CreateObject 方法的应用,语法格式:Set 实例名server.CreateObject(ActiveX server 组件),server

31、.CreateObject方法主要用于创建ActiveX组件、应用程序或脚本对象的实例。组件可以是各种形式的可执行程序(DLL、EXE等),不必考虑它的位置,只要在WindowsNT(或98)中登记注册了这些程序,COM就会在系统注册表(Registry)里维护这些资料,让程序员调用。,三、CreateObject 方法的应用,使用ActiveX服务器组件能扩展ASP的功能,实现一些仅依赖脚本语言所无法实现的功能,使得ASP具有更强大的生命力,ActiveX server 组件包括数据库存取、文件存取等组件。,作用:,举例:,三、CreateObject 方法的应用,注 意:,(1)Creat

32、eObject方法仅能用来创建外置对象实例,不能用来创建系统的内建对象实例,如下列语句是错误的。,(2)若想在其他页面中也可使用已创建好的对象实例,可将对象实例存储在Session对象或Application对象中。如,四、HTMLEncode方法的应用,浏览器对HTML标记字符是进行解释执行的。如果有时候希望显示某个HTML页面中涉及到的实际HTML代码或ASP脚本,就必须使用Server对象的HTMLEncode方法,把HTML标记转化为转义字符再发送到浏览器。,语法格式为:Server.HTMLEncode(string),举例:6-1.asp,Response.write“you ar

33、e welcome!”,期望在网页上写出:you are welcome!,四、HTMLEncode方法的应用,搜狐输出一个换行符Response.Write Response.Write Server.HTMLEncode(搜狐)%,六、MapPath方法的应用,在网站设计中,我们通常使用虚拟路径(相对路径或绝对路径)。但数据库文件操作或其他文件就必须使用物理路径(真实路径),MapPath方法就是将指定的虚拟路径映射到物理路径的方法。,语法格式为:Server.MapPath(虚拟路径字符串),举例:6-2.asp,六、MapPath方法的应用,(1)在具体应用中,如果需要用到物理路径,可

34、以直接写,也可以用MapPath方法转换。,(2)MapPath方法通常用于数据库文件操作、文件上传等操作中。,说 明,七、Execute方法的应用,Server.Execute方法允许当前的ASPX页面执行同一Web服务器上的指定的ASPX页面,当指定的ASPX页面执行完毕,控制流程重新返回原页面发出Server.Execute调用的位置。这种页面导航方式类似于针对ASPX页面的一次函数调用。,语法格式:Server.Execute(变量或字符串),举例:6-3.asp和 6-4.asp,七、Execute方法的应用,欢迎光临我的主页 谢谢,再见,6-3.asp,敬请提出宝贵意见,6-4.a

35、sp,八、Transfer方法的应用,Server.Transfer方法与Server.Execute方法很相似,只是执行完新网页后不返回原网页。,语法格式:Server.Transfer(字符串或变量),举例:6-5.asp和6-4.asp,八、Transfer方法的应用,欢迎光临我的主页 谢谢,再见,6-5.asp,敬请提出宝贵意见,6-4.asp,课 后 思 考,比较异同Response.redirectServer.Execute Server.Transfer,补充知识,指由这个文件所在的路径引起的跟其它文件(或文件夹)的路径关系。使用相对路径可以为我们带来非常多的便利,特别是提高程序的移植性。,在www中(广域网),以http开头的链接都是绝对路径。,指的是某一台计算机本地的路径,以盘符开头,例如C:、D:temp等等。ASP的数据库连接中,只能连接物理路径,而不能连接虚拟路径,所以需要用server.mappath对象把相对路径转化成物理路径。,相对路径:,绝对路径:,物理路径:,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号