Web编程技术第5章-Asp内置对象_第1页
Web编程技术第5章-Asp内置对象_第2页
Web编程技术第5章-Asp内置对象_第3页
Web编程技术第5章-Asp内置对象_第4页
Web编程技术第5章-Asp内置对象_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

第五章ASP的内建对象RequestResponseSessionApplicationServer5.1Request对象〔获取客户请求〕Request对象用来获得客户端的信息,比方用户的注册信息等。共有两种获取方法,分别是QueryString和Form。另外,Request对象还有Cookies的读取功能〔Response对象具有Cookies的保存功能〕。表单method={post;get}:指定表单数据传给表单处理程序的方法。

Get:表单数据会保存在环境变量query_string中,表单处理程序可以从此变量取得表单数据。Post:表单处理程序可以通过Form直接取得表单数据。Request对象〔获取客户请求〕1、使用QueryString得到get方法的数据: 格式:Request.QueryString(“字段名”) 功能:用来取得前页所发送的值〔是利用参数来取得Get发送的数据〕。有三种方式可以产生get请求:1、使用表单:<Formaction=“5-2log.asp”method=“get”>……</Form>2、浏览器地址栏输入:://localhost:800/5-2log.asp?username=xyz&pwd=1233、使用超链接:<ahrefxyz&pwd=123”>显示内容Request对象〔获取客户请求〕1、使用QueryString得到get方法的数据:

当get方法遇到具有同一名称的多个表单元素时,这些元素将被放到一个集合中,可以通过循环取得它们的值。Request.QueryString和get方法的缺点是:请求串会被一些浏览器直接显示在地址栏内,信息保密性不好!!Request对象〔获取客户请求〕2、From集合: 格式:Request.Form(“字段名”) 功能:用来取得前页发送的值〔是利用表单取得Post发送的数据〕。方法:<formaction="5-6.asp"method="post">……</form>

表单method={post;get}:指定表单数据传给表单处理程序的方法。

Get:表单数据会保存在环境变量query_string中,表单处理程序可以从此变量取得表单数据。Post:表单处理程序可以通过Form直接取得表单数据。3、Cookies集合:〔读取cookies值〕〔详细见后面〕

格式:Request.Cookies(“cookies名称”)(“Key名称”).Attribute。

功能:用来得到客户端cookies的值。〔使用Response可以对Cookies值进行写入〕。Response对象的方法1、Write方法: 格式:Response.Write字符串/函数 功能:用来输出结果到浏览器。 注意:输出的字符串长度必须小于1022字符,超过用变量表示。输出“%>”字符时,必须写成“%\>”,否那么语法错误。2、Redirect方法:格式:Response.Redirect“URL”功能:转向另一个网页。5.2Response对象〔向客户输出数据〕三、cookies数据集合Cookie是在客户端访问网站时,web效劳器在客户端写入的一些信息,并且存放在客户端上,当再次使用相同浏览器请求同一效劳器时,可以把以前写入的cookie值传给web效劳器。使用cookie可以在页面间交换信息,如认证客户密码。ASP脚本可以使用Request和Response对象中的cookies数据集合,设置和获取cookie的值。三、cookies数据集合默认的生命周期始于被写入浏览器端的那一刻开始,结束于浏览器关闭。可以设置存在期限,使用resopnse.cookies(name).expire属性即可。只能记录串、数值等简单数据类型,无法记录数组、对象等复杂信息。可能被删掉,可能导致个人信息被窃取。1、向客户端写入CookieResponse.Cookies(“Cookies的名称”)(“key名称”).Attribute=valuekey:可选参数,如果指定,那么该cookies就是一个字典,key值作为“Cookies名称”的下级子关键字。Attribute:可选参数。常用的是:Expires〔指定cookies生命周期〕。注意:cookies的值将被存储在客户端的小文件中。但是,没有设定Expires的cookies的生命周期是当浏览器关闭时生命结束,这样的cookies只需记录在内存中,不会被记录在小文件中。2、得到客户端的cookieRequest.cookies(cookie名)(key名).attribute如果使用key,那么cookie变为一个字典,可以通过key访问字典中的子关键字。对于字典,如果读取时没有指定key,那么所有子关键字以一个字符串返回。5.3Session对象 Session对象是记录在效劳器端的变量。只记录特定客户的某次访问的信息。假设有五个客户访问网站,将会有五个session。 Session有效期开始于浏览器与效劳器连接,终止于会话被放弃〔并非关闭浏览器〕或超时。、利用session对象存储信息:格式:Session(“session名字”)=变量或字符串信息说明:既创立了session又给session赋了值。当用户在页面间跳转时,session值不会被去除。利用session对象实现页面间信息共享〔举例〕先使用用户输入的信息创立session:<%session(“myname”)=“suntao”session(“password”)=“888”%>在其他页面再使用session:<%name=session(“myname”)pwd=session(“password”)%>、session和cookie的区别Session对象记录每一位客户的信息,信息存储于效劳器端;有效期开始于浏览器与效劳器连接,终止于会话被放弃或超时,可以使用timeout属性设置有效期。Application对象用来管理应用程序,所有用户共享信息。如果不加以限制,所有用户都可以访问。它开始于对Web效劳器的第一个asp文件请求,结束于效劳器的关闭。Cookie是Web效劳器放在客户端的信息,默认的生命周期始于被写入浏览器端的那一刻开始,结束于浏览器关闭,可以使用expire属性设置存在期限。、session对象的属性、事件及方法一、属性:TimeOut属性: 格式:Session.TimeOut[=时间〔分钟〕] 功能:用来设置每个Session的结束时间。〔默认20min〕

二、方法:Abandon方法: 格式:Session.Abandon 功能:用来结束会话状态〔Session〕,删除所有存储在session对象的变量。<%session.abandon%>注意:abandon对session变量的撤销功能仅在当前页面结束时生效,而且对所有的session变量都有效。举例session1.htm:递交信息Session2.asp:取得信息,并设置session值Session3.asp:读取session值问题:1Session对象究竟是什么时候结束的?答:Session存储于效劳器上,效劳器会在timeout或abandon时撤销Session变量。浏览器关闭时Session变量不会被立刻撤销!问题:2浏览器关闭时,Session变量仍然存在,所以再次翻开浏览器还可以访问到原来的Session吗?答:不能,因为重新翻开浏览器就相当于一次新的登陆,所看到的是新的Session变量!旧的Session变量虽然存在,但已经不可用了〔新旧Session变量共存于效劳器上〕。即:使用Session变量纪录登陆次数时,“刷新后”还是“旧变量值”〔1,2,3,4,…〕,但是关掉浏览器再开时就是“新变量值”〔1,2,3,1,2,…〕了!问题:3效劳器为什么不在浏览器关闭的时候撤销Session变量?答:效劳器无法知道客户端浏览器是否关闭了!问题:4Timeout值可以设为无限吗?答:不能,Session变量永远是临时的,因为如果Session变量设为无限的,那么,效劳器对每个用户的每次登陆都将产生假设干个Session变量,而且不可删除,久而久之,效劳器会不堪重负的!需要长期存储的信息不应该使用Session变量实现,而应使用Cookies实现。5.4Application对象 Application对象在asp中用来管理所有用户间的共享信息。如果不加以限制,所有用户都可以访问。 它开始于对Web效劳器的第一个asp文件请求,结束于效劳器的关闭。5.4.1设置和取得Application对象格式:application(“application名字”〕=变量名或串Application对象与Session对象的区别Session对象2Session对象1

Session对象3浏览器1

浏览器3

浏览器2

Application对象5.4.2application对象的属性、事件和方法一、方法1、Lock方法: 功能:锁定application,禁止其他用户修改Application对象中的变量。2、UnLock方法: 功能:解除application的锁定。向application和session对象存储数组信息要整体赋值:例如dimmyarray(1)myarray(0)="hello"myarray(1)="world“Session(“introduce”)=myarray使用application对象的本卷须知不能在application对象中存储ASP内建对象把数组存储在application中,不能直接更改元素。具体用法见例app0.asp和9_0.asp:未运行app0.asp而先运行9_0.asp时,出错,因为application变量尚未定义;先运行app0.asp之后运行9_0.asp就正确了;全部关闭,再直接运行9_0.asp也没问题,因为application变量是长期存在的,除非效劳器重启;对于application数组变量,直接对其元素赋值是无效的,必须整体取下来作为局部变量来赋值,然后再放上去。举例App1.asp:选择浏览网页的语种App2.asp:处理用户信息并设置Application变量〔首次使用的application变量或session变量的初值为0或“”〕App3.asp:查看Application对象记录的使用者情况小结:Application对象在web效劳器开始执行时被建立,在web效劳器关机时被撤销。session对象在浏览器与效劳器联机时被建立;在session被abandon时,或浏览器在session.timeout设置的时间之内没有存取网页时被撤销(而不是浏览器关闭时)。Application是浏览器端共享变量,session是各个浏览器的专用变量。聊天室的实现实现:index.asp首页,用户登陆chat.asp聊天界面框架主文件〔保存来访者信息,以通知他人〕input.asp输入内容文件main.asp显示聊天信息文件exit.asp退出聊天文件使用了如下application或session变量:Application(“show”)用于存储聊天室的聊天内容;Application(“user_online”)用于存储当前用户数;session(“user_name”)用于存储用户昵称。对于Application(“user_online”)的统计可以放在Global.asa中。5.5Server对象Server对象主要是让用户使用Web效劳器所提供的功能组件。比方:数据库连接组件〔第七章〕、文件访问组件、广告显示组件〔第八章〕等等,这些都是vbscript不能提供的功能。一、属性:ScriptTimeOut属性: 格式:Server.ScriptTimeOut[=时间〔秒〕] 功能:用来设置Script执行时的过期时间〔默认90秒〕。 注意:必须放在asp文件的最前面。<%server.scripttimeout=120%>效劳器处理脚本时,如果超过这个时间而未结束,那么不再执行。二、方法:1、CreateObject方法:〔用法见第七章和第八章〕格式:set名称=Server.CreateObject〔”ActiveXserver组件”〕功能:建立效劳器组件,该方法可以为ASP提供访问数据库等强大功能。注意:应放在asp文件的最前面。例如:setcm=server.createobject(“adodbmand”)setcn=server.createobject(“adodb.connection”)setrs=server.createobject(“adodb.recordset”)2、MapPath方法:〔略〕知道MapPath根本功能即可——给出文件的物理路径。 格式:Server.MapPath〔”path”〕 功能:path代表了相对目录或虚拟目录,MapPath的功能是提供其所对应的效劳器物理目录。注意:如果Path是完整的虚拟目录,那么应以\开始;如果Path是相对目录,那么不以\开始。相对路径、虚拟路径〔即绝对路径〕:wwwrootasptdtbta1.asp4.asp3.asp2.asp5.asp根目录虚拟目录子目录假设要在3.asp中分别链到其他asp文件。1、相对路径<ahref=“..\1.asp”>1.asp</a><ahref=“..\ta\2.asp”>2.asp</a><ahref=“4.asp”>4.as

温馨提示

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

评论

0/150

提交评论