Active Server Page基础教材Word下载.docx
《Active Server Page基础教材Word下载.docx》由会员分享,可在线阅读,更多相关《Active Server Page基础教材Word下载.docx(63页珍藏版)》请在冰豆网上搜索。
ASP带有Microsoft?
VisualBasic?
ScriptingEdition(VBScript)和Microsoft?
JScript?
的脚本引擎,这样您可以立即开始编辑脚本。
PERL、REXX和Python的ActiveX脚本引擎可以从第三方开发人员处获得。
Web开发人员
如果您已经掌握了一门编程语言,如VisualBasic,您将发现ASP是快速创建Web应用程序的一个非常灵活的方法。
通过向HTML中添加脚本命令,您能够创建应用程序的HTML接口。
通过创建自己的ActiveX组件,可以将应用程序中的商业逻辑封装到能够从脚本、其他组件或从其他程序中调用的模块。
使用ASP进行计算的Web可转化为有形的利益,它使Web供应商能够提供交互的商业应用而不仅仅是发布内容。
例如,旅行社能够比公布航空时刻表做得更多;
用ASP脚本可以让客户察看现有的航班、比较费用并预定座位。
包含在WindowsNTOptionpack中的MicrosoftTransactionServer(MTS)可以降低在服务器上构造程序的复杂性和费用。
MTS可以解决开发那些保密性强的、可分级的以及可靠的Web应用程序的复杂性问题。
ActiveServerPages模型
浏览器从Web服务器上请求.asp文件时,ASP脚本开始运行。
然后Web服务器调用ASP,ASP全面读取请求的文件,执行所有脚本命令,并将Web页传送给浏览器。
由于脚本在服务器上而不是在客户端运行,传送到浏览器上的Web页是在Web服务器上生成的。
所以不必担心浏览器能否处理脚本:
Web服务器已经完成了所有脚本的处理,并将标准的HTML传输到浏览器。
由于只有脚本的结果返回到浏览器,所以服务器端脚本不易复制。
用户看不到创建他们正在浏览的页的脚本命令。
二、ActiveServerPage的新功能
ActiveServerPages在功能方面有所增强,更易于开发应用程序。
Microsoft脚本调试程序。
您可以使用脚本调试程序调试.asp文件。
请参阅调试ASP脚本。
事务性脚本。
ASP页和页中使用的对象可以运行于事务环境之下。
在页上的全部工作只有两种结果:
提交或终止。
事务可以保护应用程序免于因失败而导致数据丢失。
请参阅创建事务性脚本。
管理工具。
许多应用程序设置可在Internet服务管理器上进行,这是InternetInformationServer和PersonalWebServer(在WindowsNTWorkstation上)的管理工具。
请参阅配置ASP应用程序。
隔离ASP应用程序。
您可以隔离ASP应用程序以便它们能在Web服务器上独立的内存空间内运行。
万一某个应用程序失败时,可以保护其他应用程序和Web服务器。
它也使您可以在不停止Web服务器的情况下,停止一个应用程序或从内存中卸载其组件。
请参阅隔离应用程序.
文件上载。
浏览器可以通过PostingAcceptor应用程序将文件上载到Web服务器。
可以编写ASP脚本来发送带有从PostingAcceptor传来的信息的email,如每一个上载文件的位置和名称。
请参阅PostingAccepter文档(在MicrosoftSiteServerExpress的目录表中)。
新的ASP组件。
ASP提供了新的基础组件。
有关概述请参阅ActiveX组件。
应用程序根目录的改变。
ASP应用程序的根目录在您的Web站点上可以是物理目录。
以前,根目录必须映射为虚拟目录。
现在可以用Internet服务管理器指示ASP应用程序的根目录。
请参阅创建应用程序。
必须将.asp文件置于应用程序树中,Web服务器才能检测文件的改变并且自动重装它们。
支持InternetExplorer4.0通道和Web预测。
当ASP要发送包含通道定义命令的文件时,它会自动告诉InternetExplorer4.0。
使用ASP很容易就能生成通道定义(.cdf)文件。
支持HTTP1.1协议。
InternetInformationServer和PersonalWebServer支持HTTP1.1协议。
在响应支持HTTP1.1的浏览器(例如InternetExplorer4.0)时,这一支持可使ASP利用新协议的高效率。
例如,当向浏览器返回页的时候,ASP使用大块转换编码以提高网络效率。
三、创建ActiveServerPage页
ActiveServerPages(ASP)文件是以.asp为扩展名的文本文件,这个文本文件可以包括下列部分的任意组合:
文本
HTML标记
ASP脚本命令
创建.asp文件非常容易。
如果要在HTML文件中添加脚本,只需将该文件的扩展名.htm或.html替换为.asp就可以了。
要使.asp文件可用于Web用户,请将这个新文件保存在Web站点上的目录中(请确定启用了该目录的脚本和执行权限)。
使用浏览器查看该文件时,可以看到ASP处理并返回了HTML页。
现在可以在.asp文件中添加脚本命令了。
注意因为.asp文件需要额外的处理,请不要将所有的HTML页都转换为ASP页。
应该只将包含脚本命令的文件转换为.asp文件。
.asp和.htm文件可以放置在相同的目录中。
使用任何的文本编辑器都可以创建.asp文件。
使用那些带有ASP增强支持的编辑器将更能提高效率,如Microsoft?
VisualInterDev?
。
如果您从未使用过HTML,请考虑先使用MicrosoftFrontPage。
使用FrontPage创建文档和格式化文本就象使用文字处理工具一样简单。
接下来还可以使用InsertScript命令在FrontPage创建的HTML页中加入简单的ASP命令。
加入Script命令
脚本是一系列的命令和指令。
与HTML标签不同,script命令指示Web服务器执行操作,而HTML标签只是简单地格式化文本或读取图形、视频及音频文件。
Script命令可以在变量中存储用户名,在返回到浏览器的页中显示用户名或将用户名存储在数据库中。
脚本命令通过定界符与文本区别开来。
定界符是字符或一串字符,它标志单元开始或结束。
HTML使用定界符棗小于号(<
)和大于号(>
)括入HTML标签。
ASP使用定界符<
%和%>
括入脚本命令。
您可以在定界符中括入任何命令,只要这些命令对正在使用的脚本语言有效。
下面的例子展示了包含脚本命令的简单的HTML页:
<
HTML>
BODY>
Thispagewaslastrefreshedon<
%=Now%>
.
/BODY>
/HTML>
VBScript函数Now返回当前的日期和时间。
Web服务器处理该页时,会使用当前的日期和时间替换<
并且将该页返回到浏览器:
Thispagewaslastrefreshedon8/1/972:
20:
00PM.
定界符括入的命令被称为主脚本命令。
这些命令被主脚本语言处理。
在脚本定界符中使用的任何命令都必须对主脚本语言有效。
默认情况下,主脚本语言是VBScript。
要设置另一种语言。
请参阅使用脚本语言。
如果您已经熟悉了客户端脚本编写(编写在浏览器上运行的脚本),请注意不要用HTML<
SCRIPT>
元素括入表达式。
在编写服务器端脚本时,只用<
元素在主脚本语言外的其他语言中定义过程。
关于详细信息,请参阅使用脚本语言。
合成HTML和脚本命令
在ASP定界符中可以包含任何在主脚本语言中合法的语句、表达式、过程或操作符。
在VBScript和其他脚本语言中,语句是语法完整的单元,该单元表达某项活动、声明或定义。
下面的条件语句If...Then...Else是一条常见的VBScript语句。
%IfTime>
=#12:
00:
00AM#AndTime<
#12:
00PM#Then
Greeting="
GoodMorning!
"
Else
Hello!
EndIf
%>
%=Greeting%>
这条语句将值"
或值"
存储在变量greeting中。
命令将当前的变量值发送到浏览器中。
这样,在(Web服务器所在时区的)正午12点前浏览该脚本的用户将看到:
在正午12点或以后浏览此脚本的用户将看到:
在语句的不同部分之间可以加入HTML文本。
例如,下面的脚本在If...Then...Else语句中加入了HTML,产生了与上面脚本同样的结果:
00PM#Then%>
%Else%>
%EndIf%>
如果条件为真棗也就是说,如果时间为午夜、午夜以后或者中午以前,那么Web服务器将跟随条件(“GoodMorning”)的HTML发送到浏览器;
否则,将跟随Else的HTML(“Hello”)发送到浏览器。
这种混合HTML和脚本命令的方式可以方便地将If...Then...Else语句变换为几行HTML文本。
如果要在Web页上显示多处问候,前一个例子更为有用。
只需要设置一次变量,就可以重复显示。
最好从脚本命令中将HTML文本返回到浏览器,而不用脚本命令散布HTML文本。
要将文本返回到浏览器,请使用ASP的内建对象Response。
下面的例子可以产生与前一个脚本同样的结果:
%
IfTime>
Response.Write"
Else
EndIf
Response.Write将跟随的文本发送到浏览器。
要动态构造返回浏览器的文本,请在语句中使用Response.Write。
例如,可能要构造包含一些变量值的字符串。
在使用组件和对象以及向浏览器传送内容中了解到更多有关Response对象和一般对象的信息。
现在,先了解将脚本命令插入到HTML页中的几种方法。
在ASP定界符中可以包含用默认主脚本语言编写的过程。
详细信息,请参阅使用脚本语言。
如果正在使用JScript命令,可以插入花括号指示语句块直接进入ASP命令,而不用考虑它是否夹杂着HTML标签和文本。
例如:
%if(screenresolution=="
low"
){%>
Thisisthetextversionofapage.
%}else{%>
Thisisthemultimediaversionofapage.
%}%>
使用ASP指令
ASP提供了您使用的脚本语言以外的指令。
这是一些输出指令和处理指令。
ASP的输出指令<
%=expression%>
显示表达式的值。
这个输出指令等同于使用Response.Write显示信息。
例如,输出表达式<
%=sport%>
将文字climbing(变量当前的值)传送到浏览器。
ASP处理指令<
%@keyword%>
为ASP提供处理.asp文件所需的信息。
例如,下面的指令将VBScript设为该页的主脚本语言:
%@LANGUAGE=VBScript%>
处理指令必须出现在.asp文件的第一行。
不要将处理指令放在包含#include语句的文件中。
必须在at标记(@)和关键字之间加入一个空格。
处理指令有下列关键字:
LANGUAGE关键字设置页的脚本语言;
CODEPAGE关键字设置页的代码页(字符编码);
请参阅使用国际站点。
LCID关键字设置页的现场标识符;
TRANSACTION关键字指定将在事务处理环境下运行的页;
请参阅创建事务处理脚本。
ENABLESESSIONSTATE关键字指定ASP页是否使用会话状态;
请参阅管理会话。
可以在单个指令中包含多个关键字;
关键字/值对之间必须由空格分开。
不要在等号(=)左右加入空格。
下面的例子中设置了脚本语言和代码页:
%@LANGUAGE=JScriptCODEPAGE=932%>
在脚本中的空白字符
如果您的主脚本语言是VBScript或者JScript,ASP从指令中删除空白字符。
使用其他脚本语言时,ASP保留空白字符,这样那些需要使用位置和缩进的语言,如Python就可以被正确解释了。
空白字符包括空格、制表符、回车和换行符。
使用VBScript和JScript时,在打开定界符之后和关闭定界符之前使用空白字符更容易阅读命令。
下面的命令都是合法的:
%Color="
Green"
%>
%Color="
%
Color="
ASP将一个语句的关闭定界符与下一个语句的打开定界符之间的空白字符删除。
要保留两个语句间的空白字符,比如在句子中显示变量值的时候,请使用HTML不间断空符(&
nbsp;
)。
%'
Definetwovariableswithstringvalues.
Hello="
Hello"
World="
World"
P>
Myresponseistosay"
%=Hello%>
&
%=World%>
."
<
/P>
四、使用脚本语言
脚本语言是介于HTML和Java、C++和VisualBasic之类的编程语言之间的语言。
HTML通常用于格式化文本和链接网页。
编程语言通常用于向计算机发送一系列复杂指令。
脚本语言也可用来向计算机发送指令,但它们的语法和规则没有可编译的编程语言那样严格和复杂。
脚本语言主要用于格式化文本和使用以编程语言编写的已编译好的组件。
ActiveServerPages使Web开发商用多种脚本语言编写完整的过程成为可能。
事实上,在单个.asp文件内部就可以使用多种脚本语言。
另外,由于脚本是在服务器端读取和处理的,所以请求.asp文件的客户端浏览器并不需要支持脚本。
您可以使用任意一种其相应的脚本引擎已安装在Web服务器上的脚本语言。
脚本引擎是处理用某种语言书写的命令的程序。
ActiveServerPages带有两个脚本引擎:
MicrosoftVisualBasicScriptingEdition(VBScript)和MicrosoftJScript。
您也可以安装和使用其他的脚本语言引擎,例如REXX和Perl。
如果您已经是VisualBasic程序员,就可以马上使用VBScript,它是VisualBasic的子集。
如果您是Java、C或C++程序员,您会发现JScript语法对您来说是熟悉的,虽然JScript与Java或C并没有联系。
如果您熟悉其他脚本语言,例如REXX或Perl,您可获取和安装相应的脚本引擎,这样就可以使用您熟悉的脚本语言了。
ActiveServerPages是ActiveX脚本的宿主。
要使用一种语言,必须安装脚本引擎,该引擎必须遵循ActiveX脚本标准并作为一个COM(组件对象模型)对象驻留在Web服务器上。
设置主脚本语言
ASP主脚本语言是用来处理在分界符<
内部的命令的语言。
默认时,主脚本语言是VBScript。
您可以将任何一种具有脚本引擎的脚本语言作为主脚本语言。
您可以逐页设置主脚本语言,也可以在ASP应用程序中设置所有页的主脚本语言。
为某页设置语言
要设置单个页的主脚本语言,可将<
%@LANGUAGE%>
指令添加到.asp文件的开头。
该指令的语法是:
%@LANGUAGE=ScriptingLanguage%>
其中ScriptingLanguage就是您所设置的页的主脚本语言。
如果对某页进行了设置,那么该页将忽略在应用程序中对所有页的全局设置。
请遵循使用ASP指令的指导。
详细信息,请参阅创建ASP页。
注意要将不支持Object.Method语法的语言作为主脚本语言使用,必须先创建LanguageEngines注册表键。
详细信息,请参阅注册表。
为应用程序设置语言
在应用程序中,如要为所有页设置主脚本语言,可在Internet服务管理器的“App选项”选项卡上设置“默认的ASP语言”属性。
详细信息,请参阅配置ASP应用程序。
在服务器上使用VBScript和JScript
在服务端通过ASP使用VBScript时,两个VBScript特征将失效。
由于ActiveServerPages脚本是在服务器端执行的,表示用户接口的元素的VBScript语句InputBox和MsgBox将不被支持。
另外,在服务器端的脚本中,请不要使用VBScript函数CreateObject和GetObject。
而要使用Server.CreateObject,这样ASP就可以跟踪对象实例了。
用CreateObject或GetObject创建的对象不能访问ASP内建对象,也不能参与事务处理。
该规则的一个例外是如果您使用的是Admin对象和Javamonikers。
详细信息,请参阅IISAdmin对象和创建Java类的实例。
关于所有VBScript和JScript的操作符、函数、语句、对象、属性及方法的列表及详细说明,请参阅VBScript语言参考和JScript语言参考。
包含注释
由于ASP脚本是在服务器端处理的,所以即使客户端的浏览器不支持脚本语言,也不必通过包含进HTML注释标记来隐藏脚本,但客户端的脚本则通常需要这样处理。
在内容送到浏览器之前,所有ASP命令都已被处理好了。
您可用HTML注释将注释加进HTML页。
注释将返回给浏览器,若用户浏览HTML源文件,就可以看见。
VBScript注释
VBScript支持撇号型注释。
与HTML注释不同,当处理脚本时,它们将被删除,而不是被送到浏览器。
'
Thislineandthefollowingtwoarecomments.
ThePrintTablefunctionprintsall
theelementsinanarray.
CallPrintTable(myarray())
输出表达式不能包括注释。
例如,下面的第一行将正常运行,而第二行则不能,因为它是以<
%=开头的。
%i=i+1'
thisincrementsi.Thisscriptwillwork.%>
%=name'
thisprintsthevariablename.Thisscriptwillfail.%>
JScript注释
JScript支持//注释符。
每一个注释行中都必须使用该注释符。
%CallPrintDate%>
SCRIPTLANGUAGE=JScriptRUNAT=Server>
//ThisisadefinitionfortheprocedurePrintDate.
functionPrintDate()
{
varx
x=newDate()
//Thislinesendsthecurrentdatetothebrowser,
//translatedtoastring.
Response.Write(x.toString())
}
/SCRIPT>
大小写敏感性
VBScript不区分大小写。
例如,您可以用Request或request来引用ASPRequest对象。
不区分大小写的后果是您不能用大小写来区分变量名。
例如,您不能创建两个名为Color和color的单独变