论坛: 网站建设 标题: 《ASP基础教程》连载四:使用脚本语言 复制本贴地址    
作者: love20cn12 [love20cn12]    论坛用户   登录
四、使用脚本语言


  脚本语言是介于HTML和Java、C++和Visual Basic之类的编程语言之间的语言。HTML通常用于格式化文本和链接网页。编程语言通常用于向计算机发送一系列复杂指令。脚本语言也可用来向计算机发送指令,但它们的语法和规则没有可编译的编程语言那样严格和复杂。脚本语言主要用于格式化文本和
使用以编程语言编写的已编译好的组件。

  Active Server Pages使Web开发商用多种脚本语言编写完整的过程成为可能。事实上,在单个.asp文件内部就可以使用多种脚本语言。另外,由于脚本是在服务器端读取和处理的,所以请求.asp文件的客户端浏览器并不需要支持脚本。

  您可以使用任意一种其相应的脚本引擎已安装在Web服务器上的脚本语言。脚本引擎是处理用某种语言书写的命令的程序。Active Server Pages带有两个脚本引擎:Microsoft Visual Basic Scripting Edition(VBScript)和Microsoft JScript。您也可以安装和使用其他的脚本语言引擎,例如 REXX和Perl。

  如果您已经是Visual Basic程序员,就可以马上使用VBScript,它是Visual Basic的子集。如果您是Java、C或C++程序员,您会发现JScript语法对您来说是熟悉的,虽然JScript与Java或C并没有联系。

  如果您熟悉其他脚本语言,例如REXX或Perl,您可获取和安装相应的脚本引擎,这样就可以使用您熟悉的脚本语言了。Active Server Pages是ActiveX脚本的宿主。要使用一种语言,必须安装脚本引擎,该引擎必须遵循ActiveX脚本标准并作为一个COM(组件对象模型)对象驻留在Web服务器上。

  设置主脚本语言

  ASP主脚本语言是用来处理在分界符 <% 和 %> 内部的命令的语言。默认时,主脚本语言是VBScript。您可以将任何一种具有脚本引擎的脚本语言作为主脚本语言。您可以逐页设置主脚本语言,也可以在ASP应用程序中设置所有页的主脚本语言。

  为某页设置语言

  要设置单个页的主脚本语言,可将<%@ LANGUAGE %>指令添加到.asp文件的开头。该指令的语法是:

<%@ LANGUAGE=ScriptingLanguage %>

  其中Scripting Language就是您所设置的页的主脚本语言。如果对某页进行了设置,那么该页将忽略在应用程序中对所有页的全局设置。

  请遵循使用ASP指令的指导。详细信息,请参阅“创建ASP页”。

  注意要将不支持Object.Method语法的语言作为主脚本语言使用,必须先创建Language Engines注册表键。详细信息,请参阅注册表。

  为应用程序设置语言

  在应用程序中,如要为所有页设置主脚本语言,可在Internet服务管理器的“App 选项"选项卡上设置"默认的ASP语言"属性。详细信息,请参阅配置ASP应用程序。

  在服务器上使用VBScript和JScript

  在服务端通过ASP使用VBScript时,两个VBScript特征将失效。由于Active Server Pages脚本是在服务器端执行的,表示用户接口的元素的VBScript语句InputBox和MsgBox将不被支持。另外,在服务器端的脚本中,请不要使用VBScript函数CreateObject和GetObject。而要使用Server.CreateObject,这样ASP就可以跟踪对象实例了。用CreateObject或GetObject创建的对象不能访问ASP内建对象,也不能参与事务处理。该规则的一个例外是如果您使用的是Admin对象和Java monikers。详细信息,请参阅IIS Admin对象和创建Java类的实例。

  关于所有VBScript和JScript的操作符、函数、语句、对象、属性及方法的列表及详细说明,请参阅VBScript语言参考 和JScript语言参考。

  包含注释

  由于ASP脚本是在服务器端处理的,所以即使客户端的浏览器不支持脚本语言,也不必通过包含进HTML注释标记来隐藏脚本,但客户端的脚本则通常需要这样处理。在内容送到浏览器之前,所有ASP命令都已被处理好了。您可用HTML注释将注释加进HTML页。注释将返回给浏览器,若用户浏览HTML源文件,就可以看见。

  VBScript注释

  VBScript支持撇号型注释。与HTML注释不同,当处理脚本时,它们将被删除,而不是被送到浏览器。

<% 
'This line and the following two are comments. 
'The PrintTable function prints all 
'the elements in an array. 
Call PrintTable(myarray()) 
%> 

  输出表达式不能包括注释。例如,下面的第一行将正常运行,而第二行则不能,因为它是以 <%= 开头的。

<% i = i +1 'this increments i. This script will work. %> 
<%= name 'this prints the variable name. This script will fail. %>

  JScript注释

  JScript支持//注释符。每一个注释行中都必须使用该注释符。

<% Call PrintDate %>
<SCRIPT LANGUAGE=JScript RUNAT=Server> 
// This is a definition for the procedure PrintDate. 
function PrintDate() 

var x
x = new Date() 
// This line sends the current date to the browser, 
// translated to a string.
Response.Write(x.toString()) 
}
</SCRIPT>

  大小写敏感性

  VBScript不区分大小写。例如,您可以用Request或request来引用ASP Request对象。不区分大小写的后果是您不能用大小写来区分变量名。

  例如,您不能创建两个名为Color和color的单独变量。
JScript区分大小写。要在脚本中使用JScript关键字,就必须按参考页中所示的大小写来书写。例如,用date来代替Date将导致错误。在JScript中,对象名必须大写;方法名和属性名可大写也可小写。本文所示的ASP内建对象的情况将在JScript命令中正常工作。

 


地主 发表时间: 02/18 14:06

论坛: 网站建设

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号