本章将以如何
构建基于
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 程序
毋庸编译, 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 < #12:00:00# And Time >= #00:00:00# Then %>
”之后:
欢送
光临我的主页,请填写以下信息 : < FORM METHOD="POST"
ACTION="test1.asp">
< P>
First Name: < INPUT NAME="fname" SIZE="48">
< P>
Last Name: < 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") %> 。
< % elseif 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
动态网站给你带来的前所未有的轻、爽
感想 !