s localhost-/-Microsoft Internet Explorer 文件(编辑()查看(收藏(A)工具(①帮助H ③的备③搜索收藏夹⑨媒体昌 地址①)·1链接”上网助手·暂停拦截清理修复 localhost -/ 2749-01.as 2005年8月30日 9:34 7 test. txt 本地 图9-10程序列表 单击该ASP文件,如果程序没有输入错误的话, 就可以看到输出的字符串,如图9-11所示。 ahttp://localhost/9-01.asp-mi.-iox 文件()编辑E查看(收藏 后退 地址),2-◇转到链接 函上网助手,回暂停拦截清理 你好,中国!我的祖国! 图9-11测试ASP运行环境 9.1.4ASP运行模型 浏览器从Web服务器上请求.asp文件时,ASP 脚本开始运行。然后Web服务器调用ASP引擎,ASP 引擎会全面读取请求的文件,执行所有脚本命令, 并将Web页传送给浏览器
图 9-10 程序列表 单击该 ASP 文件,如果程序没有输入错误的话, 就可以看到输出的字符串,如图 9-11 所示。 图 9-11 测试 ASP 运行环境 9.1.4 ASP 运行模型 浏览器从 Web 服务器上请求.asp 文件时,ASP 脚本开始运行。然后 Web 服务器调用 ASP 引擎,ASP 引擎会全面读取请求的文件,执行所有脚本命令, 并将 Web 页传送给浏览器
由于脚本在服务器上而不是在客户端运行,传 送到浏览器上的Web页是在Web服务器上生成的。 所以不必担心浏览器能否处理脚本,也就是说ASP 程序的运行是与浏览器无关的。由于只有脚本的结 果返回到浏览器,所以服务器端的脚本不易被复 制,用户看不到ASP页的程序源代码。 9.1.5ASP的工作原理 先看看 Web server是如何处理对静态页面的 请求的: (1)当一个用户从浏览器网址栏中输入所要浏 览的Web页面的地址并按“ Enter”键后,这个页 面请求便通过浏览器送到对应的Web服务器。 (2)服务器接到这个请求并根据.htm或 者.htm1的扩展名判断出被请求的页面是一个 HTML文件。 (3)服务器从目前内存或硬盘上读取相对的 HTM文件并将其传回给用户端浏览器。 (4)浏览器将接收到的HTM程序解释运行并将 结果提供给用户。 这是一个简化后的例子,实际情况可能会复杂 些。但这个例子基本上概括了静态页面的处理流 程
由于脚本在服务器上而不是在客户端运行,传 送到浏览器上的 Web 页是在 Web 服务器上生成的。 所以不必担心浏览器能否处理脚本,也就是说 ASP 程序的运行是与浏览器无关的。由于只有脚本的结 果返回到浏览器,所以服务器端的脚本不易被复 制,用户看不到 ASP 页的程序源代码。 9.1.5 ASP 的工作原理 先看看 Web Server 是如何处理对静态页面的 请求的: (1)当一个用户从浏览器网址栏中输入所要浏 览的 Web 页面的地址并按“Enter”键后,这个页 面请求便通过浏览器送到对应的 Web 服务器。 (2) 服务器接到这个请求并根据 . htm 或 者.html 的扩展名判断出被请求的页面是一个 HTML 文件。 (3)服务器从目前内存或硬盘上读取相对的 HTML 文件并将其传回给用户端浏览器。 (4)浏览器将接收到的 HTML 程序解释运行并将 结果提供给用户。 这是一个简化后的例子,实际情况可能会复杂 一些。但这个例子基本上概括了静态页面的处理流 程
如图9-12所示为ASP的运行过程。 ASP 浏览器 Web Server 嵌入式程序 数据库 (IS 其它 图9-12ASP运行过程 下面我们来说明ASP动态页面的处理过程 (1)用户向Web服务器传送一个.asp的页面请求。 (2)服务器在接到请求后根据其.asp的扩展名判 断出用户要浏览的是一个ASP文件。 (3)服务器从内存或硬盘上读取相对的ASP文件。 (4)这个ASP程序被传送给服务器上的asp.d11并 被编译运行,产生标准HTML文件。 (5)产生的HTML文件作为用户请求的响应传回给用 户端浏览器并由浏览器解释运行。 由此看来,Web服务器处理ASP页面比处理静 态HTML页面多了一个程序编译的步骤,而对于用 户端来说,浏览HTML页面与浏览ASP页面几乎没 有任何区别。因为传回客户端的程序都是标准的 HTML文件,因此完全没有必要担心用户的浏览器是 否支持你编写的ASP持续一ASP适合于任何浏览 器
如图 9-12 所示为 ASP 的运行过程。 图 9-12 ASP 运行过程 下面我们来说明 ASP 动态页面的处理过程: (1) 用户向 Web 服务器传送一个.asp 的页面请求。 (2) 服务器在接到请求后根据其.asp 的扩展名判 断出用户要浏览的是一个 ASP 文件。 (3) 服务器从内存或硬盘上读取相对的 ASP 文件。 (4) 这个 ASP 程序被传送给服务器上的 asp.dll 并 被编译运行,产生标准 HTML 文件。 (5)产生的 HTML 文件作为用户请求的响应传回给用 户端浏览器并由浏览器解释运行。 由此看来,Web 服务器处理 ASP 页面比处理静 态 HTML 页面多了一个程序编译的步骤,而对于用 户端来说,浏览 HTML 页面与浏览 ASP 页面几乎没 有任何区别。因为传回客户端的程序都是标准的 HTML 文件,因此完全没有必要担心用户的浏览器是 否支持你编写的 ASP 持续——ASP 适合于任何浏览 器。 浏 览 器 Web Server (IIS) ASP 嵌 入 式 程 序 数据库 其它
需要注意的是,上面ASP的处理过程也是经过 简化的,实际应用中可能还会涉及到诸如FORM消 息提交、ASP页面的动态产生、数据库操作等一系 列复杂的问题。此外,Web服务器并不是在接到每 个ASP页面请求后都会重新编译该页面,如果某 个页面再次接收到和前面完全相同的请求时,服务 器会直接去缓冲区中读取编译的结果,而不是重新 运行。 为什么ASP可以为用户提供动态的Web页面 ,其原因正是ASP程序需要首先在服务器上编译 运行,而每次运行会因为一些变量或条件的不同而 立生不同的结果,这就是不同的HTML文件。这样, 对于用户来说,这个Web页面总是在不断变化。 9.1.6ASP页的创建 ASP文件是以.asp为扩展名的文本文件,这 个文件可以是文本、HML代码和ASP脚本命令的任 意组合。 创建.asp文件非常容易。如果要在HTML文件 中添加脚本,只需将该文件的扩展名.htm或htm1 替换为.asp就可以了。要使.asp文件可用于Web 用户,可以将这个新文件保存在Web站点上的目录 中。使用浏览器察看该文件时,可以看到ASP处理
需要注意的是,上面 ASP 的处理过程也是经过 简化的,实际应用中可能还会涉及到诸如 FORM 消 息提交、ASP 页面的动态产生、数据库操作等一系 列复杂的问题。此外,Web 服务器并不是在接到每 一个 ASP 页面请求后都会重新编译该页面,如果某 个页面再次接收到和前面完全相同的请求时,服务 器会直接去缓冲区中读取编译的结果,而不是重新 运行。 为什么 ASP 可以为用户提供动态的 Web 页面 了,其原因正是 ASP 程序需要首先在服务器上编译 运行,而每次运行会因为一些变量或条件的不同而 产生不同的结果,这就是不同的 HTML 文件。这样, 对于用户来说,这个 Web 页面总是在不断变化。 9.1.6 ASP 页的创建 ASP 文件是以.asp 为扩展名的文本文件,这 个文件可以是文本、HTML 代码和 ASP 脚本命令的任 意组合。 创建.asp 文件非常容易。如果要在 HTML 文件 中添加脚本,只需将该文件的扩展名.htm 或.html 替换为.asp 就可以了。要使.asp 文件可用于 Web 用户,可以将这个新文件保存在 Web 站点上的目录 中。使用浏览器察看该文件时,可以看到 ASP 处理
并返回了HTML页面。现在我们就使用在HTML文件 中添加脚本的方法创建一个.asp文件。 脚本是一系列的命令和指令,它可以指示Web 服务器执行操作,可以在变量中存储用户名,在返 回到浏览器的页面中显示用户名或将用户名存储 在数据库中等等。脚本命令通过定界符与文本区别 开来。ASP使用定界符<%和%>括入脚本命令。用 户可以在定界符中括入任何命令,只要这些命令对 正在使用的脚本语言有效。 下面的这个例子展示了包含脚本命令的一个 简单的HTML页。 例9.2在一个HTML页上显示该页被访问的时 间,文件名为9-02.asp <htmI> <body This page was last refreshed on %=now % </body> </htm1> VBScript函数NoW返回当前的日期和时间 Web服务器处理该页时,会使用当前的日期和时间 替换<%-Now%并且将该页返回到浏览器:
并返回了 HTML 页面。现在我们就使用在 HTML 文件 中添加脚本的方法创建一个.asp 文件。 脚本是一系列的命令和指令,它可以指示 Web 服务器执行操作,可以在变量中存储用户名,在返 回到浏览器的页面中显示用户名或将用户名存储 在数据库中等等。脚本命令通过定界符与文本区别 开来。ASP 使用定界符<%和%>括入脚本命令。用 户可以在定界符中括入任何命令,只要这些命令对 正在使用的脚本语言有效。 下面的这个例子展示了包含脚本命令的一个 简单的 HTML 页。 例 9.2 在一个 HTML 页上显示该页被访问的时 间,文件名为 9-02.asp。 <html> <body> This paqe was last refreshed on <%=now %> </body> </html> VBScript 函数 Now 返回当前的日期和时间。 Web 服务器处理该页时,会使用当前的日期和时间 替换<%=Now%>并且将该页返回到浏览器: