ASP动态网页制作基础精.docx
- 文档编号:16260127
- 上传时间:2023-07-12
- 格式:DOCX
- 页数:25
- 大小:398.78KB
ASP动态网页制作基础精.docx
《ASP动态网页制作基础精.docx》由会员分享,可在线阅读,更多相关《ASP动态网页制作基础精.docx(25页珍藏版)》请在冰点文库上搜索。
ASP动态网页制作基础精
第7章ASP动态网页制作基础
学习目标
♦ASP的特点及相关概念
♦如何在HTML页面中嵌入VBScript
♦VBScript的变量定义及语法规则
♦ASP内置对象的特性和方法
♦ASP内置组件的使用方法
第7章ASP动态网页制作基础
教学内容
7・1ASP简介
7・2VBscript脚本语言
7.3ASP内置对象
7.4ASP内置组件
本章小结
7.1ASP简介
ASP(ActiveServerPages)是微软公nJ1996年底推出的Web应用程庁丿「•发技术,其上要功能是为生成动态交互的Web服务器应用程序提供功能强人的方法和技术。
ASP既不足一种语言也不是一种开发丄具,而是•种技术框架,是位于服务器端的脚木运行环境。
ASP内含于IIS(InternetInformationServer)3.0和4.0之中,我们可以结合HTML网页.ASP指令和ActiveX元件建立动态、交互II.高效的WEB服务器应用程序。
ASP所独具的一些特点:
1.使用VBScript.JScript等简单易懂的脚本语言,结介HTML代码,可快速完成网站的应用程序。
2.容易编写,无须编译,所使用的脚木语言均在WEB服务器端执行。
3.
返回忖录
使用普通文本编辑器进行编辑设计,如Windows的记事本。
7.1ASP简介
4.与浏览器无关,用户端只要使用町执行HTML代码的浏览器就能浏览ASP所设计的网页内容。
5.能与任何ActiveXscripting语言相容。
除了与VBScript和Jscript相容之外,还通过plug-in方式使用由第三方提供的其他脚本语言,如REXX、Perl.Tel等。
脚本引擎是处理脚本程序的COM(ComponentObjectModel)物件。
6.源程序不会被传到客户浏览器,能避免所写程序源代码被他人剽窃,提高了程序的安全性。
7.町使用服务器端的脚木來产生客户端的脚本。
8.面向对象(Object-oriented)。
9.ActiveXServerComponents(ActiveX服务器元件)貝有无限可扩充性。
可以使帀VisualBasic.Java.VisualC++.COBOL等语言编写ActiveXServerComponento
7.1ASP简介
第一个ASP程序
第一步:
打开-•个文本编辑器(比如记事本),输入以下代码:
<%Response,write("Helloworld")%>
第二步:
以文件名Hello.asp/Z盘。
因为・dsp文件由服务器端的ASP环境来解释,所以进入第三步。
第三步:
将Hello,asp文件放在WWW服务器的目录下。
在安装J’PWS的Win98系统里,缺省路径是C:
\Wroot>也可以自己建一个了•冃录,比如C:
\dsp。
第四步:
打开浏览器.地址栏中输入
http:
//yourservername/asp/Hello.asp•浏览為I••立即显示"HelloWorld\就这么命单。
("yourservername^耍换具体的服务誥名〉
7.2VBscript脚本语言一VBscript简介
VBScript是ASP的缺省语言,它通过变量、操作符、循环、分支、函数和犷例程扩展了HTML。
可以在HTML文件中直接嵌入VBScript脚本,使静态HTML网页变为动态网页。
VBScript是一种脚木语言,脚本语言的句法比较简单,这意味着它比Basic语言容易使用。
但是,简单的句法也使开发大的应用程序变得很闲难,这也使得它比Basic语言难用。
^ScriptnJ以作为客八端编程语言,山浏览器解释执行.
VBScript也可以作为服务器端编程语言。
服务器端编程语言是在服务器上执行的语言,服务器为一个站点提洪文件,浏览器接收这些文件。
服务器端编程语言将执行站点主机上的所有操作。
在HTML页而屮嵌入VBScript要使用Script元索,该元索用于将VBScript代码添加到HTML页rfti屮。
VBScript代码要写在成对的vSCRIPT>标记Z间。
例如,以卜代码是一个测试传递口期的过程:
例测试传連曰期的过程代码
- FunctionTT(Dt) TT=(CDate(Dt)-Now())>2 EndFunction -> 说明: VBScript代码的开始和结束部分都有
返回11录
-个值得注意的例外情况是,在窗体中提供内部代码以响应窗体中对象的事件。
以下示例在为窗体屮嵌入Script代码以响应窗体屮按钮的双击事件。
例:
窗体内部代码响应窗体中按钮的双击事件
MsgBoxM按钮彼双击!
”
返回II录
7.2VBscript脚本语言一变量、常量及数组
I.变量
(1)声明变量
声明变量的一种方式是使用Dim语句,例如:
Dimtto声明多个变量时,使用逗号分隔变量。
例如:
Dimtop,bottom.left,righto
另外一种方式是通过直接在Script中使用变量名,这一简单方式可隐式地声明变量,但不提侶这样做,I大I为冇吋会因为变量名被拼错而导致运行Script时出现意外结果。
(2)变量的作用域
VBScript变量都冇相应作川域,作用域由声明变量的位置决沱,在过程中声明的变最只有该过程中的代码nJ以访问或更改变量值,此时变蜃具有局部作用域并称为过程级变量。
在过程之外声明变量可以被脚本中所有过程识别,称为全局变量。
(3)变fit子类型
用DIM语句声明•个变量时无须为变量定义数据类型,I対为VBScript'P所冇变量都迢相同的数据类型:
variant型。
variant^-种特殊的变显类型,它町以代衣许多其他类些的变Variant包含的基木数据类空称为子类型。
当用一个变锻代表一个数7时,只要把数字分配给该变it.不用引号定界。
当用一个变量代农一个字符串时.把字符巾分配给该变战时要用引号定界。
一个variant^变城町fl动与赋给它的值的类空保持一致。
用TYPENAMEO函数可以显示variant型变量的犷类型,
例如:
<^aa=HHcllo!
M%><%=TYPENAME(aa)%>
V%aa=3%><%=TYPENAME(aa)%>
在上例屮,变量被分配了两个不同类型的值,对每种类型的值,可以用VBScripl函数TYPENAMEO显示该变虽所代衣的实际数据的了类型。
当给变録顶分配字符小数抑;“Hello!
”时,variant型变量aa的/类型是string<>当给变litad分配整数3时,aa的/类型是integer。
7.2VBscript脚本语言一变量、常量及数组
(4)空变量和空值变量
在给一个变量分配值之前,该变鼠是空的。
可以用函数ISEMPTY()检测一个变量是否为空。
如下例所示:
例7・5用函数ISEMPTYO检测变量是否为空
<%
aa=nHel!
o!
M
%>
aa:
<%=ISEMPTY(aa)%>
bb:
<%=ISEMPTY(bb)%>
在这个例子中,检测了两个变量aa和bb,看它们是否为空。
因为aa已经被分配了值,当以“a为函数1SEMPTY0的参数时,函数返回False。
而bb没有分配数据,以bb为参数时,函数ISEMPTY()返回Tee。
13
2.常量
VBScript可以声明常量,一M声明了一个常鼠,该常量的值将不能被改变。
例如:
V%CONSTTOP=21.1%>
在例子中,常量TOP被分配了值21.1。
因为TOP是一个常量,所以在脚木中不能再给TOP分配新值。
试图改变常量的值将收到错误信息:
IllegalAssignmenterroro
对于不希望在脚本中被改变的数值可使用常量。
例如站点注册费是一个固定价格,应定义为常量。
若将來某一天改变这个价格,可通过手工修改方式更改这个常量的值。
町以一次定义多个常量,把每个常量定义用逗号隔开R卩可。
例如:
<%CONSTTOP=21.1,BOTTOM=52.5,AA=nHe]lo!
n%>
返回II录
7.2VBscript脚本语言一变量.常量及数组
3.数组
数组是一个可以存储一组值的变虽。
当需耍存储一组相关的值时应该使用数组。
例如:
创建-•个数组,用來存储站点上出售的-系列商品。
例:
创建存储商品的数组
V%
DIMProduct(10)
Product(0)—'TradingCard**
Product
(1)=nBookonActiveSeverPages*
Product
(2)=nComputerMonitor*
%>
例子中,DIM语句声明了一个町以存储11个值的数纽,数组在使用之前必须声明。
VBScript中数组的下标从0开始,声明了一个数组之后,可以用一个索引为数组元索赋值。
数组可以多维,如:
Dimtt(4.6)o
过程是一组能执行指怎任务且具有返回值的脚本命令。
用户可以赵义自己的过程,然后在脚本中反复调用它们。
也可以将过程定义放在调用过程的.asp文件中,还可以将通用过程放在一个共享的.asp文件中,用SSI#include指令将其包含到其他调用其过程的.asp文件中。
还有另一种方法,即把这些功能打包在ActiveX组件中。
过程定义常出现在VSCRIPT>和</SCRIPT>内部,必须遵循声明脚木语言规则。
如果过程所用语言与主脚木语言不同,则要使用<SCRIPT>元素。
主脚本语言中的过程用脚本分界符“V%”和“%>”分隔。
使用HTML<SCRIPT>标记时,必须用RUNAT和LANGUAGE属性來保证服务器端能够处理脚本。
15
7.2VBscript脚本语言一VBscript过程
过程是一组能执行指怎任务且具有返回值的脚本命令。
用户可以赵义自己的过程,然后在脚本中反复调用它们。
也可以将过程定义放在调用过程的.asp文件中,还可以将通用过程放在一个共享的.asp文件中,用SSI#include指令将其包含到其他调用其过程的.asp文件中。
还有另一种方法,即把这些功能打包在ActiveX组件中。
过程定义常出现在VSCRIPT>和</SCRIPT>内部,必须遵循声明脚木语言规则。
如果过程所用语言与主脚木语言不同,则要使用<SCRIPT>元素。
主脚本语言中的过程用脚本分界符“V%”和“%>”分隔。
使用HTML<SCRIPT>标记时,必须用RUNAT和LANGUAGE属性來保证服务器端能够处理脚本。
使用VSCRIPT>标记的语法如下:
过程定义
说明:
RUNAT=SERVERWn通知Web服务器在服务器上处理脚木,若不设置该属性,脚本将山客户端浏览器处理。
LANGUAGE属性决定此脚本块所用的语言,可以指疋任何-•种具有脚本引擎的语言。
如:
用VBSCRIPT指泄VBScript、rtJJSCRIPT指沱JScript。
若不设置LANGUAGE属性,将用主脚本语言解释此脚本块。
返回II录
7.2VBscript脚本语言一VBscript过程
VBScript中的过程被分为两类:
Sub过程和Function过程。
Sub过程是包含在Sub和EndSub语句2间的•组VBScript语句,执行操作但不返回值。
Sub过程可以使用参数,由调用过程传递的常数、变量或表达式。
如果Sub过程无任何参数,则Sub语句必须包含空扭号()。
Function过程是包含在Function和EndFunction语句Z间的•组VBScriptS句。
Function过程与Sub过程类似,但是Function过程町以通过函数名返冋值,这个值足由过程的语句赋给函数名的。
Function返冋值的数据类型总是Variant。
Function过程町以使用参数,由调用过程传递的常数、变量或表达式。
如果Function过程无任何参数,则Function语句必须包含空括号()。
19
返回11录
函数和过程一样都是命名了的代倡块,但它们却有很大区别,过程完成程序任务,函数则返回值。
取得口期Z间的差或和的函数DateSerial,其语法如下:
DateSerial(yeanmonth.day)
DateSerial函数中每个参数的取值范围都要合适,口的取值在I〜31Z间,月的取值在1〜12Z间。
也町以用年、月、口的数值表达式代替绝对日期。
对于y“i•参数,若取值范围足从0〜99,则被解释为1900.1999年。
此范围之外的year参数要使用4位数字表示年份(例如1800年)。
当任何一个参数的取值超出可接受范围时,会适当地进位到下个较大的时间单位。
返回忖录
7.2VBscript脚本语言一VBScript条件语句
在VBScript中可使用以卜两种条件语句:
I.If...Then...Else语句
If...Then...Else语句先计算条件是True还是False,然后•根据计算结果指怎要运行的语句。
通常,条件是一个对值或变量进行比较的关系表达式,If...Then...Else语句允许嵌套。
If...Then...Else语句最简格式是条件后只跟一条语句,此时可以省略EndIFo
2.SelectCase语句
SelectCase结构提供了If...Then...Else结构的变通形式,从多个语句块中选择执行其中的一个。
其功能与If...Then...Else语句类似,但代码更加简练易读。
SelectCase结构在开始处有一个只讣算一次的简单测试衣达式,然后将农达式结果与结构中每个Case的值比较,如果匹配,则执行与该Case关联的语句块。
循环语句的作用是重复执行程序代码。
在VBScript中有下列3种循环语句:
Do...Loop:
它可以多次运行语句块,次数不定。
当条件为“真”时循环。
For...Next:
指泄循环次数,使用计数器重复运行语句。
ForEach...Next:
对集合中的每项或数组中的每个元素,重复执行一组语句。
这在不知道集合中元索的数H时非常有用。
它的语法如下:
ForEachelementIngroup
[statements]
Next[element]
返回II录
7.3ASP内置对象一ASP基本内置对象综述
返回忖录
7.3ASP内置对象一ASP基本内置对象综述
3・Response对彖
使用Response对彖能控制发送给用户的信息,包括直接发送信息给浏览器、豆定向浏览器到另一个URL或设管Cookie的位。
集合:
Cookies数据集合
屈性:
BuffernCacheControl.CharsetContenType、Expires、ExpiresAsolute、IsClientConnected、Pics、Status^'
方法:
AddHcader>AppcndToLog>BinaryWriterClear、End.Flush.Redirect>Write等
4・Server对象
Server对彖提供对服务器上的方法和H性进行的访问。
最常用的方法是创建ActiveX组件的实例(Scwcr.Cwaieobjecl)°其他方江用「•将URL或HTML编码成字符巾,将雄拟路径映射到物理路径以及设就脚木的超时期限。
屈性:
只有—个ScriptTimeout屈性
23
方法:
CrcatcObject、HTMLEncodc、MapPath、URLEncodc等
返回忖录
7.3ASP内置对象一ASP基本内置对象综述
5.Session对象
使用Session对彖能存储特定的用门会话所需信息。
当用八在应用程序的页Z间跳转时,心储在Session对線小的变量不会淸除,而用户在应用程序小访问页时,这些变量始终存金。
也可以使用Session方法显式地结束•个会话和设置空闲会话的超时期限。
集合:
Contents数据集合和SlaticObjects数据集合
屈性:
CodePagexLCID>sessionlD、Timeout^
方法:
只提供了Abandon方法
事件:
Scssion_onEnd事件和Scssion_OnStart事件
6・ObjeclConwxl对彖
使HJObjectContext对彖町以提交或撤消illASP脚本初始化的爭务°
方法:
SctAbort方法和SctCompIcte方法
*Hfr:
OnTransactionAbort啪件和OnTransactionCommil爭件
返回忖录
25
使用Request对彖能访问任何基/HTTP诸求传递的所有信息,包括从HTML农格用POST方法或GET方法传递的参数.Cookie和用户认证,访问客户端发送给服务2常的二进制数据°
Request的语法:
Request[集介I加性I方法](变就)
我们挑选一些常用的对彖语法进行分析:
1.Form集合
Form集介通过使用POST方法的衣格检索邮送到HTTP请求正文屮的衣格元索的值。
它的语法格式:
Request.Form(element)[(index)ICount]o参数的功能如F:
element指定集合耍检索的衣格元素的名称。
Index是可选参数,使用该参数可以访问某参数中多个值中的一个,它可以是1到Request.Form(paiameter)・CountZ间的任意整数。
Fonn集合按诸求iE文中参数的名称來索引。
Request.Form(element)的值是请求IE文中所有element值的数组。
通过调用Request.Formtelemem).Count来确定参数中值的个数。
如果参数未关联女个值.则计数为1。
如果找不到参数,计数为0。
2.QueryString集合
QueryString集合检索HTTP查询字符串中变量的值,HTTP杳询字符由问弓后的值指定。
如:
string=thisisasample">stringsamplezk成一个值为"Thisisasample"的变量名字符申。 通过发送衣格或山用八在其浏览器的地址框中键入查询也可以生成查询字符串。 语法格式: Request.QueryString(variable)[(index)I.Count] QueryString集合让用户以名称检索Query_String变量。 Request.QueryString(参数)的值是出现在QUERY_STRING中所有参数的值的数组。 通过调用Request.QueryString(parameter).CountnJ以确定参数有多少个值。 3.Cookies集合 Cookie其实是一个标签,当访问一个需要唯一标识的Web站点时,它会在殛盘上留下一个标记,下一次访问同一个站点时,站点的页而会查找这个标记。 每个Web站点都有门己的标记,标记的内容可以随时读取,但只能山该站点的页而完成。 每个站点的Cookie与其他所有站点的Cookie存在于同一文件夹中的不同文件内(口J以在Windows的卜I录卜的Cookie文件夹中找到它们)。 一个Cookie唯一标识一个客八。 Cookie可以包含在一个对话期或儿个对话期之间某个Web站点的所有页面共孚的信息,使用Cookie还可以在页面之间交换信息。 Request提供的Cookies集介允许用户检索在HTTP诸求中发送的Cookie的值。 27 它的语法格式如下: Request.Cookies(Cookie)[(Key)l.attribute] 其中参数的主要功能如下: Cookie指定要检索其值的Cookie。 Key是口J选参数,用T从Cookie字典屮检索子关键字的值。 如果客八端浏览器发送(两个同名的Cookie,那么Request.Cookie将返冋1*中路径结构较深的•个。 要确定某个CookieJi不是Cookie字典(Cookie是否有关键字),可使用下列脚本。 <%=Rcquest.Cookies(“myCookie”)HasKeys%> 如果myCookie是•个Cookie字典,则询而的赋值为True。 否则为Falseo 4.ServerVariables集合 在浏览器中浏览网页使用的传输协议是HTTP,在HTTP的标题文件屮会记录一些客户端的信息,如: 客户的IP地址等。 有时服务器端需要根据不同的客户端信息做出不同的反映,这时候就需要川ServerVariables集合获取所需信息。 其语法如下: Request.ServerVariables(服务器环境变量) 29 7.3ASP内置对象一Response对象 与Request是获取客户端HTTP信息相反,Response对象用來控制发送给用户的信息,包括直接发送信息给浏览器、重池向浏览器到另一个URL或设置Cookie的值。 语法格式: Response.collectionlpropertylmethod I.属性 (1)Buffer Buffer属性指示是否缓冲页输出。 当缓冲页输出时,只有当前页的所有服务器脚本处理完毕或者调用了Flush或End方法后,服务器才将响W发送给客户端浏览器,服务器将输出发送给客户端浏览器后就不能再设置Buffer属性。 因此,应该在.asp文件的第一行调用Response.Buffero (2) 返回忖录 Charset Charset属性将字符集名称附加到Response对象pcontent-type标题的后面。 对于不包含Response.CharsetH性的ASP页,content-type标题将为: content-typc: text/htmlo町以在・asp文件4itf/licontent
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ASP 动态 网页 制作 基础