第1章ASP概述
ASP(Active Server Page)是微软公司推出的一种用来取代CGI的技术,它是一种服务器端脚本编程环境。使用ASP可以将HTML页面、脚本命令和ActiveX组件结合起来,创建动态的、交互的Web页面。
本章学习要点:
了解什么是真正的动态网页以及常用的动态网页技术
理解ASP的工作原理
了解IIS如何处理ASP页面
了解服务器脚本
了解脚本代码对Web服务器的影响
了解如何管理IIS
能够创建虚拟目录
创建简单的ASP页面
1.1 ASP与动态网页
动态网页已经成为网页的主流。在开发动态网页时,首先要选择一种开发动态网页的技术。现在开发动态网页的技术非常多,例如,ASP、JSP、PHP、CGI等。在众多的动态网页开发技术中,ASP以其简单、易学、易用而著称,很快适应了Web技术的快速发速。
最初,所有的Web页面都是静态的,静态Web是标准的HTML文件(文件扩展名是.htm或.html,现在还可以是shtml、xml等),它可以包含文本、图像、声音、Flash动画、客户端脚本、ActiveX控件及Java小程序等。添加了诸多元素的静态网页,可以达到视觉上的“动态”,但它无法实现用户和网站服务器之间的交互。
静态Web不随带任何在服务器端运行的脚本,网页上的每一行代码都是由网页设计人员预先编写好后,是实实在在存储在Web服务器上的,在发送到客户端浏览器后不再发生任何变化。动态网页与网页上的各种动画、滚动字幕等视觉上的“动态效果”没有直接关系。这里所说的动态网页也可以是纯文字内容的,也可以是包含各种动画的内容,这些只是网页具体内容的表现形式,无论网页是否具有动态效果,采用动态网站技术生成的网页都称为动态网页。真正的动态网页体现在“交互性”,也就是动态网页能根据不同的浏览者的请求和访问时间显示不同的内容。
从浏览者的角度来看,无论是动态网页还是静态网页,都以文字和图片信息为基本内容。但从网站开发、管理、维护的角度来看这两者有很大的差别。首先,动态网页是
在静态网页的基础上,添加服务器端脚本或命令,实现与服务器的交互;其次,动态网页一般以数据库技术为基础,降低网站维护的工作量;最后,采用动态网页技术的网站可以实现更多的功能,如用户注册、登录、在线调查、网上购物、订单管理等。常用的动态网页技术主要有4种:CGI、ASP、JSP、PHP。这4种技术各有自己的优缺点。
1.CGI
CGI(Common Gateway Interface,公用网关接口)是较早用来建立动态网页的技术。当客户端向Web服务器上指定的CGI程序发出请求时,Web服务器会启动一个新的进程执行某些CGI程序,程序执行后将结果以网页的形式再发送回客户端。
CGI的优点是它可以用很多语言编写,如C、C++、VB和Perl语言。在语言的选择上有很大的灵活性。最常用的CGI开发语言为Perl。
CGI的主要缺点是维护复杂,运行效率也比较低。这主要由以下几方法原因造成:
CGI程序以独立的进程运行,当多个用户要与服务器建立连接时,服务器需要为每个用户响应创建一
个CGI程序进程。
CGI程序不是常驻内存的,因此,当频繁访问CGI程序时,会导致大量的磁盘I/O操作。
编写访问数据库的程序比较复杂。
2.PHP
PHP(Personal Home Pages)是一种服务器端的嵌入HTML的脚本语言,可以运行于多种平台。它借鉴C语言、Java语言和Perl语言的语法,同时具有自己独特的语法。
由于PHP采用Open Source方式,它的源代码公开,使得它可以不断有新东西加入,形成庞大的函数库,以实现更多的功能。PHP几乎支持现在所有的数据库。
PHP的缺点是没有像JSP和ASP那样对组件的支持,扩展性较差。
3.JSP
JSP(Java Server Pages)是基于Java的技术,用于创建可支持跨平台及跨Web服务器的动态网页。JSP与服务器端的脚本语言JavaScript不一样。JSP是在传统的静态页面中加入Java程序片段和JSP标记,构成JSP页面,然后再由服务器编译和执行。
JSP主要的优点如下:
JSP支持绝大部分平台,包括Linux系统,Apache服务器也提供了对JSP的服务,使得JSP 可以跨平台运行。
JSP支持组件技术,可以使用JavaBeans开发具有针对性的组件,然后添加到JSP中以增加其功能。
作为Java开发平台的一部分,JSP具有Java的所有优点,这包括“一次编写,处处运行”。
JSP的主要缺点是编写JSP程序时比较复杂,开发人员往往需要对Java及其相关的技术比较了解。
在线代码运行器4.ASP
ASP(Active Server Pages)是微软公司提供的开发动态网页的技术,具有开发简单、功能强大等优点,ASP使生成Web动态内容及构造功能强大的Web应用程序的工作变得十分简单。例如,要收集表单中的数据时,只需要将一些简单的指令嵌入到HTML文件中,就可以从表单中收集数据并进行分析处理。对于ASP,还可以便捷地使用ActiveX 组件来执行复杂的任务,比如连接数据库以检索和存储信息。
对于有经验的程序开发人员,如果已经掌握了一门脚本语言,如VBScript、JavaScript 或Perl,而且已
经了解使用ASP的方法。只要安装了符合ActiveX脚本标准的相应引擎,就可以在ASP页中使用任何一种脚本语言。ASP自身带有VBScript和JavaScript两种脚本引擎。从软件的技术层面看,ASP有如下的特点:
无需编译ASP脚本嵌入到HTML当中,无需编译或链接即可直接解释执行。
易于生成使用常规文本编辑器(如Windows下的记事本)即可进行ASP页面的设计。
独立于浏览器用户端只要使用可解释常规HTML代码的浏览器,即可浏览ASP所设计的主页。ASP脚本是在站点服务器端执行的,用户端的浏览器不需要支持它。因此,不需要通过
从服务器下载ASP页面。
面向对象在ASP脚本中可以方便地引用系统组件和ASP的内置组件,还能通过定制ActiveX服务器组件来扩充功能。
与任何ActiveX脚本语言兼容除了可使用VBScript和JavaScript进行设计外,还可通过Plug-in的方式,使用由第三方所提供的其他脚本语言。
源程序码不会外漏ASP脚本在服务器上执行,传到用户浏览器的只是ASP执行结果所生成的常规HTML码,这样可保证编写出来的程序代码不会外漏。
但有一点遗憾是,ASP是和平台相关的,只能运行在Window s平台上。
图1-1所示为ASP的工作原理,分为访问HTML页面和访问ASP页面两个过程。
图1-1ASP工作原理图
访问HTML页面的过程:
(1)在客户端浏览器地址栏处输入HTML文件的URL地址,通过网络发送一个网页请求。
(2)根据浏览器发送的URL到相应的Web服务器。
(3)Web服务器收到请求,通过扩展名.html或.htm判断是否为HTML文件的请求。
(4)Web服务器将对应的HTML文件从磁盘或存储器中取出并送回浏览器。
(5)HTML文件由用户的浏览器解释,结果在浏览器窗口中显示出来。
访问ASP页面的过程:
(1)当用户请求一个*.asp页面时,该请求通过网络被发送到相应的Web服务器。
(2)Web服务器响应该HTTP请求,并根据扩展名.asp识别出ASP文件。
(3)Web服务器从硬盘或内存中获取相应的ASP文件。
(4)Web服务器将ASP文件发送到脚本引擎(asp.dll)文件中。
(5)脚本引擎(asp.dll)将ASP文件从头到尾进行解释处理,并根据ASP文件中的脚本命令生成相应的HTML网页。
(6)若ASP文件中含有访问数据库的请求,就通过数据库连接组件与后台数据库相连。ASP脚本是在服务器端解释执行的,它依据访问数据库的结果集自动生成符合HTML 语言的页面,以响应用户的请
求。所有相关的工作由Web服务器负责。
1.2 ASP与IIS
IIS(Internet Information Server)是微软公司推出的Web服务器。它是当今Window NT平台上执行效率最高的Web服务器之一。IIS在商业上的应用非常广泛,功能非常丰富。而ASP是一套微软公司开发的服务器端脚本环境,ASP被内置于IIS之中,通过ASP可以结合HTML网页、ASP指令和ActiveX组件建立动态、交互且高效的Web服务器应用程序。
ASP中包含了一个名为asp.dll的DLL文件,这个DLL文件负责得到一个ASP页面(由文件扩展名.asp标识),然后对它进行分析,并调用相应的脚本引擎处理其中的脚本,脚本的执行结果与ASP页中的HTML和模板文本结合在一起。完整的页面会送到Web 服务器,从那里送往提出请求的客户端。
为了更好地理解这个过程,需要研究一下Windows XP中的应用程序映射的工作方式。对于每一个在IIS下设置好的Web站点,服务器上都有一个根目录。安装IIS时,缺省的Web站点通常是C:\Inetpub\wwwroot,除非在安装过程中改变了路径。
通过【开始】菜单中的控制面板命令开【控制面板】,在【控制面板】中打开【管理工具】|【Inter
net 信息服务】,将运行微软管理控制台,显示IIS的情况,如图1-2 所示。
用鼠标右击【默认网站】,从弹出的快捷菜单中选择【属性】,打开【默认网站属性】对话框,选择【主目录】选项卡,如图1-3所示。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。