新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > Web开发 > Asp教程 > 正文:也不贴上,用ASP开发基于Windows NT Server和IIS的Web应用

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

新客网 XKER.COM 2003-07-11 来源: 收藏本文
用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表中包括七项内
容:主叫号码、呼叫时间、被叫号码、被叫地点、通话时长、费率和话费。



查询网页源代码:
<HTML>
<HEAD><TITLE>用户信息查询</TITLE></HEAD>
<BODY BGCOLOR=#FFFFFF>
<CENTER><H3>计费系统用户信息查询</H3></CENTER>
<HR>
<FORM METHOD=POST ACTION="query.asp">
<P>请选择查询的项目:
<SELECT NAME="section">
<OPTION SELECTED>主叫号码
<OPTION>被叫号码
<OPTION>被叫地点
</SELECT>
<P>等于
<INPUT TYPE=TEXT NAME=content><BR>
<P><INPUT TYPE=SUBMIT VALUE="Submit Form "><INPUT TYPE=RESET VALUE="Reset Form">
</FORM>
<BR>
</BODY>
</HTML>



查询结果网页源代码:
<HTML>
<HEAD><TITLE>用户信息查询</TITLE></HEAD>
<BODY BGCOLOR=#FFFFFF>
<CENTER><HI>用户信息查询</H1><CENTER><BR>
<%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) '执行查询
%>
<p>查询时间:<%=now%>
<TABLE BORDER=2>
<FONT COLOR=#213554><TR>
<%FOR i=0 TO RS.Fields.Count-1%>
<TD><B><%=RS(i).Name%></B></TD> '填写表头
<%NEXT%>
</TR></FONT>
<%Do While Not Rs.Eof%>
<TR>
<%FOR i=0 TO RS.Fields.Count-1%>
<TD VALIGN=TOP><%=RS(i)%></TD> '填写数据
<%NEXT%>
</TR>
<%
RS.MoveNext
Loop
RS.Close
Conn.Close
%>
</TABLE>
<BR>
<BR>
</TR>
</BODY>
</HTML>



四、 结束语
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


 
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐