首页 | 免费域名 | 个人服务器 | 一流信息监控拦截系统 | 虚拟主机知识库 | ASP 空间 | ASP技术大全 | 下载中心 | 客户服务中心
  7i24 > ASP技术大全 > ASP快速入门(书生版) >
    7i24 .Com  
  动态网站设计十八般武艺——ASP篇(一)

7i24.Com不停为您服务
动态网站设计十八般武艺——ASP篇(一)
作者:天骄创作室 书生

教学纲要

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

上一章给大家简要介绍了建立动态网站的一些方法和制作工具,本章将以如何建立基于IIS的ASP动态网站为中心向大家一步一步地揭示动态商业网站设计的真正奥秘。为了使各位能够全面、细致地掌握ASP的开发技巧,本文今后将采取连载的形式,手把手地教你如何建立属于自己ASP动态网站。由于本文是作者根据自己的学习和实践经验并结合了一些外文资料而写成的,因此不免会有一些偏颇,希望各位见谅。如发现本文有何不当之处,请及时通知作者,谢谢。

  Microsoft Active Server Pages即我们所称的ASP,其实是一套微软开发的服务器端脚本环境,ASP内含于IIS3.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.ActiveXServerComponents(ActiveX服务器元件)具有无限可扩充性。可以使用VisualBasic、Java、VisualC++、COBOL等编程语言来编写你所需要的ActiveX Server Component。

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

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

Microsoft Internet Information Server version3.0/4.0 on WindowsNT Server
Microsoft Peer WebServices Version3.0 on WindowsNT Workstation
Microsoft Personal Web Server on Windows95/98
  正如前文所述,与一般的程序不同,.asp程序无须编译,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%>
早上好,今天天气不赖啊!
<%Else If 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"
Else If Time<#19:00:00# And Time>=#12:00:00# Then
bgc="navy"
Else
bgc="red"
End If
%>

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

欢迎光临我的主页,请填写以下信息:<FORM METHOD="POST" ACTION="test1.asp">
<P>
FirstName:<INPUT NAME="fname" SIZE="48">
<P>
LastName:<INPUT NAME="lname" SIZE="48">
<P>
Title:<INPUT NAME="title" TYPE=RADIO VALUE="mr">Mr.
<INPUT NAME="title" TYPE=RADIO VALUE="ms">Ms.
<P><INPUT TYPE=SUBMIT><INPUT TYPE=RESET>
</FORM>
  然后在以上HTML代码后面添加如下ASP命令:

<%
title=request.form("title")
if title="mr" then
%>
欢迎您Mr.<%=request.form("fname")%>。
<%else if title="ms" then%>
欢迎您Ms.<%=request.form("fname")%>。
<%else%>
<B><font color=blue>欢迎您<%=request.form("fname")&""&request.form("lname")%>。</font></B>
<%end if%>


  保存文件test1.asp,并在浏览器中以HTTP方式进行浏览,如果此时的系统时间在凌晨0:00:00和中午12:00:00之间的话,浏览器将显示如下画面:



  这其实是一个在Internet和Intranet上常见的功能,即当用户在浏览器端填写完表单后,通过调用一个通用网关程序将用户数据传送到服务器,由服务器进行处理后再将结果返还给客户浏览器。过去为了实现这样的功能必须编写一个独立于HTML之外的CGI程序,并通过HTML进行调用,撇开CGI编写复杂等缺点不谈,CGI的执行效率也是一个大问题,每一个表单(form)均须执行一个可执行文档,当多人同时上线使用时,多个文档同时执行,将大大降低WEB服务器的执行速度,如今ASP提供了与HTML完全相融的编程环境,显然要比使用CGI便捷得多。

  在本期的最后让我们再来看看ASP的循环功能,譬如你希望当客户在晚间7:00至凌晨0:00:00浏览你的页面时,在页面中央显示6个笑脸表示问候,那么你只需要将以下命令剪贴到“Good Evening!”后面即可:<%for i=1 to 6%>
<p><center><img src="smile.gif" width="32" height="32" alt="晚上好"></p>
<%next%>

  这是一个最最基本的循环语句,它将一个笑脸图片重复调用六次并显示在页面上。当然此例的效果完全可以用HTML做到,但是不难发现使用ASP大大缩短了代码的重复编写,使得程序具有良好的可阅读性。另外,当你制作一个诸如根据用户投票来给所评测的对象评定星级的评测站点时,使用此法,你就完全不需要为每一个星级制作一幅图片。如果一个对象被评为4星级,那只需将一颗星的图片循环显示4次,以此类推即可。当然,当工作量较小的时候你不会感觉到ASP的好处,然而一旦数据量巨增,你将会深刻的体会到ASP动态网站给你带来的前所未有的轻、爽感受!



  2002年1月3日  阅读 37656 次  发送此页给朋友  来源:    版权争议  删除

相关文章:   近期热点:

上一篇: ASP教程:第一篇 Are you ready
下一篇: 动态网站设计十八般武艺——ASP篇(二)
返回上一层...
搜索:

(C)2004-2022 7i24.Com 保留所有权利