3.3.2  ASP简介

 

随着Web技术的发展和电子商务时代的到来,人们不再满足于建立各种静态地发布信息的网站,更多的时候需要能与用户进行交互,并能提供后台数据库的管理和控制等服务的动态网站。为此,ASP应运而生。
    ASP
Active Server Pages的缩写,即“活动服务器页面”。ASP文件是以.asp为扩展名的,它的特殊之处在于所有可以在HTML文件中使用的标记语言多可以用于ASP文件中,而且ASP文件通过标记把 VB Script Java Script脚本语言的程序嵌入文档中,当服务器遇到这对标志时,便将其视为程序来进行解释执行,然后将执行的结果传送到客户机上供用户浏览,并且用户无法看见ASP的源文件,因此ASP也被称为服务器端脚本文件。
   
对于浏览器来说,ASPHTML几乎是没有区别的,仅仅是后缀为.asp.htm的区别,当我们在客户端提出ASP的申请后,服务器将之间的内容解释成HTML语言并传送到客户端的浏览器上,我们的浏览器接受的只是HTML格式的文件,因此它适用于任何浏览器,不管是IE还是Netscape

要学习ASP,首先要具备一些HTMLVBScript(Java Script)的一些基础知识。因为ASP的默认脚本语言是VBScript,所以,希望您对VBScript有一些基本的了解。也许您学过VB,但是VBVBScript是有所区别的。VBScript可以说是VB的一个子集,其语法与VB基本上是相同的。

 
    1
ASP的运行环境

 

建立ASP运行环境十分简单,只要把IISInternet Information Server)安装到Windows NTWindows 2000服务器上或是把PWSPersonal web Server)安装到NT workstation/Windows 98上。一旦安装成功,我们的机器就是一个ASPWeb数据库的运行平台。

IIS安装完毕后,会自动生成C:inetPubwwwroot,以后将程序存放在该文件夹下,就可以访问了。例如对于文件C:inetPubwwwroot1.asp,访问方法如下:http://localhost/1.asphttp://127.0.0.1/1.asp

 

2ASP的的执行过程

 

(1)在客户端浏览器的地址栏输入.asp文件的地址后,浏览器就将这个URL请求发给服务器;

(2) IISPWS服务器收到请求并根据扩展名.ASP识别出ASP文件;

(3) ASP程序中的服务器端脚本开始运行;

(4) ASP程序连续的执行这个请求文件中的所有语句,然后生成一个HTML文件;

(5) HTML文件被送回客户端浏览器;

(6) 客户端浏览器解释执行HTML文件并将结果显示在客户端浏览器上。

结果是100%的纯HTML代码发送到客户端,所以我们在客户端看到的代码还是HTML,并不是ASP的源代码。这样做,就可以很少地考虑IENetscape 之间的区别了,而且我们也不怕别人看到我们的源代码!314 ASP的的执行过程示意图。

 

314    ASP的的执行过程

 

3ASP的语法简介

 

ASP并不是一个script语言,而是提供一个可以集成script语言(VBscript Jscript)HTML主页的环境。一个ASP的页面是一个增加了一些特殊代码的HTML文件,HTML标记使用“<...>”HTML程序码包含起来,以与常规的文本区分开来;而ASP使用“<%...%>”ASPscript程序码包含起来,默认情况下,主脚本语言是 VBScript。下面我们来看一个简单的ASP程序。


   
【例316】用ASP程序显示现在的日期时间

 

1ASP

<html>
<head>

<title>ASP程序显示现在的日期时间</title>

</head>

<body>

现在是:

<%=now%>
</body>
</html>

VBScript 函数 Now 返回当前的日期和时间。Web 服务器处理该页时,会使用当前的日期和时间替换 <%= Now %> 并且将该页返回到浏览器:

 

315    ASP显示当前日期时间

 

 

让我们再看一个例子。在用户端浏览器,浏览执行的结果如下,显示五个重复的句子,字体越来越大。2.asp文件的ASP源代码如下:

 
   
【例317ASP程序循环显示文字

 

2ASP

<html>
<head>

<title> ASP实例</title>

</head>

<body>

<%for i=1 to 5 %>
<font size=<%=i%>
color=#0000ff>ASP
技术
</font><br>
<%next%>
</body>
</html>

 

316    ASP循环显示文字


    Active Server Pages
的源代码,不会传到用户的浏览器,可以保护你写的源程序不会外漏。因此,在用户端观看到的是常规的HTML码,你的站点服务器会自动将Active Server pages的程序代码,解释为标准的HTML格式的主页内容,如下:

2ASP

<html>

<head>

<title>ASP实例</title>

</head>

<body>

<font size=1 color=#0000ff>ASP技术

</font><br>

<font size=2 color=#0000ff>ASP技术

</font><br>

<font size=3 color=#0000ff>ASP技术

</font><br>

<font size=4 color=#0000ff>ASP技术

</font><br>

<font size=5 color=#0000ff>ASP技术

</font><br>

</body>

</html>

 

3ASP的内置对象

ASP提供五个内置的对象”(object),你可以直接调用:

Request:取得用户信息。
Response:传送信息给用户。
Server:提供访问服务器的方法(methods)和属性(properties)的功能。
Applicatin:一个应用程序,可以在多个主页之间保留和使用一些共同的信息。
Session:一个用户,可以在多个主页之间保留和使用一些共同的信息。

下面简单介绍一下这五个对象的使用。

1Response对象

Response对象可以封装传送给用户端浏览器的信息。下面介绍Response对象中常用的方法和属性。
   
Response.write方法 

Response.write方法主要是用来向浏览器输出一个字符串。语法如下:
Response.write
字符串

例如下面这几行代码将会在浏览器中显示“欢迎光临”这个字符串:

<%
Response.write "
欢迎光临"
%>

 

另外,Response.write 方法也可以用来显示变量的值。例如,用下面的方法也可以同

样地显示欢迎光临这个字符串:
  

<%
        dim str
        str="
欢迎光临"
        response.write str
        %>

 

    Response.redirect方法

使用Response.redirect方法,可以连接到指定的URL地址。语法如下:
Response.redirect URL

如自动连接到首页:

<%
Response.Redirect "index.asp"
%>

 

又如自动连接到新浪网站:

<%
Response.Redirect "http://www.sina.com.cn"
%>

 

Response.buffer属性

Response 对象的 Buffer 属性是用来缓存页面。语法如下:

Response. Buffer=布尔值

该属性通常与 Flush Redirect 方法一起使用,系统默认值为 False,也就是不缓存页面。设置该属性时,其设置语句必须写在页面的最顶端。并且在设置之后不能修改其属性。否则,系统就会提示:HTTP头已写入,不能修改。

下面的代码用来说明 Buffer 属性的作用:
   

<%
    response.buffer="true"
    %>
    <html>
    <head><title>Buffer
属性的设置</title></head>
    <body>
    <%
    response.redirect "index.asp"
    %>
    </body>
    </html>

 

    以上这个例子的意义主要是将用户重新导至 index.asp 这个页面。如果没有缓存该页面,在执行这个文件时就会出现前面提到的错误。不过也可以将重新定位语句写在<head>之前。
   
另外,要值得提出的是,如果当页面很大时,缓存该页面会导致用户产生迷惑。因为当你缓存页面时,它要等到所有的数据都下载完成之后,才会显示页面。

Response. Flush方法

Response 对象的 Flush 方法主要是用来将缓存中的页面送出。语法如下:

Response. Flush

我们在讲述 Buffer 属性的时候提到Buffer属性在设置之后不能被修改,因此只有用Flush方法才可以送出缓存中的页面。

Response. Clear方法

Response 对象的 Clear方法用来清除缓存中的数据。语法如下:

Response. Clear

Response.End方法

Response.End方法用于结束网页的输出和服务器端脚本程序的运行。语法如下:

Response. End