繁体中文
设为首页
加入收藏
当前位置:ASP技术首页 >> ASP基础 >> 也不贴上,用ASP开发基于Windows NT Server和IIS的Web应用

也不贴上,用ASP开发基于Windows NT Server和IIS的Web应用

2006-07-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:用ASP开发基于Windows NT Server和IIS的Web应用   国防科工委指挥技术学院 韩正清 钱明 摘要: 本文比较了CGI ISAPI与ASP在结构和性能方面的差异,并介绍了用ASP开发 WEB 应用的一般过程。 关键词: ASP CGI IS...

用ASP开发基于Windows NT Server和IIS的Web应用

 

国防科工委指挥技术学院 韩正清 钱明

摘要: 本文比较了CGI ISAPI与ASP在结构和性能方面的差异,并介绍了用ASP开发

WEB 应用的一般过程。

关键词: ASP CGI ISAPI IIS

一、前言

Internet/Intranet和WEB技术的出现和发展,为信息的交换和共享提供了快捷有效

的方法,但Internet/Intranet上提供的信息多以静态网页为主,对于一个WEB应用

开发者来说,最关心的莫过于如何增强网页的动态性和交互性了。Active Server

Pages是微软开发的基于Windows NT Server和IIS的服务器端脚本运行环境,脚本

在Web服务器中运行,而浏览器并不处理脚本,它所面对的仅仅是一个完全符合HTML

格式的网页,这为更多的、不同类型的浏览器访问WEB服务器提供可能。

二、ASP的体系结构

通用网关接口CGI和Microsoft Information Server应用程序接口ISAPI是开发交互

式的WEB应用常用的两种接口方式,CGI是基于WEB服务器与数据库之间的联系的服务

器端进程,它可以完成对数据库的底层操作,客户通过GET/POST向WEB服务器提出服

务请求,服务器端的守护进程通过标准输入Stdin和环境变量将参数传送给指定的

CGI程序,执行结果将以HTML格式返回给客户。对于大多数Internet应用程序,CGI

为开发应用提供了一个很好的平台,但CGI在性能方面却有两个我们不可回避的缺

陷:

(1)一个CGI程序不能为多个客户共享,对于新的请求必须启动新的 进程,见

图.1 随着客户请求的增加,并行的进程也将越多,这对系统资源来说是一种极大的

浪费,同时也加重了服务器的负担,降低了性能。

(2 )不提供永久性的上下文信息。比如:用户需要查询一个大型数据库, 结果可

能是上千行的数据,如果用户想每次只显示10行的数据,但CGI在输出10行数据后就

停止执行,要再显示下10行的数据必须再执行一次CGI程序,这种方式显然效率不

高。

ISAPI有比CGI更好的性能,因为ISAPI应用以动态链接库形式存在,在其启动时被加

入内存、并且和WEB服务器进程处于同一个系统空间,见图.2,占用系统资源较少。

效率虽然提高了,但也带来了更大的风险,ISAPI进程和服务器进程处于同一系统进

程空间,因此,一个违规操作就有可能导致WEB服务器的崩溃。另外无论是CGI程序

还是ISAPI程序基本上是独立于HTML之外的,完全用另一种语言开发,工作量大,与

HTML结合得不够紧密。

ASP是基于Microsoft Windows NT 4.0和Microsoft Internet Information Server

3.0 (IIS3.0)的开放式脚本开发环境,它很好地把HTML和脚本开发融合在一起,

提高了编程的灵活性,降低了开发难度。ASP中的脚本在WEB服务器端运行,而不是

传统的在客户浏览器中运行,这一措施使客户的浏览器无须担心服务器端的网页使

用何种脚本,ASP都会生成一个符合HTML标准的网页送回客户端,ASP在性能方面的

优势体现在以下几点:

(1) 完全与HTML融合在一起;

(2) 创建简单,不需要编译和链接,脚本可以在ASP环境下直接运行;

(3) 面向对象,功能可以由Activex服务器构件扩展;

(4) 由于脚本在服务器端执行,因此它几乎可以支持任何一种浏览器。

ASP在性能和效率方面优于CGI、ISAPI,这主要源于它先进的体系结构,见图.3 ASP

直接建立于WEB服务器中,并且是作为WEB服务器的一个服务运行,支持多用户,多

线程。HTTP协议是一个无状态的协议,WEB服务器不能记忆客户浏览器过去曾发送过

的请求信息,客户的每次请求都是独立的,彼此之间没有联系,因而服务器的许多

时间都花费在处理请求上,服务效率受到了影响。ASP拥有强有力的会话管理机制,

它可以实现各请求之间的信息共享,提高了效率。ASP在安全性方面也作了细心的考

虑,包括:设定虚拟目录访问权限、用户身份检测、隐含脚本等措施。ASP支持多种

脚本,比较常用的有VbScript和JScript。

三、开发ASP应用

(1)系统要求:

在安装ASP之前,系统必须符合以下三个要求之一:

· Windows NT Server 4.0 +Service Pack 3 +IIS 3.0

· Windows NT WorkStation 4.0 +Peer WEB Server 3.0

· Windows 95 Personal WEB Server 1.0 a

(2)ASP应用程序的组成

一个ASP文件以 .ASP作为其扩展名,代替先前的.HTML或.HTM,.ASP文件中包括:文

本、HTML标签和脚本命令。但一个ASP应用程序不仅仅只有一个.ASP文件,它还包括

Global.asa文件、.inc文件以及其他一些资源文件。VbScript是ASP缺省的脚本语

言,VbScript中除了消息框(MsgBox)和输入框(InputBox)不可在ASP中使用外其

他脚本都可以在ASP环境下直接运行,另外,ASP还提供了五个内建对象,为客户访

问各种资源提供了极大的方便。这五个对象是:

ASP功能的扩展主要依赖于构件(Component)的支持,构件可以用VB,JAVA,和MFC

等工具开发。ASP已经为客户提供了五个构件,通过建立这些构件的实例,用户可利

用构件的特殊功能。这五个构件是:

· 数据库访问构件(Data Access Component)

· 广告翻转构件(Ad Rotator Component)

· 内容连接构件(Content Linking Component)

· 文件访问构件(File Access Component)

· 浏览器性能构件(Brower CapabilityComponent)

(3)应用实例

下面以电信局为客户提供电话纪录查询为例,介绍ASP访问ODBC数据库的一个WEB应

用。完成这一WEB应用只要包括以下两个部分:(1)建立WEB服务器端的.ASP脚本,

实现客户查询网页。(2)建立WEB服务器端的.ASP脚本,返回查询结果。数据库采

用Access数据库 ,DSN=phone,Table=phone_record,phone_record表中包括七项内

容:主叫号码、呼叫时间、被叫号码、被叫地点、通话时长、费率和话费。

查询网页源代码:

用户信息查询

计费系统用户信息查询


请选择查询的项目:

等于



查询结果网页源代码:

用户信息查询

用户信息查询

<%section1=request.form("section") '取查询参数

content1=request.form("content")

%>

<%set Conn=Server.CreateObject("ADODB.Connection") '建立数据库访问对象

Conn.Open "phone" '打开数据库

SQl="select * from phone_record where " & section1 &"='"& content1 &"'"

Set RS=Conn.Execute(SQL) '执行查询

%>

查询时间:<%=now%>

<%FOR i=0 TO RS.Fields.Count-1%>

'填写表头

<%NEXT%>

<%Do While Not Rs.Eof%>

<%FOR i=0 TO RS.Fields.Count-1%>

'填写数据

<%NEXT%>

<%

RS.MoveNext

Loop

RS.Close

Conn.Close

%>

<%=RS(i).Name%>
<%=RS(i)%>



四、 结束语

WEB技术的出现和发展给当今世界信息产业的发展注入了强大的活力,但目前,WEB

的发展还受到各种主客观因素的影响,使WEB的发展并不象我们想象得那么顺利。

如:网络通讯效率不高,网络安全性问题,网上信息的泛滥等。在客观物理条件有

限的情况下,要提高信息在WEB中传递的效率,就得从提高WEB服务器的效率上想办

法。本文介绍的ASP技术正是适应了这一要求,同时它也代表了这一领域的发展趋

势。

参考文献

1. Brian Farrar 《Special Editor Using Activex》Que Cop. 1997,7

2.Microsoft Active Server Pages Release Note Microsoft .. 1997,1

 

责任编辑:admin
相关文章