首页 编程ASPAsp的语法结构和脚本语言

Asp的语法结构和脚本语言

  Asp不是语言,也不是开发工具,它提供ASP文件中脚本语言运行的环境。Asp文件是普通的文本格式,其扩展名以.asp结尾,其中可以包含文本、HTML标记和脚本语言。一个Asp的Web程序还会用到Global.asa以及.inc扩展名的文件和其他的资源文件。Global.asa文件在某些服务器上可能被客户端浏览器下载到本地,这会泄露网站的变量和包括数据库路径在内的信息,严重影响安全性,目前很多网站已经不用这个文件。

  Asp以HTML为框架语言,再将文件的扩展名由.HTML改为.Asp。Asp定界符以“<%”开始,以“%>”结束,这一对标签中放置Asp脚本命令,客户端看不到这些命令,服务器返回<%和%>中的代码的运行结果。当然,要在服务器端运行脚本,还可以使用<script>标记的runat=”Server”让服务器来处理标记中的脚本。.asp的文件需要放在站点的虚拟目录中才能够被正确的显示。

  下面是一个基本的ASP例子

<html>
<head>
<title>第一个例子</title>
</head>
<body>
<p>
<center><h3>欢迎使用Asp,现在的时间是
<%=Now%>
</h3></center>
</p>
</body>
</html>
  程序运行后,显示

欢迎使用Asp,现在的时间是 2011-02-01 03:01:53

  代码第8行的<%=Now%>显示当前时间的函数,可以看到浏览器返回了当前的时间,这不同于一般的HTML静态页面。

在Asp中使用脚本语言
  
  Asp的默认脚本语言是微软的VBScript,也可以把其他脚本设为默认的脚本语言,要更改默认的脚本语言有3个途经:
第一种:在Asp文件的开头使用 <%@language=”Script类型”%>,使用这种格式设定的默认脚本语言将作用于整个当前文档,用第二种方法定义的部分除外。

<%@Language=”JavaScript”%>
<html>
<head>
<title>用JavaScript实现</title>
</head>
<body>
<p><center><h3>
<%
function showtime(){
var timeStr,dateStr;
now = new Date();
hours = now.getHours();
minutes = now.getMinutes();
seconds = now.getSeconds();
timeStr = “” + hours;
timeStr += ((minutes<10)?”:0″:”:”) + minutes;
timeStr += ((seconds<10)?”:0″:”:”) + seconds;
date = now.getDate();
month = now.getMonth();
year = now.getYear();
dateStr = “” + year + “年 “;
dateStr += ((month<10)?” “:””) + month + “月”;
dateStr += ((date<10)?”0″:””) + date + “日 “;

Response.Write(“欢迎使用Asp,现在的时间是:” + dateStr + timeStr);
}
showtime();
%>
</h3></center>
</p>
</body>
</html>

  运行结果:

欢迎使用Asp,现在的时间是:2011年 1月01日 5:07:26

  第二种是使用<script language=”javascript” runat=”server>”来定义默认的脚本语言,这种方法定义的脚本语言只在<script>和</script>之间起作用。为了区分,我在一个文件中分别使用两种方法来打印当前的时间。
<%@Language=”VBScript”%>
<html>
<head>
<title>同时使用两种脚本语言</title>
</head>
<body>
<p><center><h3>
<script language=”javascript” runat=”server”>
function showtime(){
var timeStr,dateStr;
now = new Date();
hours = now.getHours();
minutes = now.getMinutes();
seconds = now.getSeconds();
timeStr = “” + hours;
timeStr += ((minutes<10)?”:0″:”:”) + minutes;
timeStr += ((seconds<10)?”:0″:”:”) + seconds;
date = now.getDate();
month = now.getMonth();
year = now.getYear();
dateStr = “” + year + “年 “;
dateStr += ((month<10)?” “:””) + month + “月”;
dateStr += ((date<10)?”0″:””) + date + “日 “;

Response.Write(“欢迎使用Asp,这是javascript输出的时间:” + dateStr + timeStr);
}
showtime();
</script>
<br />
<%
Response.Write(“这是VBScript输出的时间:” & now)
%>
</h3></center>
</p>
</body>
</html>

  这次运行的结果如下:
欢迎使用Asp,这是javascript输出的时间:2011年 1月01日 5:07:26

这是VBScript输出的时间:2011-2-1 5:07:26
 

  可以看到,在一个页面中是可以同时使用多种脚本和使用的方法。
  第三种方法就是通过IIS设置默认脚本语言的类型,在Asp默认脚本语言的框中输入要设定的脚本语言,例如VBscript、JavaScript,这样, <%和%>中所包含的代码即被视为所指定的脚本语言,

使用include命令包含文件

  我们有时候需要在多处调用同一个文件中的功能,为了提高工作效率和减少重复编程,微软为我们提供了#include包含文件命令。用他可以将目标文件包含到当前文件中来执行。愈发如下:
 

<!–#include file|virtual=”filename.inc” –>

  其中Virtual和File表示被包含文件的路径类型,Virtual标识被包含文件路径为虚拟路径,File为物理路径。Ffilename为白包含文件的名称,以“.inc”为扩展名,当然.asp也是可以的。例如:
 

  <!–#include virtual=”function/system.inc”–>
  将包含function目录下的system.inc文件到当前文件中来。

  <!–#include file=”config.inc”–>
  表示将同一目录下的config.inc文件包含到当前文件中。
  服务器通常在处理脚本命令之前处理#include命令,一般应将它放在脚本命令之前,同时#include命令不能放在<%….%>之间。今天主要介绍了Asp的基本语法以及脚本语言的使用,以后开始介绍Asp的各种对象和组件。Asp中的语法以脚本语言的语法为主,因此掌握脚本语言是使用Asp的前提。