1、1网站设计与管理教案2ASP 概述教学时间: 第一周 教学课时: 4 节 任课教师 柳明池教学进度: 正常教学目标:1.对 asp 语言有一个初步概念,知道学习 asp 语言该学什么?怎么学?学了有什么用?2.介绍 asp 语言的特点、作用,以及 Asp 的运行环境3.区分动态网页与静态网页4.建立第一个简单的 asp 程序 helloworld.asp教学重点: 1.区分动态网页与静态网页2.建立第一个简单的 asp 程序 helloworld.asp教学难点: 第一个简单的 asp 程序 helloworld.asp教学过程:一、动态网页与静态网页的区别分析以下几个网站:网站一、网站二、网
2、站三静态”网站的致命弱点就是不易维护,为了不断更新网页内容,你必须不断地重复制作 HTML 文档,随着网站内容和信息量的日益扩增,你就会感到工作量大得出乎想象。那么什么是动态网站呢?简单的讲,由网页应用程序反馈至浏览器上生成的网页即是动态网页,该网页是服务器与用户进行交互的界面。最常见的动态网页效果例如下图所示,用户在某个网页中的文本框输入相关的内容,然后单击其旁边的确认按钮后,即可打开一个相关的网页。所谓“动态”,并不是指那几个放在网页上的 GIF 动态图片,在这里我们为动态页面的概念制定了以下几条规则:1、“交互性”即网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面,这将
3、是今后 WEB 发展的大事所趋。2、“自动更新”即无须手动地更新 HTML 文档,便会自动生成新的页面,可以大大节省工作量。3、“因时因人而变”,即当不同的时间、不同的人访问同一网址时会产生不同的页面,是不是很酷?二、什么是 asp 语言Asp,全名 activeserverpage,是一种服务器端脚本编写环境,可以用来创建和运行动态网页或 Web 应用程序。ASP 网页可以包含 HTML 标记、普通文本、脚本命令以及 COM组件等。1、学什么?31)课本第 2,3,4 三章,掌握 asp 的语法,包括语句格式,条件语句,循环语句,内置函数和自编函数2)重点学习 asp 的对象,以及它们的属性
4、、方法、事件2、怎么学?1)掌握语法,注重理解2)认真做作业,调试程序,理解每一语句的作用3)利用网上资料和手册解答简单问题4)所谓“师傅领进门,修行靠自己”,关键要自己善于思索,课外多下功夫3、如何用?1)应用到实际的网站中去,可完成留言、调查、注册、博客、新闻管理与发布、音乐下载、聊天室等功能2)具体详见第 5、6、7、8、9、10、11 章三、本学期要求与目标1.认真按时完成作业2.认真做好听课笔记3.做好课前预习和课后复习4.B 类学分成绩:课堂表现(40%)课堂笔记(20%)作业(40%)四、怎么运行 asp 程序?ASP 程序是运行于网络服务器端的一种应用程序,想要正常运行 ASP
5、 程序,还需要在完成 Internet 服务器 IP 地址的设置工作后建立 ASP 的运行环境。常用的支持 ASP 的网络服务器有 PWS(PersonalWebServer)和 IIS(InternetInformationServer)。因为应用 PWS 的 Windows95/98 操作系统目前已经被淘汰,下面我们将重点介绍在Windows2000/XP 这 2 种常用的操作系统中安装与配置 IIS 的方法。运行环境说明操作系统:win2000,win2003,winxp,Unix,linux 等非 windows 系统是无法运行 iis那么什么是 iis?iis 是微软出品的 www
6、服务器,也叫 http 服务器。全称:internet 信息服务器。iis 作用:接收用户发出的网页浏览申请,为用户提供网页信息。安装 iis 过程,请看一段视频五、运行第一个 asp 程序:helloworld.asp新建一个 asp 文档,加入以下一段代码保存到新建站点下,再在地址栏中打入 http:/localhost/站点名称/路径或http:/127.0.0.1/站点名称/路径或 http:/本机 ip 地址/站点名称/路径。作为 asp 的一个标记,并嵌入到 html 里;ASP 语句和 ASP 脚本命令必须使用“”表示脚本的开始和结束,可以每一行 ASP 语句界定一次,也可以多行
7、语句界定一次。response.write 什么意思?运行代码思考:我要输出以下内容,可以如何写程序?asp 是很有用我一定好好学六、程序如何工作?“)response.write(“天天向上“)%4“)response.write(“好好学习“)%比较这两段代码的输出程序是按顺序执行的。再看代码:“):response.write(“好好学习“)%如果把多条语句放在同一行中,就要用冒号将他们分开。5常量、变量、运算符教学时间: 第二周 教学课时: 4 节教学进度: 正常教学目标: 掌握常量、变量、运算符的概念,和数据类型。教学重点: 常量、变量、运算符教学难点: 数组变量教学过程:一、常量常
8、量是用来取代固定数字或固定字符串的名称。它的语法如下:constpi=3.14159consthtml=“hypertextmaruplanguage“constcreatdate=#11-12-2000#其中字符串常数需以双引号“表示,日期表达式则必须使用#将日期的值括起来运行:如果改成注: 常数的值在执行期间不得改变,故称为常数。若在程序中不小心改变了常数值,会显示命令不合法的信息。二、变量什么是变量?先看一个例子。比较:把 a 看成一个盒子,a=“asp 很有用,我一定好好学“/相当于将字符串“asp 很有用,我一定好好学“装进了盒子 a 里response.write(a)/相当于将盒
9、子 a 里的东西输出a 即为一个变量变量为计算机内存位置的一块空间,在这个空间中,可以保存程序执行过程中所产生的信息。6注: asp 变量中所有的变量都是没有数据类型的变量,也就是说变量的类型都是可变的数据类型。当我们将整数数据指定给变量,该变量就是整数变量,指定日期给该变量,该变量就是日期类型的变量。变量的定义用 dim如:dimx,y,z变量里面的内容称为变量的值=称为赋值运算符例:请问上面两个例子的结果是什么?变量的命名规则 必须以英文字母开头,且只可以使用字母、数字和下划线的组合 变量名称不能包含句点(.) 变量名称的长度不能超过 255 个字符 在定义的有效范围中必须是惟一的三、运算
10、符1、算术运算符(1)我们先来看这么一个例子其中等号我们称为赋值运算符,称为算术运算符算术运算符有以下几种:+正号-负号+加法-减法*乘法/除法整数除法 Mod 余数思考:当前变量 a 的值是 5,我还想把变量 a 的值增加 2,该怎么办?(2)运行程序;a 是数值类型b 是字符类型,加上引号不同类型的变量最好不要进行运算变量的类型有整型,单精度,字符,时间类型我们来看下时间类型,会出现什么结果呢?2、比较运算符:=等于不等于小于大于=小于等于大于等于3、逻辑运算符:NOT 将逻辑值加以反向 AND“和”或者说“且”运算 OR“或”运算XOR“异或”运算四、数组实例:计算全班 40 个同学的平
11、均成绩7定义 40 个变量,逐个相加?我们可以用数组存储数据,再对他们进行循环相加。什么是数组?简单地说数组就是一堆变量。dima(2)/其中 a 是数组名,这里定义了 3 个数组变量 dim 数组名(元素数量)a(0)=4a(1)=7a(2)=5/对 3 个数组变量进行赋值response.write(a(0)+a(1)+a(2)/3)以上是对 3 个变量求平均值对 40 个变量求平均值?对以上程序可以改成8条件语句教学时间: 第三周 教学课时: 4 节教学进度: 正常教学目标:1、掌握单分支 if 语句的格式与执行流程2、双分支 if 语句的格式与执行流程3、多分支 if 语句的格式与执行
12、流程4、条件式的书写教学重点: if 语句的格式与执行流程教学难点: 程序编写教学过程:一、条件式语法if 条件 1then语句 1elseif 条件 2then语句 2else语句 nendif1、由用户输入 2 个数,输出其中较大的一个数ifabthenmax=aelsemax=bendifresponse.write(max)ifabthenresponse.Write(“ab“)elseresponse.Write(“a如果要让结果显示在新的网页中,则需要把上述代码添加到新的网页中,并且原来网页中的表单事件中也需要设置好:当表单提交后,数据将传递给哪一个文件。程序 4:与表单结合姓名:
13、性别: 男 女提 交 重 置点提交按钮,如果是男士,页面出现“欢迎你,*先生!”,如果是女士,页面出现“欢迎你,*女士”其中*代表登录者的姓名三、选做实例:计算器操作数 1:操作数 2:选择你要进行的操作加减乘除提 交 重 置CLng 函数用于进行从其他数据类型到 Long 子类型的的国际公认的格式转换。注意CLng 函数与 Fix 和 Int 函数功能不同,后两者函数对数值的小数部分进行截尾取整而不是四舍五入。当小数部分恰好等于 0.5 时,CLng 函数通常向与此数最接近的偶数取整。例如,0.5 取整为 0、1.5 取整为 2。11循环语句教学时间: 第四周 教学课时: 4 节教学进度:
14、正常教学目标: 1、掌握 for 循环语句的格式及执行流程;2、学会编写简单小程序。教学重点: for 循环出口和循环的次数教学难点: 程序编写教学过程:一、for.next 语句的语法循环是指在指定情况下多次重复执行一组语句。最常用的两种循环语句是:do.loopfornext我们主要来学习 for.next 语句,语法:for 变量初值 to 终值step 步长循环体语句nextfornext 语句通常用于执行某固定次数的程序代码时使用。1、求 123100 的值sum=0fori=1to100sum=sum+inextresponse.write(sum)知识点:当变量被放置在循环语句中
15、时就被称为“循环变量”,它能每次自动加 1,to 就是“到”的意思。此段代码的循环终点值为 100,即当 i 被累加到 100 时,就不再执行 for 循环语句,而是执行 next 以后的代码。若要求显示结果“123100=*“,则如何修改代码?2、求 1*3*5*7*.*99 的值a=1fori=1to99step2a=a*i12nextresponse.write(a)3、看语句写结果:“)next%二、程序 1:金字塔程序三、循环嵌套程序 2 墙程序1、利用单重循环语句“)next%2、利用多重循环语句(循环嵌套)格式:for 变量初值 1to 终值step 步长for 变量初值 2to
16、 终值step 步长循环体语句next13next注意:嵌套循环中,循环变量不能同上一层循环的变量相同。四、利用 for.next 循环语句编写程序程序 3 要求:在页面中央显示 6 个笑脸 表示问候。注: 这是一个最最基本的循环语句,它将一个笑脸图片重复调用六次并显示在页面上。当然此例的效果完全可以用 HTML 做到,但是不难发现使用 ASP 大大缩短了代码的重复编写,使得程序具有良好的可阅读性。另外,当你制作一个诸如根据用户投票来给所评测的对象评定星级的评测站点时,使用此法,你就完全不需要为每一个星级制作一幅图片。如果一个对象被评为 4 星级,那只需将一颗星的图片循环显示 4 次,以此类推
17、即可。当然,当工作量较小的时候你不会感觉到 ASP 的好处,然而一旦数据量巨增,你将会深刻的体会到 ASP 动态网站给你带来的前所未有的轻、爽感受!14内置函数一教学时间: 第五周 教学课时: 4 节教学进度: 正常教学目标:1、复习函数的概念;2、掌握字符串函数,数值函数;3、对内置函数的应用。教学重点: 字符串函数、数值函数教学难点: 函数格式、内置函数的应用教学过程:一、什么是函数?函数的功能先来看一段代码“)response.write(b)%输出结果helloworldHELLOWORLD函数是一些预先编好的代码。函数可以帮助我们简化编程,有些工作不用我们亲自去做,而交给函数去做。比
18、如,我们刚刚使用到的 ucase()函数,它里面包含了一些能把大写字母字母变成小写字母的代码。一调用这个函数,它就会自动执行。函数是有返回值的,我们把参数给一个函数,函数执行完后会得到一个结果。有参数的函数:ucase(x),len(x),有些函数有多个参数,如 instr(字符串,子字符串)等。没有参数的函数:now(),time(),date()asp 提供了许多系统内置的函数,对于这些函数我们不用特别定义,就可以直接引用。二、字符串函数1、len 函数语法:len(字符串)功能:取得字符串的长度返回值:字符串的长度范例:n=len(“互联网络 internet“)n=12,中文字长度与英
19、文字同。注:asp 中,中英文字、标点符号各代表一个字,如“互联。in/#¥ternet“字符串长度为 15。2、instr 函数语法:instr(字符串,子字符串)功能:从字符串中找出子字符串第一个出现的位置。返回值:子字符串在 str 值中第一个出现的位置15范例:p=instr(“crispinhlfff.cpm“,“)p=8,请大家分别尝试当子字符串没出现、为空值时的情况。3、left 函数语法:left(字符串,n)功能:从字符串左边算起取出 n 个字符返回值:指定的字符串范例:user=left(““,3)user=c144、right 函数语法:right(字符串,n)功能:从字
20、符串右边算起取出 n 个字符返回值:指定的字符串范例:a=right(““,11)a=5、mid 函数语法:mid(字符串,开始字符,n)功能:从字符串的开始字符开始,取出 n 个字符返回值:指定的字符串范例:a=mid(““,4,1)a=,当 n 值大于剩余字符串的长度时,会出现什么情况。程序 1:取出电子邮件账号演示提示:电子邮件地址是用户账号名称及邮件主机名称所组成,中间以“字符分隔,若我们要取出用户账号,我们可以用 instr 函数先取得“所在的位置,然后利用left 函数取出“前面的所有字符,就可以取得用户账号。程序 2:取出电子邮件的主机名演示提示:用 instr 函数取得“字符的
21、位置,然后以 len 函数取得用户账号,最后再利用 mid 或 right 函数取得邮件主机名。16内置函数二教学时间: 第六周 教学课时: 4 节教学进度: 正常教学目标: 1、掌握数值函数,随机函数;2、对内置函数的应用。教学重点: 数值函数、随机函数教学难点: 随机函数编写教学过程:回顾:作业:取出电子邮件的账号、主机名新课:一、数值函数1、int 函数语法:int(数)功能:取整返回值:浮点数值的整数部分范例:观察与 clng 函数的区别:CLng 函数通常向与此数最接近的偶数取整。2、round 函数语法 round(数)功能:四舍五入返回值:依据要求返回四舍五入后的数值范例:利用
22、round 函数计算小数点两位以下四舍五入提示:取小数点以下两位,要先乘以 100 后四舍五入,再除以 100。17思考:计算小数点后 4 位以下四舍五入呢?3、abs 函数语法:abs(数)功能:取绝对值返回值:数的绝对值二、随机函数随机函数是由计算机的随机器产生的一个数字。随机数的应用非常广泛,如,平常我们看到的抽奖的促销活动就是随机数的应用之一。(1)函数 rnd()是一个非常重要的函数。如果你想建立一个随机的问候语,一个日期的随机提示,或者甚至一个游戏,你将要使用这个函数。rnd()返回一个 0 到 1 之间的随机数。这里有这个函数的一个例子:典型情况下,你更感兴趣的是用这个函数来返回
23、处在一定范围内的整数。要返回一个大于等于 0 而小于某个特定整数的数字,你可以使用如下的语句:用你想产生的最大随机数代替表达式 upperbound。例如,下面的脚本返回一个 0 和 5之间的数,包括 0 和 5:如果你想产生一个处在某个范围内的随机数,该范围有一个大于 0 的下界,可以使用如下的脚本:例如,下面的脚本产生一个 50 到 75 之间的随机数(包括 50 和 75):程序 1:结合条件语句和 rnd 函数,使网页随机显示三条问候语:“hello!“、“welcome!“、“Howareyou!“提示:可以用数字 0,1,2 分别对应三条问候语,利用 rnd 函数随机获得 0、1、
24、2 之间的任一数。(2)程序 1 脚本建立并显示一个条机的问候语。但是,大家会发现它并不按你想象的方式工作。无论何时有人下载了包含这段脚本的网页,将有同样的随机问候语被打印。如果有人多次回到这个网页,他或她将得到同样的问候。一个随机数产生了,但是每次都是同样的随机数。有一个特殊的语句可以帮助解决这个问题。randomize 语句用来强制函数 rnd()使用一个新的随机数序列。randomize 语句通过计算机的系统计时器,为函数 rnd()提供一个新的种子值。大家可以修改前面的程序,观察效果,会发现此时脚本可以正确工作。每次执行这个脚本时,将会产生一个新的随机问候。程序 2:利用 fornex
25、t 循环随机产生 5 个 1 到 100 之间随机数1819面向对象编程教学时间: 第七周 教学课时: 4 节教学进度: 正常教学目标:1、了解什么是面向对象编程及什么是对象;2、掌握 asp 的 response 对象的属性;3、函数复习。教学重点: buffer 属性和 contenttype 属性。教学难点: 面向对象编程思想.。教学过程:教学过程:回顾复习,综合提高1、定义一个函数,功能是计算圆面积2、结合条件语句和 rnd 函数,使网页随机显示三条问候语:“hello!“、“welcome!“、“Howareyou!“ 程序 1:石头、剪刀、布游戏知识要点:1、随机函数2、自编函数3
26、、表单4、ifthen 语句新课:一、什么是对象?对象就是由具有属性、方法、事件三要素所组合而成的东西。那么什么是属性?方法?事件?举例:对象手机属性 方法 事件天线 拨号 电话响了材质 接听 电话无信号颜色 拨号 电话占线重量 挂断 语音通知号码电话号码电信1、属性就是对象的特征。2、方法就是该对象所能采取的行为。3、事件就是对象与外界沟通的方法。如:“电话响了”就是一个事件,然后利用“接听”的方法来听电话。20思考:一台电脑是一个对象,它的属性?方法?事件?4、数据集数据集合是一数据结构。例如:电脑里面还有一些集合,我们可以把主板看成一个集合。那么这个集合里面有一些 cpu,内存,控制部件
27、,这些部件也有它们的属性和方法。cpu 属性:速度、外形、品牌。cpu 方法:进行运算,进行控制。二、asp 的六个对象三、response 对象数据集cookies,它是用来在 client 端写入相关数据,以便以后使用。即将数据设置到浏览器。语法:response.write(“cookies 的名字“)=“cookies 的值“在 request 对象中也有 cookies 的数据集合,request 中的 cookies 是用来取得用户的相关信息。下回将与 request 中的 cookies 结合详讲。属性response 有 9 个属性常用:buffer,contenttype1、
28、buffer 属性比较运行两段代码,看看有什么不同?思考:为什么会有不同?注意:对 buffer 属性的设置必须放在网页的第一行。212、contenttyperesponse.contenttype=“image/gif“/指定输出 gif 图片数据response.contenttype=“text/html“/指定输出 html 文本数据22response 对象的方法教学时间: 第八周 教学课时: 4 节教学进度: 正常教学目标: 1、掌握 response 对象的方法;2、掌握 asp 的 response 对象的属性;教学重点: response 对象的属性。教学难点: clear
29、,end,flush 方法。教学过程:教学过程:一、回顾复习,综合提高:1、什么是对象?2、asp 有哪六大对象?它们分别有什么功能?3、response 的属性有哪些?其中 buffer 和 contenttype 属性分别是什么作用?新课:二、response 的方法1、clear,end,flush 方法回顾:buffer 属性作用?在 response 方法中有 3 个方法与 buffer 属性相关:clear,end,flush他们与 buffer 的依赖关系:clear:buffer 属性必须为 true,如果未将 Response.Buffer 设置为 TRUE,则该方法将导致运
30、行时错误。end:无依赖flush:buffer 属性必须为 true,如果未将 Response.Buffer 设置为 TRUE,则该方法将导致运行时错误。程序 13:运行以下 3 段代码,看看有什么不同?思考:为什么会不同?232、redirect 方法response.redirect 告诉浏览器转向另一个网页程序 4: 课堂练习 1:回答以下代码的运行结果会是什么?为什么?运行验证。3、binarywrite 方法用来输出二进制数据到浏览器,所输出的数据不经过任何字符集的转换。24request 对象的方法教学时间: 第九周 教学课时: 4 节教学进度: 正常教学目标: 1、掌握 re
31、quest 对象的数据集;2、了解 totalbytes、binaryread;教学重点: request 对象的属性。教学难点: request 对象的应用教学过程:教学过程:一、request 的概念request 对象是用来取得用户端的相关信息,通常包括浏览器种类,表头信息,表单参数及 cookies 等。二、request 对象的数据集1、clientcertificate用来取得浏览器端的身份验证2、cookiesrequest.cookies 与 response.cookies 刚好相对,response.cookies 是将 cookies写入,而它则是将 cookies 的值
32、取出。语法:变量request.cookies(“cookies 的名字“)3、formform 是用来取得由表单所发送的值。4、querystringquerystring 和 form 一样,都是取得前一页所发送的值。不同的是,form 是利用表单取得数据,而 querystring 则是利用参数来取得数据。5、servervariablesservervariables 是用来存储环境变量及 http 标题。这些我们在论坛中常见,就是使用 servervariables 数据集。( 演示 2)几个常用 Request.ServerVariables 的变量:本文件 ip 路径:本机 ip
33、:服务器名:25服务器 IP:服务器端口:服务器时间:IIS 版本:本文件路径:服务器 CPU 数量:服务器操作系统:支持的文件类型:访问的文件路径:用户代理的信息:获取 url 中的文件名和传过来的值:request.ServerVariables(“script_name“)+“?“+request.ServerVariableS(“QUERY_STRING“)重点掌握 cookies,querystring,form26Request 对象(2)教学时间: 第十周 教学课时: 4 节教学进度: 正常教学目标: 1、巩固掌握 request 语句;2、学会结合 request,respon
34、se 语句编写小程序。教学重点: request 语句的应用教学难点: 应用程序的编写教学过程:回顾:【ASP 中,Request 对象获取数据的 3 种方法:】Request.Form:获取以 POST 方式提交的数据(接收 Form 提交来的数据); 演示 1关键代码:%Fori=1ToRequest.Form(“hobby“).CountResponse.WriteRequest.Form(“hobby“)(i)&“BR“Next%Request.QueryString:获取地址栏参数(以及以 GET 方式提交的数据); 演示 2Request:包含以上两种方式(优先获取 GET 方式提
35、交的数据),它会在QueryString、Form、ServerVariable 中都搜寻一遍。新课:一、request 的属性request 的属性只有一个 totalbytes,用来存储由浏览器送到服务器的字节数。语法:request.totalbytes举例:二、request 方法request 方法只有一个 binaryread,当浏览器以 post 方式发送数据时,使用这个方法可以将数据以二进制格式读取,并存储于一个数组中。语法:数组名request.binaryread(数组)与 binarywrite 相对应。27cookies 数据集合教学时间: 第十一周 教学课时: 4 节
36、教学进度: 正常教学目标: 1、了解 cookies 的作用及现实应用;2、学会结合 cookies 语句编写应用小程序。教学重点: cookies 数据集合的应用教学难点: 应用程序的编写教学过程:新课知识点:1、Cookies 的设置你可以在 IE 的“工具/Internet 选项“的“常规“选项卡中,选择“设置/查看文件“,查看所有保存到你电脑里的 Cookies。这些文件通常是以 userdomain 格式命名的,user 是你的本地用户名,domain 是所访问的网站的域名。如果你使用 NetsCape 浏览器,则存放在“C:/PROGRAMFILES/NETS-CAPE/USERS
37、/“里面,与 IE 不同的是,NETSCAPE 是使用一个 Cookie 文件记录所有网站的 Cookies。request 对象其 cookies 集合用来取得用户的相关信息。response 对象其 cookies 集合负责将数据设置到浏览器。案例分析:什么是 Cookie?Cookie 其实是一个标签,经常可能听到的中文翻译:小舔饼。当你访问一个需要唯一标识你的站址的 WEB 站点时,它会在你的硬盘上留下一个标记,下一次你访问同一个站点时,站点的页面会查找这个标记。?每个 WEB 站点都有自己的标记,标记的内容可以随时读取,但只能由该站点的页面完成。每个站点的 Cookie 与其他所有站
38、点的 Cookie 存在同一文件夹中的不同文件内(你可以在 win98 的 Windows 目录下的 Cookie 文件夹中找到它们,而 win2k 则在?DocumentsandSettings 文件夹下特定用户的 cookies 文件夹中)。?一个 Cookie 就是一个唯一标识客户的标记,Cookie 可以包含在一个对话期或几个对话期之间某个 WEB 站点的所有页面共享的信息,使用 Cookie 还可以在页面之间交换信息。这项功能经常被使用在要求认证客户密码以及电子公告板、WEB 聊天室等ASP 程序中。?尽管现在听起来 cookie 没有什么激动人心的,但实际上利用它,你能实现许多有意
39、义的功能!比如说:你可以在站点上放置一个调查问答表,询问访问者最喜欢的颜色和字体,然后根据这些定制用户的 web 界面。并且,你还可以保存访问者的登录密码,这样,当访问者再次访问这个站点时,不用再输入密码进行登录。?当然,cookie 也有一些不足。首先,由于利用 cookie 的功能可以编程实现一些不良企图,所以大多数的浏览器中都有安全设定,其中可以设置是否允许或者接受28cookie(IE 浏览器中“工具”-“Internet 选项.”-“安全”-“自定义级别”-“Cookie 的使用”;Netscape 浏览器中“工具”-“Cookie 管理器”-“管理贮存的 Cookie”即可),因此
40、这就不能保证随时能使用 cookie。再者,访问者可能有意或者无意地删除 cookie。当访问者的机器遇到“蓝屏”死机时,或者重新格式化硬盘、安装系统后,原来保存的 cookie 将全部丢失。最后一点,有一些最初始的浏览器并不能支持 cookie。怎样利用 cooklie?有 2 种使用 cookie 的基本方式:1、将 cookie 写入访问者的计算机(使用 Response 命令)2、从访问者的计算机中取回 cookie(使用 Request 命令)创建 cookie 的基本语法:Response.Cookies(cookie)(key)|.attribute=value这里的 cooki
41、e 是指定 cookie 的名称。而如果指定了 key,则该 cookie 就是一个字典。(测试一 cookie 是否为一个字典可用后面代码显示布尔值:%=Request.Cookies(“cookiename“).HasKeys%。为 true 是字典,false 则不是。)Attribute 指定 cookie 自身的有关信息。Attribute 参数可以是下列之一:?Domain?若被指定,则 cookie 将被发送到对该域的请求中去。域属性表明 cookie由哪个网站产生或者读取,默认情况下,cookie 的域属性设置为产生它的网站,但你也可以根据需要改变它。(Response.Coo
42、kies(“CookieName“).Domain=?““)?Path 为一路径属性,该属性可以实现更多的安全要求,通过设置网站上精确的路径,就能限制 cookie 的使用范围。如果未设置该属性,则使用应用程序的路径。(Response.Cookies(“CookieName“).Path=?“/maindir/subdir/path“)?Expires 指定 cookie 的过期日期。为了在会话结束后将?cookie 存储在客户端磁盘上,或在许多时候,我们希望能更长时间地在访问者的计算机上保存 cookie。必须设置该日期。若此项属性的设置未超过当前日期,则在任务结束后 cookie 将到期
43、。?后面的代码,就可以设置 cookie 的使用到期时间为“2010 年 1 月 1 日”:Response.Cookies(“CookieName“).Expires=#January01,2010#?后面的代码,将设定 cookie 的过期时间为“cookie 的创建时间365 天”:Response.Cookies(“CookieName“).Expires=Date+365?但最好不要随便写 Response.Cookies(“CookieName“).Expires=Date,这样页面之间的调用时值会为空。执行下面的代码将会在访问者的计算机中创建一个 cookie,名字Visitor
44、Name,值Ken:Response.Cookies(“VisitorName“)=“Ken“执行下面的代码将会在访问者的计算机中创建一个 cookie,名字VisitorName,值表单中 UserName 的值Response.Cookies(“VisitorName“)=Request.Form(“UserName“)你可以扩展下面的代码成为 Cookie 子关键值(CookieSubName),即 cookie 字典的生成。代码如下:Response.Cookies(“VisitorName“)(“FirstName“)=“Ken“Response.Cookies(“VisitorNa
45、me“)(“LastName“)=“Baumbach“读取 cookie 的基本语法:Request.Cookies(cookie)(key)|.attributecookie 指定要检索其值的 cookie。29key 可选参数,用于从 cookie 字典中检索子关键字的值。attribe 指定 cookie 自身的有关信息。如:HasKeys 只读,指定 cookie 是否包含关键字。?如果客户端浏览器发送了两个同名的 cookie,那么 Request.Cookie 将返回其中路径结构较深的一个。例如,如果有两个同名的的?cookie,但其中一个的路径属性为/www/而另一个为/www/
46、home/,客户端浏览器同时将两个 cookie 都发送到?/www/home/目录中,那么 Request.Cookie 将只返回第二个 cookie。num.asp(通过留在本地磁盘上的 cookie 记录一年内访问本站的次数,第一次显示“首次访问”,以后显示“第几次访问”)%dimnumnum=request.cookies(“visitnum“)ifnum“0“thennum=num+1Response.write“您已是第“&num&“次访问本站点了。“elseResponse.write“欢迎您首次访问本站。“num=1endifresponse.cookies(“visitnum
47、“)=numresponse.cookies(“visitnum“).expires=date+365%showcookie.asp(从 Cookies 文件夹中遍历出浏览器所有的 Cookiename,以及相关的字典 Cookie 的显示(蓝字显示)%ForeachcookieinRequest.CookiesifRequest.cookies(cookie).HasKeys=falsethenResponse.writecookie&“=“&Request.Cookies(cookie)Response.write(“)ElseforeachkeyinRequest.Cookies(coo
48、kie)Response.write(“fontcolor=blue“)Response.writecookie&“.(“&key&“)“&“=“&Request.Cookies(cookie)(key)Response.write(“/font“)nextendifnext%check.asp首先,设置页面。然后,检查表单变量(在同一个页面中)。如果表单变量存在,就创建 cookie,并设置到期时间。%LANGUAGE=“VBSCRIPT“%30bgcolor=Request.Form(“bgcolor“)fgcolor=Request.Form(“fgcolor“)pwd=Request.
49、form(“pwd“)Ifbgcolor“orfgcolor“thenResponse.cookies(“check“)(“bgcolor“)=bgcolorResponse.Cookies(“check“)(“fgcolor“)=fgcolorResponse.Cookies(“check“)(“pwd“)=pwdResponse.Cookies(“check“).Expires=#may01,2004#Endif接着,读取 cookiebgcolor=request.cookies(“check“)(“bgcolor“)fgcolor=request.cookies(“check“)(“fgcolor“)pwd=request.cookies(“check“)(“pwd“)如果 cookie 在访问者的计算机上不存