




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章
Web应用基础知识之ASP动态页面技术静态网页与动态网页1ASP及其特征32ASP页面的运行环境4ASP文件结构3ASP与ADO的连接6VBScript语法简介5ASP内置对象7JavaScript、VBScript比较384.3.1.静态网页与动态网页由于HTML将数据内容与表现混为一体,其可读性和可修改性差,数据可检索性差,影响网络信息传送和共享。XML实现了内容与表现的分离,方便信息的维护与检索,也使得用户之间数据的交换更加方便,可重用性更强。但从本质上说,基于XML文档的页面仍然是“静态”的,不易实现客户端与服务器的双向交流,也不能实时查询业务系统中的商业信息,于是提出了动态页面的要求。4.3.1.静态网页与动态网页动态网页是与静态网页相对应的,这里说的“动态”,与网页上的各种动画、滚动字幕等视觉上的动态效果没有直接关系,动态网页可以是纯文字内容的,也可以是包含各种动画的内容,这些只是网页具体内容的表现形式。那么什么是动态网页呢?动态页面必须满足以下条件:自动更新,即无须更新HTML文档,系统会根据待显示的内容和客户端的不同请求动态地生成新的页面。交互性,即网页会根据用户的要求和选择而动态改变和响应,并且客户端能与服务器进行双向交流。
4.3.1.静态网页与动态网页从浏览者的角度来看,无论是动态网页还是静态网页,都可以展示基本的文字和图片信息,但从其开发、维护及信息显示与获取方式的角度来看就有很大的差别,动态网页一般具有如下特征:动态网页以数据库技术为基础,可以大大降低网站维护的工作量。动态网页技术可以实现客户端与服务器的双向交流,如用户注册、用户登录、在线调查、用户管理、订单管理等等。动态网页实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才根据用户请求动态地生成并返回一个完整的页面。
4.3.1.静态网页与动态网页
动态页面实现的技术方法有多种形式,也经过了几个不同的阶段。最早的动态页面实现技术是DHTML(DynamicHTML,即:动态HTML),DHTML是一种通过各种技术的综合应用而得以实现的概念,这些技术包括JavaScript、VBScript、DOM(DocumentObjectModel-文档对象模块)和CSS(CascadingStyleSheets-样式表)等。
严格意思上说DHTML只是动态生成或改变客户端的显示方式,而不能动态改变显示内容,因此,并不是完整意义的动态页面技术。
4.3.1.静态网页与动态网页真正让用户在浏览器界面中通过互联网查询Web数据库的资料,更新或删除Web服务器上的信息,就必然涉及到对数据库的操作,常用的技术方法主要有:
CGI(CommonGatewayInterface,通用网关接口)的传统方式。
IDC(InternetDatabaseConnector,互联网数据库连接),它实际上是一个包含于IIS中的应用程序。高级数据库连接器ADC(AdvancedDataConnector。
ADO(ActiveXDataObject,微软提供的一种新的数据访问模型)。ADO具有容易使用、开发执行快速、消耗系统资源较少,和占用磁盘空间小等优点,是Web数据库应用的最佳选择。
4.3.2.ASP及其特征
ASP(ActiveServerPage)意为“活动服务器网页”,是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。Active:ActiveX技术是Microsoft软件的重要基础,它采用对象封装技术,简化编程,加强程序间合作。Server:ASP运行在服务器端。ASP的编程语言可以是VBScript和JScript。对服务器的唯一要求是安装IIS(InternetInformationServer)。Pages:ASP返回标准的HTML页面,可以在各种常用的浏览器中显示。并且在客户端只能看到ASP生成的HTML代码,而不是ASP程序代码,可以有效保护源程序。可见,ASP是在IIS下开发Web应用的一种简单、方便的编程工具。4.3.2.ASP及其特征与HTML相比,ASP页面具有以下特点:利用ASP可以实现突破静态网页的一些功能限制,实现动态网页技术。ASP文件是包含在HTML代码所组成的文件中的,易于修改和测试。ASP在服务器端运行,并将结果以HTML格式传送到客户端浏览器上,因此各种浏览器都可以正常浏览ASP所产生的网页。ASP提供了一些内置对象,使用这些对象可以使服务器端脚本功能更强。例如可以从Web浏览器中获取用户通过HTML表单提交的信息,并在脚本中对这些信息进行处理,然后向Web浏览器发送信息。ASP可以使用服务器端ActiveX组件来执行各种各样的任务,例如存取数据库或访问文件系统等。ASP的程序代码隐藏,在客户端仅可以看到由ASP输出的动态HTML文件,可防止ASP程序代码被窃取。
ASP.NET是ActiveServerPages(ASP)技术的最新版本。在学习ASP.NET之前,具有Microsoft的ASP技术的基础知识将会有所帮助4.3.3.ASP文件结构ASP文件是后缀名为.asp的文本文件,在ASP文件中包含HTML标记和ASP脚本命令,ASP脚本命令放在ASP界定符<%...%>中。脚本命名(Script)可以是脚本语言、ASP内置对象和ADO对象。默认情况下ASP主脚本语言是VBScript,也可以在文件的最上面加上一行加以说明来设置脚本语言:<%@Language=JavaScript%>与HTML页面类似,ASP页面文件也是由标识组成的文本文件,主体还是HTML代码,其区别是使用<%%>来表示一个ASP的脚本语言的开始和结尾。其格式如下:<%语句……%>ASP的代码可以出现在一个HTML页的任何位置。可以形象化地说,ASP是用HTML标识+脚本语言+asp内置对象及组件的混合的活动页面设计语言。4.3.4.ASP页面的运行环境不同于HTML或XML文件,在进行基于ASP的页面开发与调试时,要求所使用的电脑具有服务器的功能。
那么,首先就要配置IIS服务器。IIS是InternetInformationServer的缩写,它是微软公司主推的Web服务器对于Windows2000,在系统安装时候,会自动安装IIS,而对于WindowsXP则需要在安装时候选择该组件,或者在安装完成后,添加该组件。具体安装步骤是:打开控制面板在控制面板中选择“添加/删除Windows组件”,打开窗口在“Windows组件向导”窗口中选择“Internet信息服务(IIS)”按“下一步”确认后,开始安装服务器IIS
安装完成后,打开浏览器,在其地址栏中输入http://localhost/,出现欢迎界面和IIS的帮助文档,就表示IIS已经安装成功了,Web服务正在运行。
4.3.4.ASP页面的运行环境下面我们来可以建立我们的第一个ASP页面,在记事本中输入:<%response.write("当前时间是:"&Now())%>并保存为Times.asp,一个简单的ASP页面就建立成功了,那么如何运行它呢?现在,你的计算机既是服务器端,又是客户端。IIS缺省的访问目录(主目录)是:C:\Inetpub\wwwroot,如果你的ASP页面文件放在该目录,就可以直接在浏览器的地址栏输入:http://localhost/Times.asp
要从主目录以外的其他目录中进行发布,就必须创建虚拟目录
。Times.asp4.3.4.ASP页面的运行环境运行结果如下所示:4.3.5.VBScript语法简介
ASP文件是由HTML标签、脚本语言命令和内置对象命令所构成。脚本语言可以是VBScript或JavaScript语言,默认的是VBScript。VBScript或JavaScript对ASP页面设计是必不可少的。VBScript语句是一种基于VB的脚本语言,是VisualBasic语言的简集,主要用于Web服务器端的程序开发,它是一种简化的语言,其语法逻辑是非常容易学习。在HTML中,VBScript脚本语句必须放在<SCRIPT>…</SCRIPT>之间。格式如下:<SCRIPTLanguage="VBScript"><!--
语句……--></SCRIPT>4.3.5.VBScript语法简介VBScript只有一种数据类型,称为Variant。Variant将包含的数值信息类型称为子类型。可将所需的数据放进Variant中,Variant会按照最适用于其包含的数据的方式进行操作。可以使用转换函数来转换数据的子类型,也可使用VarType函数返回数据的Variant的子类型。Variant包含的数据子类型如表4.3所示。
VBScript中的数据类型4.3.5.VBScript语法简介子类型描述Empty未初始化的Variant,数值变量的值为0;字符串变量的值为零长度字符串Null不包含任何有效数据的VariantBoolean包含
True或
FalseByte包含0~255之间的整数Integer包含-32768~32767之间的整数
Currency-922337203685477.5808~922337203685477.5807Long包含-2147483648~2147483647之间的整数。
Single包含单精度浮点数
Double包含双精度浮点数
Date(Time)包含表示日期的数字
String包含变长字符串,最大长度可为20亿个字符Object包含对象Error包含错误号4.3.5.VBScript语法简介在VBScript中只有一个基本数据类型,即Variant,因此所有变量的数据类型都是Variant。声明变量的方式是使用Dim语句在Script中显式声明变量,声明多个变量时,使用逗号分隔变量。例如:DimTop,Bottom,Left,RightVBScript变量的命名规则很简单,主要有:第一个字符必须是字母。长度不能超过255个字符。在被声明的作用域内必须唯一。
VBScript中的变量
4.3.5.VBScript语法简介在VBScript中也可以声明和使用在数组变量,其索引号是从0开始,因此,最后一个元素的索引号等于总数组元素减去1。也可以在声明时不指定元素的个数来声明动态数组。例如:DimMyArray1(10)//声明一个10个元素的数组,索引号为0~9DimDyArray()//声明一个动态数组除变量外,也可以使用Const语句在VBScript中创建用户自定义常数。例如:ConstMyString="这是一个字符串"ConstMyAge=254.3.5.VBScript语法简介VBScript有一套完整的运算符,包括算术运算符、比较运算符、连接运算符和逻辑运算符。运算时,总是先执行括号中的运算符,然后再执行括号外的运算符。当表达式包含多种运算符时,首先计算算术运算符,然后计算比较运算符,最后计算逻辑运算符。所有比较运算符的优先级相同,即按照从左到右的顺序计算比较运算符。运算符的优先级如表4.4所示。运算符4.3.5.VBScript语法简介算术运算符比较运算符逻辑运算符描述符号描述符号描述符号求幂^等于=逻辑非Not负号-不等于<>逻辑与And乘*小于<逻辑或Or除/大于>逻辑异或Xor整除\小于等于<=逻辑等价Eqv求余Mod大于等于>=逻辑隐含Imp加+对象引用比较Is减-字符串连接&当乘号与除号同时出现在一个表达式中时,按从左到右的顺序计算乘、除运算符。同样当加与减同时出现在一个表达式中时,按从左到右的顺序计算加、减运算符。字符串连接(&)运算符不是算术运算符,但是在优先级顺序中,它排在所有算术运算符之后和所有比较运算符之前。Is运算符是对象引用比较运算符。它并不比较对象或对象的值,而只是进行检查,判断两个对象引用是否引用同一个对象。
4.3.5.VBScript语法简介VBScript语言也包括顺序、条件分支和循环3种流程控制结构。使用条件分支语句和循环语句可以控制Script的流程;使用条件语句可以根据不同的状态执行不同的命令或命令集合;使用循环语句可以实现重复操作的VBScript代码。
条件分支结构在VBScript中,条件分支语句有If…Then…Else语句和SelectCase语句两种形式,其格式分别如下:If条件1Then……Elseif条件2Then……Else……EndIf
VBScript的控制流程语句4.3.5.VBScript语法简介SelectCase语句提供的功能与If…Then…Else语句类似,但是可以使代码更加简练易读。其格式为:
SelectCase表达式
Case"表达式值1"
……Case"表达式值2"……Case"表达式值3"……CaseElse……EndSelect4.3.5.VBScript语法简介循环结构
循环用于重复执行一组语句。循环可分为3类:一类在条件变为True之前重复执行语句;一类在条件变为False之前重复执行语句;另一类按照指定的次数重复执行语句。VBScript中的循环结构有以下4种形式。·Do...Loop:当(或直到)条件为True时执行循环体。·While...Wend:当条件为True时执行循环体。·For...Next:指定循环次数,使用计数器重复运行语句。·ForEach...Next:对于集合中的每项或数组中的每个元素,重复执行循环体。4.3.5.VBScript语法简介
过程与函数都是一组语句的有序集合,其功能也类似,区别在于过程无返回值而函数必须要返回一个值。程序4.19和程序4.20定义了一个过程和一个函数,用户输入一个华氏温度将其转换为摄氏温度。这两个例子分别演示了过程与函数的定义方法。程序4.19:一个过程
SubConvertTemp()temp=InputBox("请输入华氏温度。",1)MsgBox"温度为"&Celsius(temp)&"摄氏度。"EndSubVBScript的过程与函数VBScript过程是包含在Sub和EndSub语句之间的一组VBScript语句,执行操作但不返回值。Sub过程可以使用参数,如果无任何参数,则Sub语句必须包含空括号“()”。4.3.5.VBScript语法简介程序4.20:一个函数
FunctionCelsius(fDegrees)Celsius=(fDegrees-32)*5/9EndFunctionVBScript函数是包含在Function和EndFunction语句之间的一组VBScript语句。同样函数也可以使用参数,如果无任何参数,则Function语句必须包含空括号()。函数通过函数名返回一个值,这个值是在函数体内的语句中赋给函数名的。VBScript的函数的返回值的数据类型总是Variant。4.3.5.VBScript语法简介过程或函数定义可出现在<SCRIPT>和</SCRIPT>标记之间,且必须遵循声明脚本语言的规则。如果过程所用的语言与主脚本语言不同,则要使用<SCRIPT>元素。主脚本语言中的过程用脚本分界符(<%和%>)分隔。用<SCRIPT>标记时,必须使用两个属性来保证服务器端能够处理脚本。使用<SCRIPT>标记的语法如下:<SCRIPTRunat=ServerLanguage="VBScript">ProcedureDefinitionFunctionDefinition</SCRIPT>例如:<SCRIPTLanguage=vbscript>SubConvertTemp()temp=InputBox("请输入华氏温度。",1)MsgBox"温度为"&Celsius(temp)&"摄氏度。"EndSubFunctionCelsius(fDegrees)Celsius=(fDegrees-32)*5/9EndFunction</SCRIPT>4.3.5.VBScript语法简介例如:<SCRIPTLanguage=vbscript><!--SubConvertTemp()temp=InputBox("请输入华氏温度。",1)MsgBox"温度为"&Celsius(temp)&"摄氏度。"EndSubFunctionCelsius(fDegrees)Celsius=(fDegrees-32)*5/9EndFunction--></SCRIPT>4.3.6.ASP与ADO的连接
ASP的优势就在于能与数据库进行交互,从而实现页面内容的动态更新,这种动态性体现在两个方面:一是浏览器端显示的页面随着服务器端数据库内容的变化而变化;二是用户可在客户端更新数据库的内容,即可实现客户端与服务器的双向交流。一个真正的动态页面或基于Web的系统是离不开数据库的,因为实际应用中,需要使用的数据很多,而且这些数据之间往往还存在关联关系,利用数据库来管理这些数据,可以方便地实现数据的查询和更新。ASP页面与数据库的交互是通过ADO来实现的。4.3.6.ASP与ADO的连接ADO(ActiveXDataObject)是一组优化的访问数据库的专用对象集,它为ASP提供了完整的数据库解决方案,它作用在服务器端,通过执行SQL命令,用户通过客户端浏览器可对服务器端数据库的输入,更新和删除等操作。ADO主要包括Connection、Command和Recordset三个对象,它们的主要功能如下:Connection对象:负责打开或连接数据库文件;Command对象:对数据库下达行动查询指令,以及执行SQLServer的存储过程;Recordset对象:表示记录的集合,用于存取数据库的内容。4.3.6.ASP与ADO的连接数据库有很多种,如:Informix、Oracle、SQLServer等等,这里,我将以SQLServer数据库为例来说明ASP是如何访问数据库的。假定有一数据库表asp,用来存储员工的基本信息,其结构如下:
20char毕业院校univ84char婚否(未婚、已婚)marry74char性别(男、女)sex629numeric年收入salary538datetime生日birth404int年龄age310char姓名cname210char序号id1小数位长度类型含义名称序号连接数据库4.3.6.ASP与ADO的连接ADO提供了两种连接数据库的方法。一是用ODBC产生一个连接,这种连接与任何有ODBC驱动器的数据库兼容;另一个是用原始OLEDB提供商产生一个连接。应尽可能用原始OLEDB提供商,因为它提供了对数据更有效的访问,Microsoft正逐步用OLEDB取代ODBC标准,应该仅仅在没有原始OLEDB提供商时使用ODBC。4.3.6.ASP与ADO的连接下面以OLEDB方式为例说明数据库的连接方法,数据库连接包括两个步骤:即创建连接数据库的对象使用该对象连接数据库。
下面的代码是一个SQLServer数据库的典型的连接方法,其他数据库的连接类似,只是其参数不同。程序4.21:conn_ole.asp<%@Language=VBScript%><%Setconn=Server.CreateObject("ADODB.Connection")//创建连接对象conn.Open"Provider=SQLOLEDB;DataSource=(local);database=asp_net;uid=sa;pwd=VBFVZVI"%>4.3.6.ASP与ADO的连接建立数据库连接后,就可执行SQL命令,即对数据库进行操作,这里要使用到连接对象的一个方法,即Execute命令,使用格式为:SetRS=Conn.Execute("SelectCol_nameFromTab_nameWhereCondition")该语句的作用是将SQL语句的执行结果存储在一个RecordSet中。
然后,可利用数据集合对象Recordset的属性和方法,从集合中读取数据,并显示在页面上。
Recordset对象就是一个存储在内存中表(table)下面简单介绍数据集合对象Recordset的常用属性与命令存取数据库的内容4.3.6.ASP与ADO的连接RecordSets对象的常用命令如下:RS.Fildes.Count//RecordSet中的字段数RS(i).Name//第i个字段名RS(i)//第i个字段的记录RS("Col_name")//指定字段的记录RS.EOF//是否指向最后一个字段TrueorFalseRS.MoveFirst//指向第一条记录RS.MovePrev//指向前一条记录RS.MoveNext//指向后一条记录RS.MoveLast//指向最后一条记录RS.GetRows//将查询结果存放在数组中,然后再从数组中读取RS.Properties.Count//得到ADO的Connection或ResultSet的属性总数RS.Properties(Item).Name//得到ADO的Connection或ResultSet的属性名称RS.Properties(Item)//得到ADO的Connection或ResultSet的属性值。4.3.6.ASP与ADO的连接结合Connection对象、Command对象和Recordset对象,连接一个SQLServer数据库,并显示该数据库中asp表的记录的完整程序如下:程序
4.22:show.asp<%@Language=VBScript%><%Setconn=Server.CreateObject("ADODB.Connection")conn.Open("Provider=SQLOLEDB;DataSource=(local);database=asp_net;uid=sa;pwd=VBFVZVI")setrs=conn.execute("select*fromemp")dowhilenotrs.eofresponse.writers("cname")&","&rs("univ")&"<br>"rs.movenextlooprs.closeconn.closesetrs=nothingsetconn=nothing%>该程序的作用是依次读出数据库中的每一条记录并显示到客户端浏览器。
4.3.6.ASP与ADO的连接例子程序3.2show_Access.asp(Access数据库连接例子)<%Setconn=server.createobjectConnODB.connection")conn.connectionstring="proConnr=microsoft.jet.oledb.4.0;datasource="&server.mappath("asp_net.mdb")conn.opensetrs=conn.execConn"select*fromaddlistorderbyid")dowhilenotrs.eofresponse.writers("id")&""&rs("name")&""&rs("sex")&""&rs("high")&""&rs("brith")&""&rs("address")&""&rs("uname")&"<br>"rs.movenextlooprs.closeconn.close%>4.3.6.ASP与ADO的连接为了便于处理,我们可以把数据库连接及其他类似的操作的作为一个独立的文本文件(通常为.inc.asp.html等文本文件),然后通过#include来调用这个文件。#include命令指示Web服务器将读取被包含文件的全部内容插入到并插入到页面中。包含文件是一种非常有用的插入HTML段落的技术,它使得相同的代码可以同时在多个页面中使用,提高了代码的复用性。被包含的文件可具有任何文件扩展名,但建议使用.inc扩展名。包含文件的使用4.3.6.ASP与ADO的连接
#include命令既可用于ASP页面,也可用在HTML页面中,但必须使用HTML注释定界符将指令括起来,其使用格式如下:
<!--#includePathType=FileName-->其中,PathType
指定FileName文件的路径类型,路径可为以下某种类型:#include命令的文档所在目录的相对路径。文件名为Web站点上虚拟目录的完整虚拟路径。FileName指定要包含的文件名。FileName必须包含文件名扩展,而且必须将文件名用引号(")引起来。
4.3.6.ASP与ADO的连接例如,我们可以将例子程序show.asp中的数据库连接部分分离出来,作为一个独立的文件conn.asp或conn.inc。这样做的好处在于,当数据库的连接参数改变时,不需要修改每个页面文件,只需要修改这个包含文件即可。例子程序conn.inc和例子程序shows.asp分别是包含的文件的定义和调用。例子程序conn.inc<%Setconn=Server.CreateObject("ADODB.Connection")conn.Open"Provider=SQLOLEDB;DataConnce=(local);database=asp_net;uid=sa;pwd="%>定义.inc文件后,在其调用的asp文件中加入:
<!--#includefile=include/conn.inc-->
例如:shows.asp4.3.6.ASP与ADO的连接上面的shows.asp实现了用ASP技术显示数据库内容的页面,但是这种显示效果不太美观,数据中的信息通常以表格的形式来表现,那么,我们可以用HTML中的<table>来实现。
例子程序table.asp实现了在Asp中用表格显示数据4.3.6.ASP与ADO的连接程序
4.25:table.asp<%@Language=VBScript%><!--#includefile=include/conn.inc--><tableborder><tr><th>姓名<th>毕业学校</tr><%setrs=conn.execute("select*fromemp")dowhilenotrs.eofresponse.write("<tr>")response.write("<td>"&rs("cname")&"</td>")response.write("<td>"&rs("univ")&"</td>")response.write("</tr>")rs.movenextlooprs.closeconn.close%></table>4.3.6.ASP与ADO的连接上面的例子table.asp是显示一个数据库表中的指定内容,如果要显示数据库表中的所有字段,就要用到数据集RecordSet的相关属性来获得其字段数、字段名等信息,然后逐条获取记录并显示。例子程序tables.asp是以表格的形式来显示一个表格(asp)的所有字段信息。
4.3.6.ASP与ADO的连接<%@Language=VBScript%><!--#includefile=include/sqlconn.inc--><tableborder=1><tr><%setrs=Conn.execute("select*fromasp")fori=0tors.fields.count-1response.write("<td>"&rs(i).name&"</td>")next%></tr><%rs.movefirstdowhilenotrs.eofresponse.write("<tr>")fori=0tors.fields.count-1response.write("<td>"&rs(i)&"</td>")nextresponse.write("</tr>")rs.movenextlooprs.closeconn.close%></table>4.3.7ASP内置对象ASP提供了可在脚本(Script)中直接使用的内置对象,以便更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息。ASP包括五个内置对象:Request、Response、Server、Session、Application。Request对象的主要作用就是在服务器端接受并得到从客户端浏览器提交或上传的信息;Response对象可动态地响应客户端的请求,并将动态生成的响应结果返回给客户端浏览器;Server对象可用来创建服务器对象,控制服务器端脚本的执行的时间等;Application对象与Session对象可以把信息记录在服务器端,在网页结束时保留变量的内容,以备下次使用。ASP内置对象的语法格式为:对象名[.集合|属性|方法](变量)4.3.7ASP内置对象使用Request对象可访问任何基于HTTP请求传递的所有信息,包括从HTML表格用POST方法或GE方法传递的参数、cookie和用户认证等,可用此对象读取已输入HTML表单的信息。Request对象的集合
Request对象的集合主要有如下几种。Cookies:含有浏览器cookies的值。Form:含有HTML表单域中的值。QueryString:含有查询字符串的值。ServerVariables:含有头和环境变量中的值。Request对象4.3.7ASP内置对象Request对象的属性
Request.Form(“name”)[(index)|.Count]。这是接收上一页的信息时,常会用到的一种接收方式。Form集合通过使用post方法将表单中输入的信息发送到表单元素。其中name指定集合的表单元素的名称;index为可选参数,使用该参数可以访问某参数中多个值中的一个,它可以是1~Request.Form(parameter).Count之间的任意整数;Count是集合中元素的个数。4.3.7ASP内置对象例如,程序4.27提供输入信息的HTML表单页面,并将信息提交到程序4.28的ASP页接受处理。程序4.27:test1.html<formaction="http://localhost/Sample/Ch04/ASP/submit1.asp"method="post">yourname:<inputtpye="text"name="yourname"><br>yourpwd:<inputtype="password"name="yourpwd"><br><inputtype="submit"value="submit"></form>程序4.28:submit1.aspyournameis:<%=request.form("yourname")%><br>yourpwdis:<%=request.form("yourpwd")%>从test1.html页面接收“yourname”和“yourpwd”的输入值,并通过yourname和yourpwd两个表单元素,将这两个页面进行了关联。在test1.html中动态输入的yourname和yourpwd,在submit1.asp中则进行相应的动态显示。这就是接收、提取并显示信息的全过程。4.3.7ASP内置对象如果要动态获取HTML表单中的所有元素的值,则需要使用循环来检索表单中的元素。实现过程如程序4.29所示。程序4.29:submit2.asp<%foreachiinrequest.form%><%=i%>:<%=request.form(i)%><br><%next%>
该例采用了for循环将HTML页面表单所有的Form标签信息进行接收并显示,当表单页的元素很多时,可以非常快捷地出来结果。4.3.7ASP内置对象Request.QueryString(variable)[(index)|.Count]。
Request.QueryString也可以接收表单的值,表单递交时采用什么方法取决于提交时使用的参数,当采用post参数时就用Request.Form,否则当采用get时就采用Request.QueryString。其特色在于Request.QueryString能检索并接收HTTP查询字符串中变量的值,而HTTP查询字符串则是由问号(?)后的值指定的。通过发送表格或由用户在其浏览器的地址栏中输入查询也可以生成查询字符串。将程序4.27中的post改为get,相应地将程序4.28中的request.form改为Request.QueryString,可达到同样的效果。4.3.7ASP内置对象Request.ServerVariables(“xxx”)。ServerVariables对象包含了服务器的环境变量。可以采用for循环进行遍历,查看所有的服务器环境变量。程序4.30:Server1.asp<%foreachiinrequest.servervariables%><%=i%>:<%=request.servervariables(i)%><hr><%Next%>4.3.7ASP内置对象Response.Write()
Response对象中Write方法是使用最频繁的一个了,其作用是将指定的字符串写到当前的HTTP输出。Response.Write后面为所显示的信息,书写的字符串信息或者HTML代码标记必须用引号,而ASP本身的函数或变量则不需要。并且,无论字符串信息、HTML标记、函数还是变量之间进行连接都是采用符号“&”。程序4.31:Write.asp<%response.write("我正在学习ASP"&"<br>")Randomizeresponse.write("任意数是:"&rnd()&"<br>")%>Response对象4.3.7ASP内置对象
Response.EndResponse对象的End方法使Web服务器停止处理脚本并返回当前结果,文件中剩余的内容将不被处理。
Response.RedirectRedirect方法是让浏览器立即重定向到程序指定的URL地址。使用格式如下:<%Response.Redirect(URL)%>例如:<%Response.Redirect("")%>4.3.7ASP内置对象ASP对象除了对象方法外,还有对象属性。对象的属性类似于变量,其含义明确、使用简单。这里只列出其主要属性和含义,如表4.7所示。属性含义举例Buffer缓存一个ASP值为trueorfalseCacheControl由代理服务器控制缓存值为trueorfalseCharSet用指定字符集来设置响应客户端的文件字符编码<%Response.charset="big5"%>ContentType规定响应的内容类型<%Response.ContentType="text/HTML"%>Expires浏览器用相对时间控制缓存<%Response.Expires=0%>ExpiresAbsolute浏览器用绝对时间控制缓存<%Response.ExpiresAbsolute=#Dec12,2006#%>Status设置服务器要响应的状态行<%Response.Status="401Unauthorized"%>4.3.7ASP内置对象Server对象可在服务器上使用不同实体函数,如在时间到达前控制脚本执行的时间。还可用来创建其他对象。该对象的方法主要有如下几种。CreateObject:创建一个对象实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水利安全教育试题及答案
- 助理广告师考试广告效果评示试题及答案
- 安徽发改委面试题及答案
- 2024年广告设计师考试多媒体运用试题及答案
- 开始你的设计旅程2024年国际商业美术设计师试题及答案
- 2024年广告设计师考试知识架构梳理试题及答案
- 2024年广告设计行业的最佳实践探索试题及答案
- 昌邑美术面试题及答案
- 大学保险法试题及答案
- 会诊制度考试试题及答案
- 《社会职业大调查》 第一课时(教案)-三年级劳动北师大版
- 桥架支架计算表
- Unit3OnthemoveDevelopingideasRunningintoabetterlife教学设计-高一下学期外研版英语
- 生物航煤行业前景
- YS/T 819-2012电子薄膜用高纯铜溅射靶材
- GB/T 3961-1993纤维增强塑料术语
- 学校项目工程监理规划
- 杭州市高层次人才分类认定申请表-
- 高考语文答题思维导图
- 设备检维修作业票填写模板
- 湖北省高等学校教学成果奖推荐书、申请简表
评论
0/150
提交评论