动态页中服务器端的处理

动态|服务器

     前面的章节已经研究了ASP的一些内置对象。重点介绍的对象有Request、Response、Session和Application对象。ASP中另一个比较主要的对象为Server对象。本章重点介绍这个对象的背景知识和使用方法。
Server对象在服务器端脚本中通过实例和使用其他外部对象和组件,提供了一种扩展ASP页的功能的方法。事实上,许多人认为这个对象是ASP之所以能够流行的主要因素。引入Server对象的意义很大,这意味着ASP不必提供人们所需要的所有属性。它可调用其他应用程序和组件完成指定工作。
这也恰好符合了构建由独立的对象组成的应用程序的总体目标,而不是构建通常见到的那种耗尽硬盘空间的“可做每件事情”的巨型程序。不仅仅是在计算机的世界中,整个世界正在朝着组件和“即插即用”概念方面发展。如今,当汽车或电视机发生故障时,技师或工程师很可能会拔出有问题的部件并且插入一个新的部件,因此,汽车维护人员或电视机维修人员的工作也变成了面向对象的。
然而,IIS同样支持使用外部对象和与服务器环境进行交互作用的许多传统方法。这是一个特定的例外,这些方法并不是真正的ASP组成部分,但通常的确非常有用,并且通过Server对象的一些新特性已经与ASP很好地进行了集成。本章将简要地回顾这些传统方法,然后详细地介绍ASP Server对象。
本章的主要内容为:
· 传统的服务器端包含(SSI)指令的背景知识和使用方法。
· Server对象所要完成的任务,以及与SSI的比较。
· 如何使用Server对象实例、外部组件和应用程序。
· 如何使用Server对象执行封装的脚本或其他ASP页面。
· 如何使用Server对象管理在脚本中出现的错误。
· 如何使用Server对象完成与HTML或HTTP兼容的格式转换。
Server对象是ASP页中的错误处理过程的一部分,在IIS 5.0和ASP 3.0中是新的内容。本章介绍该对象是如何工作的。因为有单独的一章(第7章)专门讨论有关调试和错误处理方面的所有问题。所以本章只简要地讨论错误处理方法,并且仅限于Server对象直接涉及的过程。

4.1 动态页中服务器端的处理
就服务器端处理而言,ASP是产生动态Web网页的一种相对较新的技术。动态页意味着什么呢?先暂时不考虑客户端相关功能上的进展,也不讨论客户端脚本、Java Applet、动态HTML或ActiveX控件等内容。这里的动态页是专指服务器响应客户端请求产生的页面,并且根据情况每次产生的页面可能是不同的。
举个简单的例子,创建一个只包含当前日期和时间的页面。每次请求该页面时将显示一个不同的值,因为日期和时间取决于服务器的时钟,或取决于提供日期和时间的一个资源(例如一个独立的服务器或来自于互联网上一个标准时钟)。当然,实际上动态页要比这复杂得多,也许显示数据库记录的当前值或者邮件服务器上等待着的邮件消息的摘要。重要的是服务器不仅阅读一个无格式的HTML页面、或磁盘上的文本文件以及把它们发送给客户,而且,必须完成一些工作来创建该页面。

Internet服务器应用编程接口
第1章介绍了创建动态页的一些方法。传统的技术是使用与Web服务器的一个接口,它被称为Internet服务器应用编程接口(Internet Server Application Programming Interface,ISAPI)。
ISAPI可用于执行其他的应用程序,这些应用程序通过C语言风格的stdin和stdout数据流函数来读取客户端请求的值并创建Web服务器的响应。ISAPI应用程序所必须做的全部事情就是编写相应结果页面的文本和HTML,并通过stdout函数输出到Web服务器。事实上ASP DLL内部真正做的事情是更面向对象的。
IIS自开始就运行ISAPI的应用程序和脚本解释器。它提供一个特殊的解释器动态链接库,给出访问服务器的请求和响应的另一种方法,尽管受到一定的限制。它通过服务器端包含指令实现,之所以这样说,是因为它们是在服务器上执行的,并且结果包含在传送给客户端的响应中。这个特性在IIS中是通过一个名为ssinc.dll的动态链接库实现的。缺省情况下,IIS把文件扩展名为.shtml、.shtm或.stm的任意页面都映射到这个动态链接库。打开默认Web站点的Properties对话框,在Application Setting中单击Configuration按钮,可以看到这种映射,如图4-1所示:

这样,带有这些被映射的文件扩展名的页面将被传送给ssinc.dll进行处理。因此,执行页面中所有的服务器端包含语句,结果(如有的话)插入到服务器的响应中,即插入到客户端接收到的页面中。
因为这些文件是映射到ssinc.dll文件而不是映射到ASP动态链接库(asp.dll)的,所以在这些页面中的所有ASP代码将被忽略并且按照原有状态传送给客户端,客户端将能够看到这些脚本。然而,在ASP 3.0版本中有一个避免这种情况的方法,稍后在讨论Server对象的Execute和Transfer方法时,研究这个方法。

时间: 2024-11-05 14:41:54

动态页中服务器端的处理的相关文章

ASP设计动态页中服务器端的处理

动态|服务器|设计|服务器     就服务器端处理而言,ASP是产生动态Web网页的一种相对较新的技术.动态页意味着什么呢?先暂时不考虑客户端相关功能上的进展,也不讨论客户端脚本.Java Applet.动态HTML或ActiveX控件等内容.这里的动态页是专指服务器响应客户端请求产生的页面,并且根据情况每次产生的页面可能是不同的. 举个简单的例子,创建一个只包含当前日期和时间的页面.每次请求该页面时将显示一个不同的值,因为日期和时间取决于服务器的时钟,或取决于提供日期和时间的一个资源(例如一个

html-内容页中动态添加tabpanel 调用下面js函数没反应

问题描述 内容页中动态添加tabpanel 调用下面js函数没反应 <script type="text/javascript"> function addTab() { var tabs = $find("TabContainer1"); var tabPanel = tabs.TabPanel; tabPanel.add ( { title: "web1", closable: true, html: "Login.as

请教一个在aspx页的 服务器端控件 的 属性 中使用嵌入代码的问题(&amp;amp;lt;%= %&amp;amp;gt;,&amp;amp;lt;%# %&amp;amp;gt;)

问题描述 最近遇到了一个在aspx页的服务器端控件的属性中使用嵌入代码的问题,请大家看看比如一个链接控件:在NavigateUrl属性中绑定数据,并添加字符串<asp:HyperLinkID="StartMeeting"runat="server"Target="_blank"NavigateUrl='<%#"PagesLecturer/lecture.aspx?HandoutId="+Eval("Han

在Dreamweaver中指定哪里处理动态页

     在 Dreamweaver  中指定可在哪里处理动态页 在 Dreamweaver 中定义远程文件夹后,指定可在其中处理动态页的文件夹.Dreamweaver 使用此文件夹生成动态内容并在您工作时连接到数据库. 通常,您指定在 Web 服务器上创建的根文件夹,因为该服务器可能还运行可以处理动态页的应用程序服务器. 注意:根文件夹可以是本地的也可以是远程的,取决于您的 Web 服务器正在哪里运行. 若要指定 Dreamweaver 可在哪里处理动态页,请执行以下操作: 如果"站点定义&q

利用“页中页”快速更新主页妙法

日常更新是每位站长的必修课之一.随着栏目逐渐增多更新量也越来越大,常规手段因为工作量巨大及容易出错,已经不能满足需要.我们在寻求更为高效快捷的方法--思路是通过在页面中嵌入外部程序或文件链接实现"页中页"的功能,只要更改"页中页"中插入的内容即可实现网页动态更新.实现这个效果的方法有很多.复杂一些的方法可以用利用编程嵌入js文件或制做ASP动态页面.如果不想编程的话,我们可以使用Iframe标记或SSI(服务器端嵌入)十分方便的达到快速更新主页的目的. Iframe

静态页中利用AJAX.NET实现无刷新页面

ajax|静态|刷新|无刷新|页面 一. 导言 我们知道,ASP.net应用程序事实是在服务器上运行的,用户的请求要不断地送往远程的服务器,服务器执行完本地的程序后把重新装载页面再发送客户端.所以就出现了不断刷新的问题,页面不断闪烁.用户不厌其烦,运行效率也大大4降低,服务器的负荷加重.事实,客户端的请求在某一时刻只是通过向 Web 服务器提交新的请求来检索对用户输入所做的响应.这种情况下,开发人员可以使用 JavaScript 在客户端上加载所有响应,从而提供更好的用户体验.遗憾的是,在很多情

ASP实例:动态网页中常用的6个ASP程序

程序|动态|网页  1. 下面的代码演示了如何在服务端获取来自客户端浏览器中某一个图片的x,y坐标,注意input控件的类型是image类型. <form><Input Name="ImageMap" Type="Image" Src="http://www.webjx.com/htmldata/2007-06-14/ImageMap.jpg" Alt="Click Anywhere"></for

动态网页中常用的6个ASP程序

 1. 下面的代码演示了如何在服务端获取来自客户端浏览器中某一个图片的x,y坐标,注意input控件的类型是image类型. <form><Input Name="ImageMap" Type="Image" Src="http://edu.cnzz.cn/NewsInfo/ImageMap.jpg" Alt="Click Anywhere"></form> <%ImageMap.x

利用js读取动态网站从服务器端返回的数据

 这篇文章主要介绍了利用js读取动态网站从服务器端返回的数据,需要的朋友可以参考下 在html中利用js读取动态网站从服务器端返回的数据进行显示    1.js.html 页面    需要引入 执行jquery的js文件  复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  <HTML>  <HEAD>  <TITLE> New Docume