ASP动态网页设计教程.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《ASP动态网页设计教程.ppt》由会员分享,可在线阅读,更多相关《ASP动态网页设计教程.ppt(116页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、25.1.2 获取信息的方法获取信息的方法-Form1、使用、使用Form集合获取信息集合获取信息我们使用Form变量是用来获取用户在窗体中填写的相关信息。但是在使用Request.Form的对象时,HTML标记中的必须使用“POST”方法,否则将无法取得窗体中的字段信息。Form的用法:Request.Form(Element)(Index).Count其中,Request.Form(Element)的值为请求正文中所有Element值构成的一个数组,通过调用Request.Form(Element).Count来确定参数中值的个数。如果参数未进行关联,则Count的值为1。如果找不到该项参
2、数,则为0。如关联了多个值,则必须指定Index的值。Index的值为1到Request.Form(Element).Count中的任意整数。下面我们用一个例子来说明一下。35.1.2 获取信息的方法获取信息的方法-Form(实例)(实例)【例例5-1】程序名:程序名:exam5-1.htm姓名:姓名:性别:性别:男男女女您的爱好有:您的爱好有:体育体育购物购物阅读阅读程序名:程序名:exam5-1.asp您的姓名:您的姓名:性性 别:别:% Response.Write您的爱好有:您的爱好有: For i=1 to Request.Form(hobby).Count Response.Wri
3、te Request.Form(hobby)(i)& Next%45.1.2 获取信息的方法获取信息的方法-QueryString2、使用、使用QueryString集合获取信息集合获取信息QueryString集合:一般用于检索客户HTTP请求中字符串变量的值。QueryString的用法:的用法:Request.QueryString(Variable)(Index)|.Count其中,Variable指的是查询字符串中要检索的变量名称,Index和Count的用法类似于Form集合的用法。还有要说明的是,通常我们在地址栏中都是以QueryString变量的方法传送变量名及数值。而且需要注
4、意变量的名称与内容必须放在“?”符号的后面。我们以一个简单的例子来说明其用法。55.1.2 获取信息的方法获取信息的方法-QueryString(实例)(实例)【例5-2】程序名:程序名:exam5-2.htm This is a test!用户发送的字符串变量为用户发送的字符串变量为 strtest,内容为:内容为: 在你的IE中输入http:/localhost/aspweb/chapter5/exam5-2.asp?strtest=asppro,这时,IE会显示如图5-2所示。 65.1.3 得到服务器属性的方法得到服务器属性的方法-ServerVariables当我们想获取服务器端的各
5、种信息时,我们可以用 ServerVariables集合来获得。ServerVariables的用法:Request.ServerVariables(Server Environment Variable)【例5-3】 程序名:程序名:exam5-3.asp 读者在运行该程序以后即可看到所有的服务器端的相关参数,如图5-3所示。有兴趣的读者可以试着根据自己所需要获得的参数来编写程序,以获取服务器端的参数。75.2.1 Response对象简介对象简介第一节我们谈到的Request对象是从客户端获取信息,而Response对象恰恰相反,它的作用是将ASP程序运行后的结果信息发送到客户端。Resp
6、onse对象不像Request对象那么简单,它具有很多的集合、属性和方法。在众多的类别中,我们经常用到的是Write方法、Redirect方法以及Buffer属性。在以下的几节中我们会重点介绍它们的用法。首先,我们来看看Response对象的基本用法:Response.collection|property|method1、Response的属性的属性Response对象具有很多属性,具体情况如表5-3所示。属性说明* Buffer说明了页输出是否有缓冲。ContentType指定即将开始被送至客户端浏览器的信息种类,默认值是text/HTML。Expires在浏览器中缓存的页面超时前,指定缓
7、存的时间。Status服务器返回的状态行值。IsClientConnected该值表明了客户端与服务器的状态是连接还是断开85.2.5 Request对象和对象和Response对象的综合使用对象的综合使用【例例5-5】演示如何向服务器发送数据,在提交表单后如何显示出提交的演示如何向服务器发送数据,在提交表单后如何显示出提交的结果。结果。程序名:程序名:exam5-5.asp%Response.Expires=0If Request.ServerVariables(Content_Length) 0 Then通过通过Content_Length来判断时候已经提交过信息来判断时候已经提交过信息s
8、trName=Trim(Request.Form(yourname) 使用使用Trim函数来删除首尾多余的空格,下同!函数来删除首尾多余的空格,下同!strSex=Trim(Request.Form(sex)strLiuyan= Trim(Request.Form(message)strMessage=Replace(strLiuyan,vbcrlf, & vbcrlf)%您的姓名:您的姓名: 性性 别:别: 留留 言:言: %Response.Write 您共选择了您共选择了 & Request.Form(hobby).Count & 项爱好项爱好: & For i=1 to Request
9、.Form(hobby).Count Response.Write Request.Form(hobby)(i) & Next% form Method=post action=姓名:姓名:性别:性别:男男女女留言:留言: 欢迎欢迎请填写完您的留言请填写完您的留言 您的爱好有:您的爱好有:体育体育购物购物阅读阅读其运行结果如图5-5-1、图5-5-2所示。95.3.1 Cookies集合简介集合简介Cookies可以理解成存放在客户端的相关数值的集合,它经常被用于在客户端上存储一些数据,从而在下一次客户重新登陆该网站时它是有效的。也就是说:第一次有服务器端写入客户端的系统中。以后每次访问该站点
10、时,客户端都是先发送Cookie到服务器端,由服务器进行分析,分析完成以后产生HTML代码再返回给客户端。比方说:现在很多高校图书馆的主页上都允许你自定义你的WEB站点-我的图书馆。实际上是根据你自己的喜好设置一些参数选项。站点在你的客户机上存储一个Cookie,并在每次访问该站点时检索这个Cookie。站点从Cookie中的参数中就会知道你是谁,你曾经访问过本站以及根据你设定的参数进行界面以及其他选项的更改。前面我们已经讨论过,可以用Response对象将Cookie写入客户机,同时,Request对象的Cookie集合也允许用户从客户机上检索Cookie的值。Cookie集合的用法为集合的
11、用法为:Request.Cookies(Cookie)(Key)|.Attribute105.3.2 Cookies集合的操作集合的操作-写入与读取写入与读取我们一般用Response对象的Cookies来写入Cookies Cookie可以用两种方式来写入,单值cookie实际上是一个一般的类ASP集合。我们说,在ASP中,集合的每个成员可能自身也是一个集合,包含这种信息的cookie通常被称为多值Cookie。创建一个单值的Cookie较为简单,如下所示:Response. Cookies(FieldsName)=变量或字符串;创建一个多值的cookie,可以使用如下命令:Response
12、.Cookies(FieldsName)(Sub-Item-Name)=Sub-Item-Value。Cookies的Response.Cookies程序段必须放在Html标记之前,且不可以有其它的Html代码。另外,我们还必须在Cookies中使用Expires设定有效期,Cookies才能真正地写入客户端的硬盘中,否则只是临时的。具体用法为:具体用法为:Response. Cookies(FieldsName)=变量或字符串如:Response.Cookies(stuname)=LiMing读取读取Cookies的基本语法为:的基本语法为:Request.Cookies(CookieNam
13、e)可以将Request值当作一个变量看待,执行下面的代码,将取回名字为stuname的cookie值,并存入变量MyCookie:MyCookie=Request.Cookies(stuname)执行下面的代码,将判断名字为stuname的cookie值是否为“Yes”:If Request.Cookies(stuname)=Yes then115.3.3 Cookies集合的属性集合的属性ASP的属性有四种:的属性有四种:Domain,Expires,HasKey以及Path。首先,我们来看看命名Cookie时要用到的两个属性:Domain和Path属性。同其他变量的命名一样,合理的命名c
14、ookie,有利于在程序中方便的使用它。你可以使用下面的2个Cookie属性对Cookie变量进行命名:域属性(域属性(Domain):):域属性表明Cookie由哪个WEB网站产生或者读取,默认情况下,Cookie的域属性设置为产生它的网站,但你也可以根据需要改变它。相关代码如下:Response.Cookies(stuname).Domain = 路径属性(路径属性(Path):):路径属性可以实现更多的安全要求,通过设置WEB网站上的精确路径,我们能够限制Cookie的使用范围。例如:Response.Cookies(stuname).Path = /lib/sub/path有效期属性(
15、有效期属性(Expires):):通常情况下,当用户的浏览器被关闭时,Cookie就不存在了。但是在很多种情况下,我们希望能更长时间地在客户端的计算机上保存Cookie。这时候,我们要用到Cookie的Expires属性。通过下面的代码,我们可以设置Cookie的使用到期时间为2008年7月1日:Response.Cookies(CookieName).Expires=#July 01, 2008#或者,将设定cookie的过期时间为“Cookie的创建时间365日”:Response.Cookies(CookieName)=Date+365HasKey属性:属性:如果Cookies集合是如前
16、面所说的多值Cookies时,我们可以使用该属性来遍历完整的Cookies集合。下面通过一段代码来说明HasKey的用法。For Each objItem In Request.Cookies If Request.Cookies(objItem).HasKey Then For Each objItemKey in Request.Cookies(objItem) Response.Write objItem & ( & objItemKey & ) =& Request.Cookies(objItem)(objItemKey) & Next Else Response.Write objI
17、tem & = & Request.Cookies(objItem) & End If Next 125.3.4 Cookies集合的应用集合的应用下面我们通过两个具体的例子来说明Cookies的用法。我们假定你需要做一个网站,在网站中你想做一个调查,每个用户初次访问时都需要填写好注册信息,当日后再访问时,就不需要再填写了。利用Cookie,就可以非常圆满地解决这个问题。我们来分析一下这段代码:我们来分析一下这段代码:首先,我们读取了名字为stuname 的Cookie的值。然后,判断该值是否存在具体的数值,如果不存在,就创建该Cookie值,设置它以后转到stu.asp页面。当用户再次访问它
18、时,因为已经存在了Cookie值,所以,就不会再转到 stu.asp页面,而是继续执行以后的ASP代码了。再来看另外一个例子。这个例子是利用使用再来看另外一个例子。这个例子是利用使用Cookies使当用户第一次访问该使当用户第一次访问该站点时显示欢迎信息。站点时显示欢迎信息。135.3.4 Cookies集合的应用(实例)集合的应用(实例)【例例5-6】程序名:程序名:exam5-6.asp%RequestName = Request.Form(Name)RequestMs= Request.Form(MySelf)If RequestName or RequestLeaveMeAlone t
19、henResponse.Cookies(VisitorName) = RequestNameResponse.Cookies(VisitorName).Expires = #July 01, 2008#Response.Cookies(MySiteMySelf) = RequestMsResponse.Cookies(MySiteMySelf).Expires = #July 01, 2008#End ifVisitorName = request.cookies(VisitorName)LeaveMeAlone = request.cookies(MySiteMySelf)If Visito
20、rName = and Myself = thenEnd ifIf VisitorName thenResponse.write VisitorName & WELCOME TO THIS WEBSITE!End if其它的其它的ASP代码代码%程序名:程序名:exam5-6.htm说明:说明:首先设置页面,检查表单信息,如果存在,则创建Cookie集合,并设置有效期时间。再读取Cookie集合,如果Cookie在访问者的计算机上不存在,就创建一个表单,询问相关信息。如果已经存在,并且用户名字存在,就显示给访问者一个欢迎界面,然后执行其余的代码。其运行结果如图5-6-1、图5-6-2所示。14
21、5.4.1 Session对象简介对象简介Session对象和我们后一节要说的Application对象一样,体现了其他三种内置对象所没有的特性-事件。众所周知,HTTP是一种非状态的协议,也就是说Web服务器将每个网页请求都看做是独立的,因此服务器不保留以前请求的任何信息,即使它们只早于当前请求几秒钟。这种缺陷给编写应用程序造成了很大的困难。ASP为管理会话信息问题提供了独特的解决方案。使用ASP的Session对象和服务器生成的特定用户ID,可以创建更合理的ASP应用程序,以便标识每次访问的用户并收集用户信息,应用程序随后就可以利用这些信息来跟踪用户的各种选择。我们可以使用Session对
22、象存储单个用户会话所需的一些信息。当用户通过应用程序的页面向服务器发送请求时,如果该用户还没有进行会话,则自动创建一个Session对象,如果会话已经过期了,服务器将终止该会话。Session对象经常被用在电子商务的网站中,用于创建虚拟的购物篮。只要你登陆到了该网站,无论什么时候,只要你点击了购买商品的按钮,产品就会进入购物篮,当用户离开时,实际上就已经进行了他所选的所有商品的订购工作,这些购物信息就是被保存在Session对象中的。155.4.1 Session对象简介(续上)对象简介(续上)需要注意的是:会话状态仅在支持cookie的浏览器中保留,如果客户关闭了Cookie选项,Sessi
23、on也就不能发挥作用了。Session对象的功能看起来和Cookie有些相似,但实际意义上存在着很大的区别。我们知道,Cookie中的数据是存放在客户端的浏览器中,而Session中的数据则存放在WEB服务器上面。当用户第一次登陆到网站时,ASP会检查HTTP协议的头信息,看是否存在有ASPSESSIONID的字段信息发过来,如果存在,则WEB服务器就启动新的会话,为该用户创建一个全局变量,并将该值返回给客户端。ASP就是利用这种方法来访问存储在客户端上的用户独特的信息的。当然,在你不需要使用Session时,你也可以告诉IIS不用对Session进行追踪,只要在ASP的最前面加上即可。Ses
24、sion对象的语法为:对象的语法为:Session.Collection|Property|Method其中:Collection为Session的集合Property为Session的属性Method为Session的方法。165.4.2 利用利用Session存储信息存储信息利用Session对象存储用户信息,只需要简单的调用Session对象就可以了。下面我们以一个简单的例子来说明其用法。【例5-7】程序名:程序名:exam5-7.asp This is a Example 其运行结果如图5-7所示。我们假定用户请求了另外一个页面,代码如下:我们假定用户请求了另外一个页面,代码如下:程序
25、名:程序名:exam5-7-1.aspAnother Example当用户浏览此页面时,同样的又显示一次。当用户浏览此页面时,同样的又显示一次。但在此页面上会话变量并没有被赋值。因为在前但在此页面上会话变量并没有被赋值。因为在前面的页面中变量已经被赋值了。面的页面中变量已经被赋值了。175.4.3 利用利用Session存储数组信息存储数组信息Session对象可以提供动态关联数组,在数组中存储信息。在Session对象中存储单纯变量和对象变量。要在Session对象中存储变量,需指定Session对象中已命名条目的值。可以利用Contents集合来存储数组信息。Contents集合可以包括所
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ASP 动态 网页 设计 教程
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内