欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP教程:2、ASP简介

程序员文章站 2023-08-19 17:10:42
看了《如何令你的网站“动感十足”》一文后,是否令你怦然心动?是否已经急不可待地想构建属于你自己的动态网站?本文将以 active server pages 为中心,向你全面展示制作动态商业网站的步骤...
看了《如何令你的网站“动感十足”》一文后,是否令你怦然心动?是否已经急不可待地想构建属于你自己的动态网站?本文将以 active server pages 为中心,向你全面展示制作动态商业网站的步骤和技巧并通过大量的实例,让你在不断的理论和实践之中笑傲“网络”……

   上一章给大家简要介绍了建立动态网站的一些方法和制作工具,本章将以如何建立基于 iis 的 asp 动态网站为中心向大家一步一步地揭示动态商业网站设计的真正奥秘。为了使各位能够全面、细致地掌握 asp 的开发技巧,本文今后将采取连载的形式,手把手地教你如何建立属于自己 asp 动态网站。由于本文是作者根据自己的学习和实践经验并结合了一些外文资料而写成的,因此不免会有一些偏颇,希望各位见谅。如发现本文有何不当之处,请及时通知作者,谢谢。    microsoft active server pages 即我们所称的 asp ,其实是一套微软开发的服务器端脚本环境, asp 内含于 iis 3.0 和 4.0 之中 , 通过 asp 我们可以结合 html 网页、 asp 指令和 activex 元件建立动态、交互且高效的 web 服务器应用程序。有了 asp 你就不必担心客户的是否能运行你所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通 html 中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。 以下罗列了 active server pages 所独具的一些特点:
  1. 使用 vbscript 、 jscript 等简单易懂的脚本语言,结合 html 代码,即可快速地完成网站的应用程序。
  2. 无须 compile 编译,容易编写,可在服务器端直接执行。
  3. 使用普通的文本编辑器,如 windows 的记事本,即可进行编辑设计。
  4. 与浏览器无关 (browser independence), 用户端只要使用可执行 html 码的浏览器,即可浏览 active server pages 所设计的网页内容。 active server pages 所使用的脚本语言 (vbscript 、 jscript) 均在 web 服务器端执行,用户端的浏览器不需要能够执行这些脚本语言。
  5.active server pages 能与任何 activex scripting 语言相容。除了可使用 vbscript 或 jscript 语言来设计外,还通过 plug-in 的方式,使用由第三方所提供的其他脚本语言,譬如 rexx 、 perl 、 tcl 等。脚本引擎是处理脚本程序的 com(component object model) 物件。
  6.active server pages 的源程序,不会被传到客户浏览器,因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。
  7. 可使用服务器端的脚本来产生客户端的脚本。
  8. 物件导向( object-oriented )。
  9.activex server components(activex 服务器元件 ) 具有无限可扩充性。可以使用 visual basic 、 java 、 visual c++ 、 cobol 等语言来编写你所需要的 activex server component 。

   asp 的奇妙之处真是不胜枚举,下面就请各位系好安全带,我将带领大家进入 asp 的梦幻世界。

  首先,让我们来看看运行 asp 所需的环境:

  • microsoft internet information server version 3.0/4.0 on windows nt server
  • microsoft peer web services version 3.0 on windows nt workstation
  • microsoft personal web server on windows 95/98
  正如前文所述,与一般的程序不同, . 程序无须编译, asp 程序的控制部份,是使用 vbscript 、 jscript 等脚本语言来设计的,当执行 asp 程序时,脚本程序将一整套命令发送给脚本解释器 ( 即脚本引擎 ) ,由脚本解释器进行翻译并将其转换成服务器所能执行的命令。当然,同其他编程语言一样, asp 程序的编写也遵循一定的规则,如果你想使用你所喜爱的脚本语言编写 asp 程序,那么你的服务器上必须要有能解释这种脚本语言的脚本解释器。当你安装 asp 时,提供了两种脚本语言: vbsrcipt 和 jscript ,而 vbscript 则被作为系统默认的脚本语言。你也可以根据自己的喜好改变系统默认的脚本语言,关于如何改变系统默认的脚本语言请看《 在 asp 中使用脚本语言》一文。

   asp 本身并不是一种脚本语言,它只是提供了一种使镶嵌在 html 页面中的脚本程序得以运行的环境。但是,要学好 asp 又必须掌握它的语法和规则。现在就让我们开始一步一步地认识并学习 active server pages 。

   asp 程序其实是以扩展名为 .asp 的纯文本形式存在于 web 服务器上的,你可以用任何文本编辑器打开它, asp 程序中可以包含纯文本、 html 标记以及脚本命令。你只需将 .asp 程序放在 web 服务器的虚拟目录下(该目录必须要有可执行权限),就可以通过 www 的方式访问 asp 程序了。要学好 asp 程序的设计,必须掌握脚本的编写,那么究竟什么是脚本呢?其实脚本是由一系列的脚本命令所组成的,如同一般的程序,脚本可以将一个值赋给一个变量,可以命令 web 服务器发送一个值到客户浏览器,还可以将一系列命令定义成一个过程。要编写脚本,你必须要熟悉至少一门脚本语言,如 vbscript 。脚本语言是一种介乎于 html 和诸如 java 、 visual basic 、 c++ 等编程语言之间的一种特殊的语言,尽管它更接近后者,但它却不具有编程语言复杂、严谨的语法和规则。如前所述 asp 所提供的脚本运行环境可支持多种脚本语言,譬如: jscript 、 rexx 、 perl 等等,这无疑给 asp 程序设计者提供了广泛的发挥余地。 asp 的出现使得广大 web 设计者不必在为客户浏览器是否支持而担心,实际上就算你 在同一个 .asp 文件中使用不同的脚本语言,你都无须为此担忧,因为所有的一切都将在服务器端进行,客户浏览器得到的只是一个程序执行的结果,而你也只需在 .asp 中声明使用不同的脚本语言即可。下面是一个典型的在同一 .asp 文件中使用两种脚本语言的例子:
< html>
< body>
< table>
< % call callme %>
< /table>
< % call viewdate %>
< /body>
< /html>
< script language=vbscript runat=server>
sub callme
  response.write "< tr>< td>call< /td>< td>me< /td>< /tr>"
end sub
< /script>

< script language=jscript runat=server>
function viewdate()
{
  var x
  x = new date()
  response.write(x.tostring())
}
< /script>

  这是各位在本文中接触的第一个真正的 asp 程序,千万不要被“ < % %> ”符号搞糊涂,这其实是标准的 asp 定界符,而“ < script>< /script> ”之间的就是脚本语言。 asp 不同于脚本语言,它有自己特定的语法,所有的 asp 命令都必须包含在 < % 和 %> 之内,如: < % test="english" %> , asp 通过包含在 < % 和 %> 中的表达式将执行结果输出到客户浏览器 , 如: < % =test %> 就是将前面赋给变量 test 的值 english 发送到客户浏览器中,而当变量 test 的值为 mathematics 时 , 以下程序:
    this weekend we will test < % =test %>.

  在客户浏览器中则显示为:
    this weekend we will test mathematics. 学习 asp 最好的方法莫过于亲自动手编写,为了在最短的时间内使各位掌握 asp 的程序设计技巧,本文将采取实例分析法,通过一系列的实例让各位在实践中学习 asp 。建立一个 asp 页面,你所需的只是打开一个文本编辑器,如: notepad ,然后跟我开始动手编写第一个 asp 程序。下面我们将建立一个自动监测浏览时间并根据不同时段动态显示不同页面内容的 asp 程序,请将以下代码剪贴到你的文本编辑器中 , 并存为 test1.asp :
< html>
< body>
< font color="green">
< % if time < #12:00:00# and time >= #00:00:00# then %>
早上好,今天天气不赖啊 !
< % elseif time < #19:00:00# and time >= #12:00:00# then %>
下午好 !
< % else %>
哈喽 ! 今晚你有没有去 irc 聊天 !
< % end if %>
< /body>
< /html>

  将 test1.asp 保存在 web 服务器的虚拟目录 ( 如: aspsamp/) 下,并在浏览器中用 http 的方式进行浏览,如: http://yourcomputername/aspsamp/test1.asp ,你将会新奇地发现,你的页面真的活起来了。虽然,这只是一个非常简单的实例,而且这一功能完全可以通过 javascript 完成,但是不难发现使用 asp 要比 javascript 简洁、迅速得多,而且运用此法,你完全可以轻而易举地令你的网页在不同的时段展示不同的风格。此例中的“ time ”实际上是一个 vbscript 内置的显示系统当前时间的函数,由于系统默认的脚本语言是 vbscript ,因此当你在 asp 命令中调用该函数时,脚本引擎会自动将其转换成当前的系统时间。接下来我们将给 test1.asp 添加一点色彩,在 < body> 标识中添加“ bgcolor="< % =bgc %> ”即变为 < body bgcolor="< % =bgc %>"> ,并在 < body> 标记前添加如下语句:
< % if time < #12:00:00# and time >= #00:00:00# then
bgc="silver"
elseif time < #19:00:00# and time >= #12:00:00# then
bgc="navy"
else
bgc="red"
end if
%>

  如此一来,当用户在不同的时段访问你的页面时,他们将会看到不同的页面背景色。我们可以做的事情还有很多,譬如你想知道在凌晨至十二点之间浏览你页面的客户的姓名,并向他或她问好,那么下面的这段程序将能助你达成心愿。首先你需要在页面中设置表单,将以下 html 代码剪贴到“ < % if time <