《转aspstudy》word版.doc_第1页
《转aspstudy》word版.doc_第2页
《转aspstudy》word版.doc_第3页
《转aspstudy》word版.doc_第4页
《转aspstudy》word版.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

转 asp study notes2010-6-26 ASP程序设计1 1、读懂源代码2、修改源代码3、做一些应用系统、电子商务网站总的包括四个方面内容1-3章+附录c asp基础部分第2章运行环境附录3 HTML第三部分脚本语言VBSCRIPT JAVASCRIPT 4-6章asp中的五个内部对象第四章实现客户端和服务器端的交互会话对象每个用户有特定的信息,如用户名、密码、IP等这些都可以保存在服务器端,在登录的时候已经储存在服务器里面,当访问其它页面的时候不需要再输入了,注意单个用户的信息不能永远保存在服务器。网页过期的原因就是单个用户的信息过期了,会话对象就是保存这些信息的。应用对象是用来保存所有用户的存储信息上的。SERVER对象是用来生成一个组件的对象实例而出现的一个内部对象7-10章为什么要学习数据库?所有的数据都存储在数据库中ASP的六个内部组件8章ASP的ADO组件,核心内容10章其它组件广告、计数器组件起到美化作用兼容组件为了实现不同浏览器版本的信息的收集文件超链接组件可以让我们在线的维护11章第三方组件比如开发或下载一个ASP本身不能实现的功能,放到ASP中,来实现我们需要的功能。做成动态链接库,放到里面。ASP程序设计2第一章网络程序概述产生背景ASP PHP JSP INERNET技术简介计算机网络最早基于UNIX平台www技术的出现,INTERNET开始大规模出现,www技术是因特网的代名词应用系统的开发不能离开www技术www应用传统网络编程工具-CGI(统一网关接口)这个技术比较复杂动态网页一定是交互式的(客户端和服务器之间的交互)目前主要网络程序设计语言服务器实际上是一个软件的概念,即使配置再低也是一个服务器,只要装了服务器软件最早的软件开发的结构式一个文件服务器的结构。什么是文件服务器结构呢?就是让所有的数据都存储到文件服务器里,当使用到这些数据的时候,就把这些数据下载到工作站,这是个服务器到工作站的工程,所有的信息处理的工作是在工作站上实现的。随着服务器性能的提高,查询的工作由工作站转到服务器中,这样就节约了带宽,但是对服务器的性能要求比较高。从文件服务器模式过渡到客户机服务器模式。然后又过渡到浏览服务器模式。前台是浏览器,中间是WEB服务器,后面是数据库服务器ASP就是在浏览器与WEB服务器之间,WEB服务器与数据库服务器之间进行交互。静态网页就是没有交互的网页动态网页就是客户机与服务器之间存在交互ASP是微软公司的产品PHP个人用户,是电脑爱好者发明的语言,和linux类似JSP是SUN公司的产品,是唯一敢跟微软公司叫板的公司。是JAVA语言的一部分。ASP优点简单易学不需要编译和连接,直接解释运行ADO存取DB面向对象编程,扩展组件功能不存在浏览器兼容问题因为运行在服务器端的可以隐藏程序代码ASP缺点运行速度较慢由于脚本语言运行的时候没有经过编译,所以运行的时候较慢些。唯一支持ASP的网络操作系统只有是windows平台所以很多国外的网站选择JSP就是基于这个原因考虑NOS不支持PHP优点免费开发源代码多平台支持不受浏览器的限制效率高PHP缺点没有大公司支持运行环境相对复杂学习稍难,类似CGI jsp优点多平台编译后运行运行效率高,占用资源少JAVA技术实现跨平台,是网络上的世界语JSP缺点运行环境相对复杂学习稍难第二章ASP初步ASP的运行环境安装PWS4.0 WINDOWS98上装的web服务器的软件就叫做PWS装到win2000server版,内置IIS 测试TCP/IP是否正常运行虚拟目录根据文件夹的别名找到真正文件夹的位置,目的使得我们在输地址的时候简单一点默认文档就是在输地址的时候,出现的第一个页面默认主页一个简单的ASP程序html head title一个简单的ASP程序/title/head body H2 align=center欢迎您光临我的主页/H2 palign=center%n=Year(date()y=Month(date()r=Day(date()sj=您来访的时间是:&n&年&y&月&r&日Response.Write sj%/body html ASP文件组成和约定用客户端的脚本可以实现用户名和密码的保持约定默认的脚本语言VBSCRIPT编写ASP文件注意事项和c语言不一样,ASP不区分大小写,标点符号一定要在英文状态下输入,ASP程序要分行写,注释行用一个逗号,%位置问题,良好的书写习惯回车键、空格键注意使用设置PWS4.0 ASP语法简介asp程序设计4介绍HTML第二章Web页面制作基础2.1HTML语言概述HTML超文本标记语言,不是编程语言,而是一种描述性标记语言,是吧一些信息根据需要连接起来的信息管理技术基本链接所以链接执行连接锚点分类name锚点:属于标记锚点,用来将文档中的某个或某些段落标记为节点,供用户通过链接查找信息。href锚点:属于执行锚点,用来指向其他超文本节点,或引用本文档中用name锚点标记了的段落,或执行某个URL命令(如发送电子邮件、执行ftp或http命令)在HTML中,head/head标签是可有可无的HEAD中的标记HEAD出现在HTML文档的起始部分,用来标明当前文档的有关信息,例如文档标题。检索引擎可用的关键词以及不属于文档内容的其他数据。HEAD元素的起始和结束标记都是可选的。在HEAD的起始标记和结束标记之间最重要的两个元素是TITLE和meta meta元素meta元素被用来描述html文档的元信息(Meta Information),即文档的自身信息。这些信息可以被Web检索引擎、Web服务器或其他程序利用。mata元素需要标记,但不能有结束标记。meta元素定义元信息时,可以用name属性之处新消息的类型,用content属性指出它的定义。例如:meta name=AuthorContent=tiger字符修饰元素TT元素:指定一段文本,使用浏览器将它显示为固定大小的字符SUP元素:显示为上标SUB:显示为下标S:带删除线STRIK:带删除线定义列表dl/dl设定定义列表的标记dt:设定定义列表的项目。dd:设定定义列表的项目解说dl compact/dl:设定紧密排列的定义列表例dl dt狮子dd这里是狮子的故乡dt老虎dd这里是老虎的家园/dl dl compact dt狮子dd这里是狮子的故乡dt老虎dd这里是老虎的家园/dl列表标记HTML包含有很多的列表标记,下面分别介绍无序列表、有序列表、目录列表和菜单列表1.无需列表和有序列表在可视化用户程序中,有序列表显示为数字序号,无序列表显示为项目符号。无序列表用UL元素定义,有序列表用OL元素定义。列表项均用LI定义(不需要技术标记)有序列表的数字序号和无序列表的项目符号形式都由列表元素LI的TYPE属性定义。OL的START属性有序列表的起始值,VALUE属性将有序列表的当前序号设置为新的整数值。例子ul li type=disc ONE li type=circle TWO li type=square THREE/ul/*定制有序列表表中的序号li type=#=A,a,I,i,1*/ol li type=A ONE-ONE li type=A ONE-TWO/ol ol li type=a ONE-ONE li type=A ONE-TWO/ol/*定制有序列表表中的序号的起始值ol start=#=number*/ol start=5 li ONE-ONE li ONE-TWO ol start=10 li type=a子步骤10 li type=a子步骤11/ol table表格caption用来给表格提供一个标题表单使用GET时,FORM表单提交的输入信息将作为字符串附加到ACTION所设定的URL后面,中间用?隔开,每个表单域之间用&隔开,然后把整个字符串传送到服务器端。ENCTYPE:用于以编码方式来传送表单的资料。HIDDEN类型将INPUT标记的区域隐藏起来,使之不出现在屏幕中。对于文本框中较长的行,可以设置文本进行换行。文本换行由WARP属性规定,WRAP=OFF,不换行;WRAP=SOFT,软件行(即显示时换行,但发送时实际不换行);WRAP=HARD,硬件行(即插入汇创字符)。textarea wrap=hard name=comment rows=10 cols=30硬换行XML可扩展的标记语言2.2制作表单2.3框架结构框架结构的文件格式含有框架结构的网页其HTML的形式和一般的HTML文件相似,只是用FRAMESET代替BODY标记。框架结构有开始和结束标记,框架所有内容都应该在FRAMESET和/FRAMESET之间。FRAMESET标记内使用另一个标记FRAME来指定框架中小(子)窗口的内容。具体格式如下:html head./head frameset frame./frameset/html框架结构的标记使用FRAMESET标记有两个属性ROW、COLS,用来说明将把浏览器窗口分成小窗口的数量和各个小窗口的大小。cols属性:纵向将窗口划分为若干窗框。rows属性:横向将窗口划分为若干窗框。rows属性可以指定一系列的值,他们之间用逗号隔开,给出几个值就横向将窗口分成几个窗口。这些值可以使用像素点、百分比、剩余值和它们的混合形式表示。例如:frameset rows=*,*,*frame src=one.htmframe src=two.htmframe src=three.htm/frameset FRAME标记FRAME是一个单项标记,使用时放在FRAMESET的开始和结束标记之间。它有六个属性来描述每个子窗口的风格:SRC NAME MARGINWIDTH MARGINHEIGHT SCROLLING NORSIZE SRC:该属性用来连接到一个HTML文件;name:表示子窗口的名字;MARGINWIDTH:用来控制显示内容和窗口左右边界的距离,默认值为1 MARGINHEIGHT:用来控制显示内容和窗口上下边界的距离,默认值为1;SCROLLING:指定子窗口是否使用滚动条,有YES/NO/AUTO三个值,默认为AUTO;NORESIZE:使用该属性后,指定的窗口不能调整大小。用于BASE标记如果在同一个文件中有多个链接都指向一个相同的窗口,使用BASE语句将更简单。语法:BASE TARGET=窗口的名字6-28第三章ASP脚本语言VBscript脚本语言概述数据类型VBScript变量VBSCRITP运算符VBSCRIPT过程VBSCRIPT代码格式VBSCRIPT常量VBSCRIPT数组VBSCRIPT函数条件语句、循环语句脚本语言概述脚本语言介于标记语言和高级语言之间高级语言:编译-链接-运行-生成脚本语言类似于批处理文件ASP为脚本语言提供运行环境VB脚本语言来源于VB,简单易学JavaScript并不是Java的一个子集但是VBScript是vb的一个子集脚本语言可运行于客户端和服务器VBSCRIPT代码基本格式法一和法二运行于服务器端方法一:%VBSCRIPT代码%常用方法二:少有script language=VBScriptRunat=ServerVBScript代码/script脚本语言运行于客户端scritp language=VBScriptVBScript代码script VBScript数据类型-variant(变体类型)高级语言有不同的数据类型VBSCRIPT只用一种数据类型,即变体类型(variant)同样一个变量,不同的使用方式,可以包含不同的数据类型信息A=2003整形A=LIKE字符串常量A=20.1实形variant数据子类型转换自动转换根据代码自动转换数据类型A=LIKEA1=2000+A A先转换成整形变量在和2000相加强制转换数据类型不匹配出现错误时,利用转换函数强制转换如:CStr(Variant)将变量转换为字符串型Cint(Variant)将变量转换为整型转换函数将在后面星系介绍。VBscript常量常量就是代表固定不变的一些值使用Const声明常量const pi=3.1415926 const disease=SARS当申明字符串常量的时候用#号const date=#2003-4-30#常量命名规则使用字母,数字,下划线第一个字母必须是英文字母中间不能有标点和运算符号长度不能超过255个字符如:A*1yan A,b A+5是错误的命名命名最好有可读性难的地方加上注释语句VBSCRIPT变量变量时存储在内存中用来包含地址信息的名字使用变量的方法:先声明,后使用VB脚本允许不定义使用,但是这样出现问题后就找不到原因在哪里养成好习惯,先声明后使用声明变量可以使用Dim语句Dim name Dim name,age,tel同时定义多个变量Dim name=10定义变量的同时赋值VBscript变量使用Option Explict语句强制要求声明变量%Option Explict须放在首行Dim A,B,C A=1变量在左,赋值语句在右B=2 C=A+B赋值语句可以使表达式REM D=4错误变量声明%rem注释语句VBSCRIPT数组一维数组声明%Dim A(2)A(0)=1 A(1)=3 A(2)=4 Sum=A(0)+A(1)+A(2)%多为数组声明%Dim A(9,9 A(0,0)=1 A(9,9)=3 Sum=A(0,0)+A(9,9)%声明数组时不确定数组项目数,使用时再确定该数组成为:变长(动态)数组%Dim A()Redim A(9)A(9)=3 Redim A(19)第二次再定义的时候,第一次定义的数据就会被清空,即A(9)=3不存在了A(19)=20%动态分配资源,相当于动态分配内存,建议这种情况少用,因为如果出了问题就不容易找出来。VBSCRIPT运算符连接运算符用于连接两个字符串欢迎&user_name比较运算符用于比较数值或对象IF a=b then.算式运算符用于连接运算表达式a+b-c*2逻辑运算符用于连接条件表达式if a=90 or b=90 VBSCRIPT预算符优先级算式连接比较逻辑同一运算符从左到右括号可改变优先级VBSCRIPT函数转换函数输入输出函数字符串函数日期和时间函数数学函数检验函数VBSCRIPT函数-转换函数用于实现数据类型的强制转换CStr字符串类型CDate日期类型CInt整形CLng长整形CSng单精度CDbl双精度CBool布尔型转换函数举例%Num1=100 StrWelcome=欢迎第&CStr(Num1)&个来访者%输出函数只能运行再客户端MsgBox(prompt,button,title)Prompt-显示在窗口中的文字Button-可选项,用以指定窗口的外观和按钮类型Title-可选项显示窗口标题中的文字输入函数String=InputBox(prompt,title,default)String-文本框中的内容,即用户输入内容Prompt-显示在窗口中的文字Title-可选项显示default-可选项,用以指定文本框中指定默认字符串html head title InputBox和MsgBox用法示例/title/head body script language=VBScript!-Option Explicit强制要求变量声明Dim Name1,Name2声明变量Name1=InputBox(金庸小说中你最喜欢的人物第一是,输入名称)Name2=InputBox(金庸小说中你最喜欢的人物第二是,输入名称)MsgBox Name1&和&Name2&是金庸小说中你最喜欢的两个人物注意&的用法-/script/body/html字符串函数ASP中应用最多的函数Eg:用户名,密码,留言标题,内容等Len(string)返回字符数目Trim(string)将字符串前后的空格去掉Mid(string,start,length)从string字符串中的start字符开始取得length长度的字符串,如果省略第三个参数表示是取从start字符开始到字符串结尾的字符串Left(string,length)从string字符串的左边取得length长度的字符串Right(string,length)LCase(string)将string字符串里的所有大写字母转化为小写字母UCase(string)将string字符串里的所有小写字母转化为大写字母StrComp(str1,str2)返回str1字符串与str2字符串的比较结果,如果两个字符串相同,则返回0字符串函数举例-常量作参数%User_name=Ucase(xiangxuezhe)StrTemp=Mid(this is agood book,8,4)%字符串函数举例-变量作参数%User_name=xiangxuezheUser_name=Ucase(User_name)%日期和时间函数用来得到各种格式的日期和时间Now()取得系统当前的日期和时间Date()取得系统当前的日期Time()取得系统当前的时间Month(Date)取得给定日期的月份Day(Date)取得给定日期是几号WeekDay(Date)取得给定日期是星期几Year(Date)取得给定日期的年份%Option Explicit放在程序首行,强制变量声明%html head title日期和时间函数的用法示例/title/head body%Dim Output1,Output2,Output3声明变量Output1=日期:&Datr()Output2=时间:&Time()Output3=日期与时间:&Now()%=Output1%br%=Output2%br%=Output3%br/body/html数学函数Abs(number)返回一个数的绝对值Sqr平方根Int取整Cos返回角度的Cos值Sin返回角度的sin值Log返回一个数的Log值对数Tan返回角度的Tan值Rnd返回一个随机数自动生成一套试卷检验函数判断某个变量是不是某种类型的对于对用户填写的内容进行检查:避免漏填,错填,乱填VarType(Varient)检查变量Variant的值,函数值为该变量的数据类型IsEmpty(Varient)检查变量Variant的值,如果Variant是Empty,则函数值为True IsNull(Varient)检查变量Variant的值,IsObject(Varient)检查变量Variant的值,IsNumeric(Varient)检查变量Variant的值,IsArray(Varient)检查变量Variant的值,IsDatev(Varient)检查变量Variant的值,VBSCRIPT过程使程序可重复使用和简单明了VBSCRIPT过程有Sub子程序和Function函数Sub子程序只执行程序不返回结果,Function函数则返回执行结果Sub子程序名(参数1,参数2,。)。End Sub参数可以是常量、变量、表达式或者Sub子程序名().End Sub Sub过程调用方式使用Call语句Call子程序名(参数1,参数2,。)不使用Call语句子程序名参数1,参数2,。%Option Explicit放在程序首行,强制变量声明%html head title Sub子程序示例/title/head body%Dim user_name声明一个变量作为实参user_name=萌萌Call Welcome(user_name)调用子程序,显示欢迎信息下面是子程序,用来显示欢迎用户的信息Sub Welcome(name)Dim StrWelcome不能再声明Name了StrWelcome=Name&:你好,欢迎光临寒舍!Response.Write StrWelcome显示StrWelcome的值End Sub%/body/html Function函数Function函数名(参数1,参数2,。)。End Function参数可以是常量、变量、表达式或者Function函数名().End Funciton Function函数调用直接引用函数名函数名必须在赋值语句右端或表达式中%Option Explicit%html head title Function函数用法示例/title/head body%下面是函数,用来计算两个数的立方Function CountSum(a,b)由于a,b为形式参数,在函数被调用时,其值由实际参数给出,所以此处不能再定义CountSum=a3+b3 End Function Dim Result Result=CountSum(5,9)调用函数,计算5和9的立方和Response.write5和9的立方和等于&Cstr(Result)显示结果%/body/html条件语句用于判断条件是True或False,并且根据判断结果制定要运行的语句If.then.Else语句If.then.End If If条件语句Then执行语句End If说明:若条件语句为True,则执行下面的执行语句,否则跳出该语句。If.Then.Else.End If单条件时If条件语句Then执行语句1 Else执行语句2 End If说明:IF条件为真,则执行1,否则2多条件语句If条件语句1 Then执行语句1 Else If条件语句2 Then执行语句2.Else执行语句N+1 end if%Dim Grade Grade=86这里为了简单,直接赋值了,一般来说应该是传过来的参数,比如从数据库中读出来,或由程序计算得出。If Grade=85 Then Response.write太不可思议了,你太厉害了Elseif Grade=70 and Grade 85 Then Response.write不错啊,继续努力吧Elseif Grade=60 and Grade 70 Then Response.write有点差,还需努力Else Response.write我无话可说End if%Select Case语句Select Case表达式Case结果1执行结果1 Case结果2执行结果2.Case结果n执行结果n Case Else执行结果n+1 End Select%Dim Grade Grade=DSelect Case Grade CaseAResponse.write太不可思议了,你太厉害了CaseBResponse.write不错啊,继续努力吧CaseCResponse.write有点差,还需努力Case Else Response.write我无话可说End Select%循环语句For。Next循环For。Next循环是一种指定型的循环,用于将语句运行指定的次数For Counter=start to endStep step执行语句Next counter循环的计数器变量start计数器的初始值end计数器的终值step计数器的步长,可以为正、负、整数、和小数若该项不写,则step默认为1%Dim Sum,I,N Sum=0 N=100N值可以是其它地方传过来的值,这里简单的赋值。循环,从1加到N For I=1 to NSum=Sum+I Next Response.write1+2+3+.+&Cstr(N)&=&Cstr(Sum)%Do.Loop循环是一种条件型循环,当条件为真时或条件变为真时,重复执行语句块。入口型循环Do while条件1执行语句Loop或出口型循环Do执行语句Loop while条件2入口型循环Do Until条件3执行语句Loop或出口型循环Do执行语句Loop Until条件4循环语句While.Wend While.Wend语句不太常用While.Wend能实现的功能DO.LOOP都能实现While条件执行语句Wend For Each.In循环假如有一个集合,包括几个元素,利用这种方式可方便返回每个元素For Each元素In集合执行语句Next For Each Item In myFolder.Files Response.Write Item&brNext把myFolder文件夹下饿所有文件赋值给Item并输出一个换一行强行退出循环一般情况下,根据程序判断退出循环有时候需要强行退出循环For.Next循环中,强行退出循环的指令是:Exit For%Dim Sum,I,N Sum=0 N=1000 For I=1 to NSum=Sum+I If Sum 10000 then Exit For End if Next Response.write1+2+3+.+&Cstr(N)&=&Cstr(Sum)%DO.LOOP循环中,强行退出循环的指令是:Exit Do%Dim Sum,I,N Sum=0 N=100 I=1 Do While IN Sum=Sum+I I=I+1 If Sum 1000 then Exit Do End if Loop Response.write1+2+3+.+&Cstr(N)&=&Cstr(Sum)%第四章Request和Response对象-对象简介现实世界中对象就是指某个具体的事物,例如一个人、一本书、一所学校对象具体有以下特性1有一个名字以区别于其他的对象2有一个状态来描述他的某些特征3有一组操作,每一个操作决定对象的一种功能或行为对象的属性、方法、事件ASP采用面向对象的程序设计方法进行网络程序设计ASP提供的各类对象是课程重点,在后面章节中将详细介绍(Request,response,session,Application,server)request请求对象response相应对象本章介绍两个对象,其中request对象用于从客户端取得信息,response对象用于向客户端输出信息ASP执行的过程1、客户端浏览器向服务器端发出一个请求,服务器端执行相应的ASP脚本,把它转化成一些HTML的代码或直接输出到客户端,然后显示在客户端浏览器而普通的静态网页就是客户端直接向服务器端发出一个请求,服务器端找到以文件的形式存放的静态网页,此时不存在交互,直接输出来。所以说ASP执行的速度慢一些,因为它到了服务器端以后,服务器端要从头到尾把ASP的脚本执行一遍,而且每次执行这个脚本都要编译一次,这样就使得运行速度比较慢如果是JSP,每一次在运行的时候,只是在第一次进行了编译,第二次开始就运行了,就不在进行编译了,所以JSP比ASP快就在这里request对象简介QueryString方法Form方法Cookies方法取得客户端浏览器的一些信息cookies事实上就是电脑里的一个记事本,如果打开了cookies功能,服务器端的对象就可以像cookies里面写数据,这样就使得相对来说不够安全,因为别人可以在你的电脑里面可以操作,可以写一些文件,这些就不安全ServerVariables方法服务器变量ClientCertificate方法客户端授权request获取方法(参数)%Request.Form(user_name)Request.QueryString(user_name)Request.Cookies(user_name)Request.Server Variables(user_name)Request.ClientCertificate(user_name)%简写Request.(参数)ASP查找顺序QueryString Form Cookies Server Variables ClientCertificate优缺点form action=处理程序的网址Method=get/post Name=该表单的名称.Form元素/form怎样处理多个键表单form method=postaction=nextpage.aspinput type=textname=usernameinput type=textname=userIDinput type=submitvalue=提交name=B1input type=resetvalue=全部重写name=B2/form Nextpage.asp%Response.write(你刚才提交了Request.Form.count&项参数)For each name in Request.Form Response.write(br&name&:)Response.write(Request.Form(name)Next%FORM表单与Form获取方法区别FORM表单时HTML提供的表单Form是request对象夺取信息的一种方法当action为空的时候,ASP中默认为在本页接受request对象简介使用QueryString方法用于取出URL后面的所有变量及其值多用于WEB间传递数据使用QueryString传送参数将超链接地址和变量用?隔开A保定点击到查询页/A可以直接在IE地址栏中键入带有Query字段地址使用QueryString传送多个参数使用连接符&如:a href=4-5.asp?name=张明&age=35显示/a使用QueryString获取参数Request.QueryString(变量)如:%mycontent=Request.QueryString(content)%使用QueryString方法要注意问题不传送重要的保密信息,是不加密的不传送大量信息不要随便添加空格和其它字符Cookies数据集合语法:Request.Cookies(cookiename)(key)|.attribute参数:cookie:指定要检索其值的Cookie key:可选参数,用于从Cookie字典中检索子关键字的值attribute:指定cookie自身的有关信息如果客户端浏览器发送了两个同名的cookie,那么request.cookie将返回其中路径机构较深的一个。一般放在WINDOWS下的Cookie文件夹下cookie就是文本文件cookies数据集合request.cookies可以出现在HTML程序的body段中的任何位置如果请求一个未定义的cookies或关键字,request对象返回空值之间的内容可不写cookies用法省略关键字的用法%response.write request.cookies(user_name)%获取cookie变量,然后输出到浏览器如果cookies有关键字,如user_name有两个关键字First,sceond获取cookies时,如果不指定关键字%=request.cookies(user_name)%指定关键字%=request.cookies(user_name)(second)%判断关键字的数目判断cookies是否有关键字,可用Haskeys属性语法:request.cookies(cookiename).Haskeys返回结果为true或false含义response对象只有一个集合cookie cookies集合设置cookie的值。若指定的cookie不存在,则创建它。若存在,则设置新的值并且将旧值删去。response对象的数据集合cookies语法:response.cookies(cookie)(key)|.attribute=value cookie是指定cookie的名称。而如果指定了key,则该cookie就是一个字典。attribute指定cookie自身的有关信息。attribute参数可以是下列之一:Domain若被指定,则cookie将被发送到对该域的请求中去Expires指定cookie的过期日期。为了在会话结束后将cookie存储在客户端磁盘上,必须设置该日期。若此项属性的设置未超过当前日期,则在任务结束后cookie将到期HasKeys指定cookie是否包含关键字Path若被指定,则cookie将只发送到对该路径的请求中。如果未设置该属性,则使用应用程序的路径设置不含关键字的cookies%response.cookies(user_name)=李明response.write response.cookies(user_name)%option explicit response.buffer=true实现缓冲输出dim varnumber定义一个访问次数变量varnumber=request.cookies(number)读取cookies值if varnumber=then varnumber=1如果是第一次,则令访问次数为1 else varnumber=varnumber+1如果不是第一次,则令访问次数加1 end if response.write您是第&varnumber&次访问本站response.cookies(number)=varnumber将新的访问次数存到cookies中%第五章session和application对象session用于记载特定客户信息如:ip地址等application用于记载所有访问该应用程序客户信息。即客户的公共信息这个两个对象都有生命周期,就是说时间一旦过了,保存的信息也就丢失了,所以有的时候要有数据库的支持和COOKIES session对象记载客户信息,保证页面之间可共享客户信息,如电子邮件。主要功能:在页面之间传递客户信息,用户名和密码从一个页面切换高级语言采用全局到另一个页面。变量实现上述目标QueryString实现方法麻烦ASP实现上面目标session对象session信息有效期默认值20分钟有限期长度修改修改ASP注册表修改Session超时属性timeout如:session timeout=30工作原理当用户请求来自应用程序的Web页面时,如果该用户还没有会话,则Web服务器将自动产生一个SessionID,并把这个值发送给客户端,保存在cookie内当用户再次请求ASP应用程序中的某个页面时,ASP检查HTTP头信息,查看服务器是否已有相应SessionID,如果有,则服务器会启动新的会话,并为该会话生成一个全局唯一的值,把这个作为新值发送给客户端Cookie会话状态仅在支持cookie的浏览器中保留,如果客户关闭了cookie选项,Session也就不能发挥作用。session对象最常见的作用就是存储用户的选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在session对象中鉴别客户身份session.collection|property|method collection session的集合property session的属性method session的方法sessionid属性唯一标示用户身份,如可用于跟踪访问者的活动情况session有效长度Session.TimeOut=time参数:time-Session的过期时间。以分为单位,默认值为20如果用户在指定时间内没有请求或刷新应用程序中的任何页,会话将自动结束。这段时间的默认值是20分钟可以通过在Internet服务管理器中设置应用程序选项属性页中的会话超时属性改变应用程序的默认超时限制设置应依据您的Web应用程序的要求和服务器的内存空间来设置此值。例如,如果您希望浏览您的Web应用程序的用户在每一页仅停留几分钟,就应该缩短会话的默认超时值过长的会话超时值将导致打开的会话过多而耗尽您的服务器的内存资源Abandon方法是Session的唯一方法。删除存放在Session中的所有对象并释放其占用的服务器资源。Application方法由于Application的数据可以共享,因此多个用户同时改写Application对象的数据时,我们就是使用加锁和解锁的方法。Application方法-Lock Lock方法阻止其他用户修改存储在Application对象中的变量,以确保在同一时刻仅有一个用户可以修改和存取Application变量。如果用户没有明确的调用Unlock方法,服务器将在.asp文件结束或超时后解除对Application对象的锁定语法:Application.Lock Lock方法阻止其他客户修改存储在Application对象中的变量,以确保在同一时刻仅有一个客户可修改和存取Application变量。如果用户没有明确调用Unlock方法,则服务器将在.asp文件结束或超时后即解除对Application对象的锁定让我们来看看下面这段用Application来记录页面访问次数的程序:%Dim NumVisits=0 Application.Lock Application(Num Visits)=Application(NumVisits)+1 Application.Unlock%欢迎光临本网页,你是

温馨提示

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

评论

0/150

提交评论