标题标题  显示论坛会员列表名单  搜索论坛搜索  HelpHelp
  注册注册  登入登入
ASP教学区
 DoReMe : ASP教学区
主题 话题: 第十三章 构建Active Server Pages 回复发表新主题
作者
贴子内容 << Prev Topic下一个主题 >>
bibi
Senior Member
Senior Member


加入: 2005/1月/07
Online Status: Offline
回复: 103
Posted: 2005/1月/07 9:30上午 | IP记录 引用 bibi

这一章主要是将Active Server Pages具体介绍给您,这也是本书的主旨,您将了解到什么是Active Server Pages,您可以用它作些什么以及它是如何工作的等等,同时这章还会详尽的介绍怎样将Active Server Pages scripts集成到一个HTML页中,并包含可以预览的Active Server Pages对像和元素;最后你会学到怎样配置你的Web Server以便使用Active Server Pages并能处理可能遇到的问题。

Active Server Pages 是什么?

Active Server Pages实际上是将标准的HTML文件拓展了一些附加特征,Active Server Pages象标准的HTML文件一样包含HTML对象并且在一个浏览器上解释并显示。任何你可以放在HTML中的东西--Jav a applets,闪烁字符串,客户端脚本,客户端ActiveX控件等等你都可以放在Active Server Page中。因此,一个Active Server Page有如下四个重要特征来使之具备很强的通用性。

‧ 一个Active Server Pages可以包括服务端脚本,在本书第二部分,您可以学会如何利用VBScript和Jscript来创建Active Server Pages.利用Active Server Page中的服务端脚本,你可以创建动态内容的网页,举一个最简单的例子,你可以让网页在一天的不同时间显示不同内容。

‧ 一个Active Server Page提供了一些built-in对象。利用这些Active Server Page中提供的built-in对象,你可以使你的脚本更加强大;这些对像会允许您从浏览器中接受和发送信息。例如,利用re quest对象,你可以将用户在HTML form中的信息接受到并在一个script中来响应它。

‧ 一个Active Server Page 可以用另外的元素来扩展。Active Server Pages本身就是来源于相当数量的标准服务端ActiveX元素,这些组件允许你做诸如依据浏览器能力进行不同显示以及在浏览 器内包含计数器的工作。

标准的ActiveX组件非常有用,不过,你并不会被此局限,你可以轻松创建属于你自己的附加ActiveX组件。这意味著你可 以不加限制的拓展你的ActiveX组件。(参看28章,「拓展Active Server Pages」可以了解更多)

‧ Active Server Page可以和诸如SQL Server这样的数据库进行挂接,在本书的第三部分,你已经学会了怎样使用SQL语言,利用一些特别的对象集合,Active Data Object(ADO),你就可以在你的Active Server Page 中使用SQL语言。

再次重申,这是Active Server Page一个非常强大的功能所在,在线商务以及在线沙龙等各种非常高级的,动态更新的站点都需要数据库的支持,而且需要随数据库 内容的更新而自动更新,这样,你就可以利用Active Server Pages自己建立很多类似的高级站点。

以上四个特性对Active Server Page进行了限定,Active Server Page就是由Server端脚本、对像以及组件拓展过的标准主页。利用它,你的主页就可以包含动态内容。

本书中对Active Server Page的讲解前提是你使用的是微软的Internet Information Server(IIS)作为网站Server软件,当然,你也可以利用许多其它的Server,例如,针对于win95,win 97,win98的Personal Web Server(PWS)以及针对于NT的Peer Web Server。甚至微软家族之外的NetScape Enterprise and FastTrack Server(这可不是浏览器),Lotus Domino and Go Servers, O』Relly』s Website,等等,当然这些需要你使用的是Chili!ASP,可以参看 www.chilisoft.net

Back to Top 查看 bibi's 资料 搜索其它贴子 bibi 访问 bibi's
 
bibi
Senior Member
Senior Member


加入: 2005/1月/07
Online Status: Offline
回复: 103
Posted: 2005/1月/07 9:30上午 | IP记录 引用 bibi

Active Server Pages可以做什么?

你在利用Active Server Pages工作时几乎没有什么限制,只要网站存在并正常运行,以下是简单的应用示例列表

■在你的网站主页顶部添加一个滚动显示的广告栏

■从HTML的form中接受信息并且存到数据库中

■根据不同访问者显示不同内容,创建个性化主页

■在你的主页中添加点击计数器

■根据用户浏览器的版本,类型和能力显示不同档次的内容。

■连接多个主页使之容易网际导航

■跟踪用户网站上的活动信息并且存入日志文件

以上只是简单介绍,看完下面章节,你会对你所能够利用Active Server Page作的事情有更加全面深入的了解。你会真正学会如何使用Active Serve Page.

Back to Top 查看 bibi's 资料 搜索其它贴子 bibi 访问 bibi's
 
bibi
Senior Member
Senior Member


加入: 2005/1月/07
Online Status: Offline
回复: 103
Posted: 2005/1月/07 9:31上午 | IP记录 引用 bibi

Active Server Pages是怎样工作的?

理解Active Server Pages怎样工作的最好方法将支持它的Web server和不支持的进行对比。Microsoft利用Internet Information Server(IIS)3.0版本和Active Server Pages结合在一起。在IIS3.0中引入了Active Server Pages就能够使站点从仅仅的静态内容变成动态内容。这是什么意思呢?

在前面对Active Server Pages的介绍中,IIS的主要功能是支持静态HTML主页,当用户向一个使用IIS的服务器提出请求后,服务器将会从自己的 硬盘或者内存中提出一个静态主页发送到用户的浏览器上,IIS的主要作用就是作为用户浏览器到服务器硬盘的一些文件的一个有效的 接口。

注意

早期的IIS版本包括一个称做Internet Database Connector(IDC)的工具,IDC可以从数据库中接受和存储数据,你仍然可以利用IDC做这种工作,但是显然Acti ve Server Pages可以做的更好。

从这个意义上,IIS和其它的Web Server没有什么区别,任何Web Server的主要作用都是支持静态HTML主页,理解其对HTML的支持过程如下步骤所列。

1.作为一个用户首先是在浏览器的地址栏中添上要访问的主页地址并回车触发这个申请。

2.浏览器将申请发送到诸如IIS的Web Server上。

3.Web Server接收这些申请并根据.cfm或.cfml的后缀名意识到这是HTML文件。

4.Web Server从当前硬盘或内存中读取正确的HTML文件然后将它送回用户浏览器。

5.cfmL文件将会被用户的浏览器解释并将结果显示在用户浏览器上。

当然,这种过程可能会更加复杂一些,(例如,Form中的内容以及查询字串的传递)。在大多数情况下,对于各种典型的Web Server来说,这种过程是按部就班的,Web Server接收文件申请并从内存或者硬盘中读取正确的文件。

Active Server Pages改变了这一切,在IIS仍然支持静HTML主页的前提下,利用Active Server Pages可以根据用户要求在Web Server上建立新的主页。

为了便于理解它和支持静态主页的区别,我们将它分成以下步骤:

1.一个用户在浏览器的网址栏中添入Active Server Pages文件名称,并回车触发这个Active Server Pages的申请。

2.浏览器将这个Active Server Pages的求发送给IIS

3.Web Server接收这个申请要求并由于其.asp的后缀意识到这是个Active Server Pages要求。

4.Web Server从硬盘或者内存中接收正确的ASP文件。

5.Web Server将这个文件发送到一个叫做ASP.DLL特定文件中。

6.Active Server Pages文件将会从头至尾被执行并根据命令要求生成响应的静态主页。

7.cfmL主页将被送回浏览器

8.cfmL主页将会被用户浏览器解释执行并显示在用户浏览器上

注意

为了清晰的说明问题,以上步骤已经进行了很大的简化,一个Active Server Pages并不一定每一次都重新编译解释,如果再次接受以前的那个请求而且没有任何变化,Active Server Pages会从Cache中提出结果而不是再次运行。

对于Web Server来说,Active Server Pages于HTML有著本质的区别,HTML是不经任何处理送回给浏览器,而Active Server Pages的每一个命令都首先被用来生成HTML文件,因此、Active Server Pages允许生成动态内容。

另一方面,对于浏览器来说,Active Server Pages和HTML几乎是没有区别的,仅仅是后缀为.asp和.cfm的区别,当我们在客户端提出Active Server Pages的申请后,我们的浏览器接受的是HTML格式的文件。因此它适用于任何浏览器。

Back to Top 查看 bibi's 资料 搜索其它贴子 bibi 访问 bibi's
 
bibi
Senior Member
Senior Member


加入: 2005/1月/07
Online Status: Offline
回复: 103
Posted: 2005/1月/07 9:31上午 | IP记录 引用 bibi

在Active Server Pages中结合Scripts脚本

Active Server Pages主要就是Scipts脚本环境,在你学习本书第二章的时候,你就可以将VBScript和JScript结合到你的A ctive Server Pages中去,你可以同样在Active Server Pages中很好的利用其它的脚本语言。任何一个可以和Active X Script标准兼容的脚本语言引擎都可以用于Active Server Pages。

注意

如果你熟悉Perl,你就会很高兴发现Perl和Active Server Pages是兼容的。如果希望更多了解,请看http://www.hip.activeware.com或访问http://www.aspsite.com

在Vbscript和Jscript的章节中(相应第8和第9章),你会学到怎样将Script脚本结合到Active Server Pages的具体实现。这部分主要是详细解释以及介绍一些可选择的方法来进行Scripts和Active Server Pages的结合。

最简单的结合Scripts的方法是利用<%和%>,任何在这个符号中包容的都被认为是一个Scripts脚本。下 面是个例子:

<html>

<head><title>ASP Script 示例</title></head>

<body>

这是个

<% for I=1 to 10 %>

非常,

<% next %>

非常长的句子。

</body>

</html>

该段Active Server Pages执行后在浏览器上显示为:

这是个非常,非常,非常,非常,非常,非常,非常,非常,非常,非常,非常长的句子。

这段脚本利用VBscript的For...Next循环生成了11份『非常』的拷贝。

Active Server Pages默认为您主要使用的是VBscript,也就是说,在使用<%和%>时不需要作任何事情来说明使用何种语 言。不过,如果需要限定的话,您可以有三种方式。

首先,你可以在Internet Information Service管理器来进行限定使得所有Active Server Pages的默认语言为你所限定的。这样做的步骤如下:

1.从开始菜单IIS(Internet Information Service)的程序组中执行网络服务管理器

2.右键你的网站名称(如果你没有改变默认设置,名称将是Default Web Site)

3.选择属性项

4点击主目录表。

5点击设置按钮(要做这个,你必须有一个存在的Application。如果没有的话,点Creat来创建一个。)

6.在Application Configuration的对话框中,点App Option表。

7.在默认的ASP语言文本框中,输入你所要的主要脚本语言,例如Vbscript或者Jscript。

当这些作完后,<%和%>中包容的程序就默认为你所指定的那种语言。

你还可以在特定的主页中指定主要脚本语言,这样做,你要将这种语言名称直接放在你的Active Server Page文件最靠上的一行,如下:

<%@ LANGUAGE=Jscript %>

<html>

<head><title>ASP Script示例</title></head>

<body>

这是个

<% for(i=1;i<11;i++){ %>

非常,

<%}%>

非常长的句子。

</body>

</html>

这种直接放在首行的脚本,指示出这个文件中所有脚本都将利用JSCRIPT生成,当你利用这种方式指定脚本语言时,请注意在@和 保留字LANGUAGE之间空出一个空格。另外,非常重要的是这句指示要在任何一句命令之前(否则就要报错了)。

图13.1 使用Internet Service Manager来确定缺省脚本语言

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你的第三种在Active Server Pages包含Scripts脚本的选择是利用微软的HTML<Script>拓展对象,例如下面:

<html>

<head><title>ASP Script示例</title></head>

<body>

<script language=「Jscript」 runat=「server」>

function sayhello()

{ response.write(「hello! 迈至科」)

}

</script>

<% sayhello() %>

</body>

</html>

这里,<script>对像包含了一个Jscript函数。<script>的Language属性限 定了使用哪里一种语言。RUNAT属性是指示出该脚本应当在Server端还是在Client(浏览器上)端实现。

这个函数在第一行中被命名为sayhello()。在第二段脚本中,利用<%和%>标记的对象是真正调用该函数的位 置。Active Server Pages会在显示器上显示出字符串

「hello! 迈至科」

注意

response.write()语句是将一段文本显示在显示器上。您会在后面的内容中了解更多。

如果你创建了一个客户端的VBscript或者JScript脚本,你就应当对<SCRIPT>更加熟悉了。微软的 <Script>拓展可以被用来指定是在服务端还是在客户段执行。如果你忽略了RUNAT=server这个限定, 你的script脚本将被认为是客户端的。这种场合下,Server端将忽略这个script并由浏览器尝试执行〔然而会很悲惨 的以失败告终,因为这不是一个合法的客户端script脚本〕。

为什么你会直接使用<Script>对像而不是<%和%>来限定scipt脚本语言?通常,你不会使用 <script>对象。不过,这两种限定一个Script脚本的方法还是有很明显的区别的。

首先,使用<script>包含的直接脚本会立即执行,无论在Active Server Pages的任何位置。例如下面这个例子。

<html>

<head><title>ASP Script示例</title></head>

<body>

This is the first sentence

<script LANGUAGE=「JScript」 RUNAT=「server」>

response.write(「This is the second sentence.」)

</script>

</body>

</html>

看这个例子后,您也许会认为,显示器上会首先显示This is the first sentence,然后是This is the second sentence,但是,这个Active Server Pages显示在浏览器上是相反的顺序。(或者什么都不显示,那是因为生成了非法的HTML语法)

为什么会这样?因为主页里面无论什么放在<script>里面都会首先执行。如果你使用浏览器的View Source,你会看见你的主页被Active Server Pages解释为如下:

This is the second sentence.<html>

<head><title>ASP Script示例</title></head>

<body>

This is the first sentence.

</body>

</html>

<script>对象的行为有两种含义。首先,你能够在Active Server Pages的任何位置上的<script>对像中放置你的script脚本。其次,<script>对 象,如果用于更多的目的来说,将会用包含函数和子程序的方法来进行限制。任何不包含函数或者子程序的脚本都将被立即执行显示为一 个非法的HTML主页。

<script>对像使用<%和%>限制有一个明显的优点。使用<script>对象,你 可以在一个单独的主页中混合使用多种script脚本。看下面这个例子:

<%@ LANGUAGE=「VBScript」 %>

<html>

<head><title>ASP Script示例</title></head>

<body>

<script LANGUAGE=「JScript」 RUNAT=「server」>

function sayhello()

{

response.write(「hello! 迈至科」)

}

</script>

<% for I=1 to 10

sayhello()

next

%>

</body>

</html>

这个script脚本在一列中显示了十次」hello! 迈至科」,但是请注意这是怎么实现的,这个包含在<%和%>中的脚本是用Visual Basic写成的,不过,这个脚本调用的是JScript函数,这个JScript函数是在<Script>对像中 定义的。当你希望在你的主脚本用一种语言而又需要调用另一种语言的函数,你可以使用这种方法。这样可以弥补一些语言在常用函数和 方法上的缺乏。

作为总结,在一个Active Server Pages上指定脚本语言有三种方法。

‧ 利用 Internet Information Server来指定作为你所有脚本中的默认语言。

‧ 在每一个单独的Active Server Pages中的最上面一行利用<%@ LANGUAGE=「script语言」>来指定针对这个单独Active Server Page所使用的脚本语言。

‧ 利用Active Server Pages的<script>拓展来在一个Active Server Page中分别在相应位置指定多种脚本语言。

在这部分结束以前,将讨论最终极的Active Server Pages指令,利用Active Server Pages输出指令,你可以直接显示表达式值。以下是个例子:

<html>

<head><title>ASP示例</title></head>

<body>

At the Tone,the time will be: <%=time%>

</body>

</html>

你可以使用<%和%>标志来输出变量、方法(method,针对于对象的方法)以及函数的值,在上面的例子中,VB Script的时间函数值会输出到显示器上。

你可以用下面的方法完成同样的事,见下面例子:

<html>

<head><title>ASP示例</title></head>

<body>

At the Tone,the time will be:<%response.write(TIME)%>

</body>

</html>

在这个例子中,VBScript的Time函数值将被Active Server Pages的Response对像输出出来,response对象的write()方法是将表达式中的值显示出来。(下一章中, 你会学到更多有关对像和方法的知识)。

那么补充说明的是对于Active Server Pages内部<%=和%>也就是代表了Response.write()方法,因此无论你用哪里一种方法其实是一样 的,没有任何区别。

注意

当你使用<%=和%>来进行输出时,如果此时显示错误信息,将相应显示为response.write()语句,你 也许会因为你的程序中没有这句话而困惑,其实这正说明二者实际上在Active Server Pages中是完全一致的。

虽然如此,在有些场合下某一种输出方式显然更方便一些,例如,当你需要在一个script脚本中输出表达式值,通常respon se.write()更加容易处理,如果只是在HTML的某一位置输出表达式值,那么<%=和%>则更容易使用。如 下例:

<HTML>

<head><title>ASP示例</title></head>

<body>

<%

For i=1 to 5

myvar=myvar&「非常, 」

response.write(i&「:」&myvar&「<br>」)

next

%>

<hr>

这是一个<%=myvar%>长的句子。

</body>

</html>

 

 

 

 

 

 

 

 

 

在这个例子中,response.write()在script脚本的循环中显示越来越长的子段。而<%=和%>指 令则是直接在主页的具体位置显示出变量myvar的值。

图13.2为显示结果。

Back to Top 查看 bibi's 资料 搜索其它贴子 bibi 访问 bibi's
 
bibi
Senior Member
Senior Member


加入: 2005/1月/07
Online Status: Offline
回复: 103
Posted: 2005/1月/07 9:32上午 | IP记录 引用 bibi

在Active Server Pages中结合对像和组件

Active Server Pages包括了大量内嵌对像和可安装的ActiveX组件。这些对像以及组件都可以用来拓展你的Active Server Pages的功能,但是确切的什么是对像和组件呢?

一个对象是典型的具有方法、属性或者集合的东西,其中对像方法决定了我们可以用这个对象作什么事情。(还记得response对 象的write()方法吧),对象的属性

可以读取出来了解对像状态或者设置对像状态。对象的集合是由很多不同的和对像有关系的键和值的配对对组成的。

举一个日常的例子,书籍「迈至科ASP教程」是一个对象,这个对象包含的方法决定了你可以怎样处理它,比如说,去读它,送人作为 礼物,当作敲门的工具,甚至撕得粉碎,只要你愿意。对象的属性,这本书的页数,作者什么的。最后,对象的集合,包含了许多键和值 的配对:每一页的页码就是键,那么值就是相对应于页码的这页的内容。

一个ActiveX组件和Active Server Pages内嵌对像十分类似,不过,当你使用Active Server Pages时,二者之间还是存在著明显的差异,首先,一个组件可能包含不只一个对象,其次,在你使用组件之前,将要明确的创建一 个实例。

VBScript和JScript都包括一些对象,例如,无论利用VBScript和JScript,你都可以进入处理Dict ionary对象。Dictionary并不是Active Server Page的正式部分。但是你可以利用Active Server Pages脚本来建立它,这是一个利用VBScript的例子:

<html>

<%

Set Mydict=Server.CreateObject(「Scripting.Dictionary」)

MyDict.add 「电子商务」, 「http://207.153.210.86/intro

MyDict.add 「BBS」, 「http://www.magicw3.com/bbs

MyDict.add 「广告联盟」, 「http://www.magicw3.com/banner

%>

我的字典中有<%=MyDict.count%>个记录。

<br>

其中第一个记录是<%=MyDict.item(「电子商务」)%>。

</html>

当这个脚本执行的时候,Dictionary对象的一个实例将会生成,然后,三个键以及相对应的值添加到Dictionary对 像中,最后,显示出这个Dictionary对象的两个属性(显示结果如图13.3)。

例子中的第一个脚本语句是利用Active Server Pages建立一个新的ActiveX对像实例的常用方法。Server.CreatObject是建立一个对像实例。在这个例 子中,变量MyDict指向一个Dictionary对像实例。

当一个对像实例建立之后,就可以调用它的方法,例如,利用Dictionary对象的add方法就可以在这个Dictionar y中添加新的记录。例如用add方法配对添加键「电子商务」和相应的值「 http://207.153.210.86/intro」。

图13.3 Dictonary对象的一个示例


 

 

 

 

 

 

 

 

 

 

 

 

当一个对象的实例建立之后,你还可以进入处理它的属性,在这里面Count属性用来统计Dictionary中的记录数量。it em属性用来根据相应的键来读取对应的值。

最后,你处理完这个对象的实例后,还可以消除它。当然,在服务器进行完这个Active Server Pages的进程后,会自动消除这个对象实例,因此,你完全可以不用去亲自处理这种过程。不过,如果需要的话,你依然可以利用将 特定的变量,例如现在的Mydict指向一个新的值或者就是nothing来消除这个实例。例如这样

<% set MyDict=Nothing %>

尽管Dictionary对象并不是Active Server Pages正式部分,这个例子还是能够表明如何使用Active Server Pages对象,你可以调用Server.CreatObject()方法来产生一个对象的实例。在你产生了新的对象后,你可以 调用其方法以及读取其属性。

Active Server Pages对像

你已经接触了一个内嵌对象的例子-Response对象。你已经可以利用Response对像将表达式输出到浏览器上。不过,R esponse对像还有相当数量的其它重要属性、集合以及方法。

下面的章节中将会详细介绍每一种内嵌对象的使用。下面是对每一种内嵌的快速浏览:

■application对像:application对像被用来存储一个应用中所有用户共享的信息。例如,你可以利用appl ication对像来在你的站点的不同用户间传递信息。

■request对像:request对象可以被用来访问所有从浏览器到服务器间的信息,你也就可以利用request对像来接 受用户在html主页的form中的信息。

■response对像:response对像用来将信息发送回给浏览器。你可以利用response对像将你的脚本语言结果输 出到浏览器上。

■server对像:server对像提供你运用许多server端的应用函数。例如,你可以利用server对像来控制你的脚 本语言在超过时限前的运行时间。你也可以利用server对像来创建其它对象的实例。

■session对像:session对像被用来存储一些普通用户其滞留期间的信息,你可以用Session对像来储存一个用户 在访问你的站点的滞留时间。

■ObjectContext对像:ObjectContext对象可以被用来控制Active Server Pages的执行。这种执行过程由Microsoft Transaction Server(MTS)来进行管理。

内嵌对像不同于正常的对象。在你利用内嵌对象的脚本时,你不需要首先创建一个它的实例。在整个网站应用中内嵌对象的所有方法、集 合以及属性都是自动可访问的。

注意

在附录A中,」ASP对象及组件快速参考」,提供了所有内嵌对象的方法、属性、以及集合的列表清单。

Active Server Pages 组件

象上面所讨论的内嵌对像一样,Active Server Pages组件一样可以被用来拓展你的脚本的功能,组件与内嵌所不同的是它通常被用来去实现那些特定的任务。下面列表中显示的是 集成在Active Server Pages中的一些组件。

■Ad Rotator组件:Ad Rotator组件被用来在主页上显示广告图标。你可以利用这个组件来限定不同广告图标显示变换的频率。

■Browser Capabilities组件:Browser Capabilities组件可以根据不同浏览器的性能来显示不同的主页。例如,你可以利用显示单屏或者根据浏览器适应的分屏方 式。

■Content Linking组件:例用Content Linking组件你可以连接相当数量的主页这样你就可以更容易进行网络导航。例如,你可以利用这个组件来显示一部在线教程。

■Counters组件:Counters组件能够被用来追踪访问该站点访问者的数量,你可以利用这个组件在主页中添加点击计数 器。

■Permission Checker组件:Permission Checker组件可以被用来检验只有授权用户才能访问某些联接。你可以利用这个组件来创建管理员的维护主页。

■ActiveX Data对像:ActiveX Data对像(ADO)提供你可以从诸如SQL Server这样的数据库系统中存储数据的手段。这种对像相当重要,由于这个原因,这种对像将会在所有对象全部讨论完毕后单独分 出一部分进行介绍。

下面的章节介绍怎样使用这些对象,第二十八章将讨论怎样建立你自己的对象。

注意

附录A中显示出所有这些组件的方法、属性以及集合的列表。

Back to Top 查看 bibi's 资料 搜索其它贴子 bibi 访问 bibi's
 
bibi
Senior Member
Senior Member


加入: 2005/1月/07
Online Status: Offline
回复: 103
Posted: 2005/1月/07 9:32上午 | IP记录 引用 bibi

设置Active Server Pages以及常见问题

在你使用Active Server Pages之前,你应当确认Active Server Pages已经安装在你的系统中。如果你在安装Microsoft NT Server时安装的Internet Information Server,那么很可能你的系统中并没有安装Active Server Pages。Active Server Pages包含在IIS3.0或者更高版本中。如果想要下载最新版本的Active Server Pages,可以去访问微软的站点http://www.microsoft.com/iis

在安装Active Server Pages之后,你仍然需要做IIS的设置来使用Active Server Pages。你需要设置至少一个可执行的目录来执行Active Server Pages文件。按照下面步骤:

1.从『开始』菜单中的Mirosoft Internet Information Server执行Internet Service Manager。

2.在Internet Service Manager左边窗口中点开你的默认站点。(如果你没有作过改变,那么这个站点就叫做『Default Wen Site』)

3.选择你要存放并且执行ASP的目录,(或者可以理用鼠标右键创建一个新的目录映射)

4.右键目录名称后选择『属性』栏。

5.点击标记为Directory或者Virtual Directory(命名依据这个目录的性质)的表格。

6.在Permission项中,选择Script或者Execute钮(见图13.4)。

图13.4 设置目录权限

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

现在你已经创建一个可以执行Active Server Pages的目录,你应当把你所有Active Server Pages文件放在这个允许执行的目录下以便使用。如果这是个物理路径,你只需要把文件放在下面就可以了,如果是个虚拟路径,你 就必须了解它的实际路径然后把文件放在下面。你可以在Virtual Directory的表中查看它对应于硬盘的的实际路径。

警告

如果你在IIS的当前机器上使用浏览器,请注意你怎样才能在浏览器上执行Active Server Pages。当你在网络浏览器时调用Active Server Page。不能直接在open 命令中调用,用这种方式IIS以及Active Server Pages是不会执行的。你将看到Active Server Pages脚本的文本而不是它执行的结果。这肯定不是你所希望的。

你必须在浏览器的地址栏中添入IIS的IP地址或者域名或者这台装有IIS的计算机名称而不是直接输入物理路径。例如,你的计算机名 称为mymachine, 同时该网站的根目录下运行一个叫做mypage.asp的文件,那么你就需要在地址栏中键入http://mymachine/mypage.asp。这样才能正常执行。

测试你的配置

你可以用简单的建立一个Active Server Pages来执行的方式来验证你的Active Server Pages是否配置正确。如果你的浏览器能够正确的显示下面的例子,那么你的站点就是正确的。

建立这样的Active Server Pages, 你只需要利用任何一种文本编辑工具就可以了。当然也可以利用可视化编辑器如Frontpage或者Visual Interdev等,这一章节暂时不做介绍,现在你可以利用Win95和WinNT自带的Notepad(就是记事本,附件中的 那个),然后输入下面这个程序。

<HTML>

<HEAD><TITLE>ASP实例</title></head>

<body>

<%

Response.Write(「Hello 迈至科!」)

%>

</body>

</html>

将该文件存成asp后缀,这里假设为test.asp,请注意不要让记事本存成txt后缀,(如果不知道怎么处理这种情况,那么 请先去补补课再来看这本书),同时确认你存放的这个目录可以在IIS中被浏览器访问(就是用http访问而不是ftp方式)并且 在IIS中将该目录设定为可执行(前文已经介绍过了设置方法)。

现在,打开浏览器并在地址栏中按照前面介绍的方法正确调用该文件。如果这个文件在你的网站根区,可以如这种方式:http://mymachine/test.asp(假设你的网站计算机名为mymachine,该文件为test.asp。如果该文件在网站子目录下,那么应当为http://mymachine/mysubdir/test.asp (假设子目录为mysubdir),如果该文件放置在虚拟路径下(假设虚拟路径为MyVirutaldir,如果对虚拟路径你还 是不明白,请先去补补网络建站基础知识),那么调用自然是这样的: http://mymachine/MyVirtualDir/test.asp

如果一切正常,正确的字符串将被显示,浏览器上将显示结果(如图13.5)。

 

 

 

 

 

 

 

 

 

 

 

 

 

图13.5 一个Active Server Page

如果显示不正确,那么请看下面部分。

注意

Active Server Pages显示出的字串可能会有不同,这其实决定于你的浏览器当前的设置。例如,你浏览器上显示出的字串字体可能大些或者小些。

Active Server Pages常见问题

我其实很希望读者不用来看这部分。但是,如果你真的遇到了下述问题,这一部分应当对你有所帮助。下面将列出在不正当设置或执行时 可能出现的问题:

■症状:当你调用时,你的浏览器上出现无法联接Server的错误信息,对于NetScape是:

There was no response. The server could be down or is not responding.

对于Internet Explorer来说,信息为:

Internet Explorer cannot open the Interent site http://mymachine/test.asp. A connection with the server could not be established.

原因:如果你不是在广域网上调试,那么很有可能是你的Web Server已经关闭了,进入『开始』按钮的Internet Information Server组执行Internet Service Manager,然后选择你默认站点在窗口顶部选择「VCR Controls」。如果IIS没有运行,RUN按钮应当处于激活状态,点击后就可以启动服务进程。如果用其它Server,也 有相应设置开始Service,限于篇幅,无法一一介绍,相信读者在使用中可以找到相应选项。

原因:如果你在广域网上,这个问题很有可能是因为网络任务繁忙,等待一会再试,如果总不能成功,那么请通知该站点管理员。

■症状:当你尝试调用一个Active Server Page文件,你接受到的信息是:

HTTP/1.0 404 Object Not Found.

原因:你在浏览器中调用了错误的地址。那么前文已经提到了路径的设置和调用方法,当然,这里假设你已经明白了路径设置的方法(总 不能一遍又一遍的在路径设置上花费功夫,这也不是这本书的主要目的),那么很可能是由于笔误等原因导致找不到文件,这时本作者可 以提出一个小窍门,就是在调试中将该执行目录设置为可以浏览,(就是前文设置为『可执行』的同一处),那么直接在地址栏上输入路 径,然后很快可以看出问题是在路径上还是文件名上。这样便于很快找到问题所在。

原因:你的编辑工具自己又添加了一个特别的拓展名,例如,记事本在你指定的后缀后面又添加了一个.txt的后缀。

■症状:当你尝试调用一个Active Server Pages文件时,出现这个错误信息:

HTTP/1.1 403 Access Forbidden. Execute Access Denied.

原因:这个执行Active Server Pages的路径权限设置有问题,请看前面关于路径权限设置的部分。

■症状:当你的Active Server Pages调用时,出现的是文本而不是它执行的结果结果。

原因:你将这个文件错误的存成了.cfm或者.cfml后缀而不是.asp后缀。请注意ASP文件的后缀名必须只能是.asp

原因:当你调用Active Server Page, 你使用了浏览器的Open命令或者file://而不是在地址栏中用http://调用方式。

总结

这章介绍了如何使用Active Server Pages。你应当已经学会了所有将Scripts和你的Active Server Pages结合的方法。这章同时能够使你了解一下在Active Server Pages中如何包含built-in内嵌和ActiveX组件。最后,你应当学会如何将计算机设置为可正常执行Active Server Pages并且了解可能遇到的常用问题的原因和解决。

下面的章节将详细介绍怎样使用所有对象和组件,无论你希望你的网站将成为什么样,下面的章节都会对你有所助益。

Back to Top 查看 bibi's 资料 搜索其它贴子 bibi 访问 bibi's
 

如果你想回复的话你必须首先 login
如果你还没有注册的话你必须首先 注册

  回复发表新主题
显示可打印的页面 显示可打印的页面

论坛跳转
不能 张贴新论题在这个讨论版
不能 回应论题在这个讨论版
不能 删除你的发言在这个讨论版
不能 编辑你的发言在这个讨论版
不能 新增投票标题在这个讨论版
不能 在这个讨论版投票

Edit by doreme Forums version 2004
Welcome ©2001-2004 doreme Guide

This page was generated in 0.2344 seconds.

 
保养品
保养品, Skin Care
www.elady.tw
美材批发
美材, Cosmetic
www.elady.tw/beauty_org
保养品批发
名牌保养品、保养品批发
gb.perfume.com.tw/skincare
饰品批发
饰品、饰品批发
gb.perfume.com.tw/ornament