第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技术的快速发速。
1.1.1 动态网页 最初,所有的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是和平台相关的,只能运行在Windows平台上。
1.1.2 ASP工作原理 图1-1所示为ASP的工作原理,分为访问HTML页面和访问ASP页面两个过程。
图1-1 ASP工作原理图
第1章 ASP概述
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)