ASP

开源公司:微软公司

作品详情

中文名
动态服务器页面
展开
英文缩写
ASP
展开
推出时间
1996年
展开
外文名
Active Server Pages
展开
开发公司
微软公司
展开
软件类型

1发展历程

在Internet风行的早期,浏览器中显示的网页仅是静态的图文组合而已,浏览者可以在网页上阅读信息,但无法进一步地发表意见、查询信息或进行在线购物等商务活动。为此,人们提出了动态网页或交互网页的概念和解决方案。所谓“动态网页”,是指客户端浏览器和Web服务器端可以互动,也就是服务器端可以实时处理浏览器端的请求(Request),然后再将处理的结果作为对浏览器请求的响应(Response)传送给浏览器。

由于Web程序开发十分复杂,以至于要制作一个简单的动态页面也需要编写大量的C代码才能完成。于是Microsoft公司于1996年推出一种Web应用开发技术ASP,用于取代对Web服务器进行可编程扩展的CGI标准。

ASP 1.0作为IIS(Internet Information Server,Internet信息服务器)的附属产品免费发送,不久就在Windows平台上广泛使用。ASP与ADO的结合使开发者很容易地在一个数据库中建立和打开一个记录集。

1998年,微软公司又发布了ASP 2.0。ASP 1,0和ASP 2,0主要区别在于外部组件。有了ASP 2.0和IIS 4.0,就可以建立ASP应用了。

在微软公司开发的Windows 2000操作系统中就开始带上了IIS 5.0及ASP 3.0。虽然Windows已经发展到比较高的版本,但是开发领域中依然百分之百采用Windows 2000 Server。Windows 2000包括三个不同的版本:Windows 2000 Professional,Windows 2000 Server和Windows 2000 Advanced Server。按照默认设置安装Windows 2000 Server,安装时不用作任何改动,这样就可配置好ASP的运行环境。

2主要功能

硬件环境

ASP程序的运行对硬件环境没有特别的要求,通常具备能够满足Windows操作系统运行要求的硬件设备即可。基本内存容量要求为64MB,建议内存容量为128MB或更多。此外,应该有1G以上的硬盘空间用来安装所需的软件。

软件环境

在软件环境方面,因为ASP是Microsoft公司推出的,只有在Microsoft Windows操作系统及其配套的web服务器软件的支持下才能运行。MicrosoR公司的各种wiIldows操作系统都可以作为ASP的运行平台。其中,在wiIIdows 98操作系统下运行的Personal w曲Server,一般简称为PWS,而hltcmeIll:folma缸on SeⅣer,则简称为IIS。

3语言特点

1、用VBScript、JavaScript等简单容易的脚本语言。结合HTML代码,即可快速完成网站的应用程序,实现动态网页技术。

2、ASP文件是包含在HTML代码所组成的文件中的,易于修改和测试,无须编译或链接就可以解释执行。

3、ASP所使用的脚本语言均在Web服务器端执行,服务器上的ASP解释程序会在服务器端执行ASP程序,并将结果以HTML格式传送到客户端浏览器上。

4、ASP提供了一些内置对象,使用这些对象可以使服务器端脚本功能更强。

5、ASP可以使用服务器端ActiveX组件来执行各种各样的任务,例如存取数据库、发现和那个Email或访问文件系统等。

6、由于服务器是将ASP程序执行的结果以HTML格式传回客户端浏览器,因此使用者不会看到ASP所编写的原始程序代码,可防止ASP程序代码被窃取。

4工作原理

ASP中的脚本程序是在服务器端运行的(而不是在客户端运行),传送到浏览器上的web页是在web服务器上生成的。因此,客户端浏览器并没有处理这些脚本,web服务器已经完成了这些脚本的处理,并将标准的HTML页面传输到浏览器。ASP解释器读取并执行所有在<%和%>标签之间的脚本代码,并生成内容。由于只有脚本的执行结果返回到浏览器,因此,用户看不到正在浏览的网页的脚本命令,而只能看到脚本的执行结果。

5语言基础

ASP可以使用两种脚本语言:VBScript和Jscript(所谓的JScript语言就是微软版本的JavaScript语言)。

ASP包含内置对象,最常用的是五大对象、一个集合和一个文件。五大对象分别是Response,Request,Session,Application和Server;一个集合是Cookies;一个文件是GIobal.asa。

ASP提供了内置对象和大量可安装的ActiveX组件。这些对象以及组件都可以用来拓展ASP的功能。在面向对象编程中,对象就是指由当作完整实体的操作和数据组成的变量。在对象中客户可通过由一组方法或相关函数来访问对象的数据。

对象一般有方法、属性、集合和事件。其中,方法决定了可以用这个对象作什么事情;属性可以读取对象状态或者设置对象状态;集合是由很多不同的与对象有关系的键和值的配对组成的。

Response对象

在ASP中,使用Response对象来根据客户端不同的请求输出不同的返回结果。

使用Response.Write方法将输出传送至浏览器端

Write方法是Response对象中最常用的方法之一,它可以把变量的值发送到用户端的当前页面。Write方法的功能粮强大,几乎可以输出所有的对象和数据。

在Write方法中可以嵌入任何HTML标记,只要该标记是合法的,如下例将输出绿色的汉字和一条水平线:

将HTML标记与ASP中的变量恰当的结合使用,可使程序更简洁易读,如下例是根据Request对象获取的数据来创建表格的一行信息:

使用Response.Redirect方法从目前网页导向至其他网页

在普通网页中,可以使用超链接的方式来引导访问者跳转到另一个页面,但这个过程须要访问者单击一个超链接才可以进行。Response对象的Redirect方法则可以自动完成页面间的跳转,而访问者几乎不会感觉出来。

使用Response.End方法结束程序的执行

End方法使服务器停止当前脚本的处理并返回当前结果。如果Response对象的Buffer属性设为True,则End方法立即把缓存中的内容发送到客户端并清除缓存。

因此,若想取消向客户端的所有输出,可以先用Clear方法清除缓存,再用End方法停止脚本的处理。

AddHeader方法用指定的值添加HTML标题。该方法常常向响应添加新的HTTP标题。它并不替代现有的同名标题。一旦标题被添加,将不能删除。其语法结构如下:

为避免命名不明确,标题变量名称中不能包含任何下划线字符(_)。由于HTTP协议要求所有的标题都必须在内容之前发送,所以必须在任何输出(例如由HTML或write方法生成的输出)发送到客户端之前在脚本中调用AddHeader。但当Buffer属性被设置为True时例外。若输出被缓冲,则可以在脚本中的任何地方调用AddHeader方法,只要它在Flush之前执行即可。

Response.CIear方法

Clear方法用于清除缓冲区的所有HTML输出,但它只删除响应正文而不删除响应标题。在服务器上的程序产生错误时,可用clear方法来处理错误情况。

Response对象

Response对象的属性主要包括Buffer、ContentType等。

Buffer属性

在ASP程序中,可以为页面在服务器端设置一个缓存。缓存区是一个存储区,它可以在其释放数据之前容纳该数据一段时间,缓冲区的优点在于它的行为可以进行控制。

设置缓存后,服务器端可减少与客户端连接的次数而提高整体的响应速度,并可在满足某些条件(如脚本处理不正确或用户没有适当的安全证书)时撤销已经处理的结果,而不会出现响应完成一部分就停止的状况。

缓存功能的打开和关闭是通过Response对象的Buffer属性来完成的。若将Buffer属性设为False,则关闭缓存功能,Web服务器在处理页面时会随时返回HTML和脚本结果;若将Buffer属性设为True,则打开缓存功能,Web服务器在处理页面时会将结果暂时存放到缓存中,当全部脚本处理完后,或者遇到End或Flush方法时,才将缓存中的内容发送到浏览器。

Buffer属性的更改必须放在HTML或脚本输出之前。这是因为在任何内容发送到浏览器后,Buffer属性值就不能再更改,否则会引起错误。

ContentType属性

ContentType属性指定响应的HTTP内容类型。其语法结构如下:

ContentType字符串通常被格式化为类型/子类型,其中类型是常规内容范畴,子类为特定内容类型。如果未指定ContentType,默认为text/HTML。

web服务器将某个文件发送到浏览器时,它会将文件的MIME类型告诉浏览器,浏览器会根据文件的MIME类型和扩展名来确定是自己本身就能显示,还是必须调用其他应用程序。

Expires属性

EXpires属性指定了在浏览器上缓冲存储的页距过期还有多少时间。如果用户在某个页过期之前又回到此页,就会显示缓冲区中的版本。其语法结构如下:

时间参数设置网页距过期还有多少分钟。如果将此参数设置为O,可使缓存的页立即过期,这样客户端每次都将从服务器上得到最新的页面。

6技术应用

电子商务

ASP 可以通过Windows提供的COM/DCOM来获取Active X和结构支持。

ASP使用ODBC(Open Database Connectivity,开放数据库互连)技术访问数据库。在具体应用中,一般通过ADO(ActiveX Data Objects,ActiveX数据对象)实现对数据库的操作。使用ADO的connection、command和recordset对象可以完成与数据库连接的建立,SOL语句的执行,查询结果集合的保存、遍历和显示等工作。

7语言评价

使用ASP编写服务器端脚本,可以方便地创建复杂、实用的Web应用程序。

ASP所设计出的是动态主页,可接收用户提交的信息并作出反应,其中的数据可随实际情况而改变,无须人工对网页文件进行更新即可满足应用需要。例如:当在浏览器上填好表单并提交HTTP请求时,可以要求在站点服务器上执行一个表单所设定的应用程序,而不只是一个简单的HTML文件。该应用程序分析表单的输入数据,根据不同的数据内容将相应的执行结果(通常是数据库查寻的结果集)以HTML的格式传送给浏览器。数据库的数据可以随时变化,服务器上执行的应用程序却不必更改,客户端得到的网页信息会始终保持新鲜的魅力。

与使用Visual Basic、C++或Java等编程语言开发Web应用程序相比,ASP是更为灵活快速的创建Web应用程序的方法。除了通过添加脚本为应用程序创建HTML界面之外,还可以建立自己的COM(组件对象模型)组件,并且可将应用程序的商业逻辑封装在可重复使用的模块中,以便在脚本、其他组件或其他应用程序中调用。

8词条图册

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
案例
微信小程序,商城,采用 UNI-APP 结合U-View 开发出来的生鲜电商平台。 地址调用腾讯API 后台采用React,Antd自建后台,包含SPU,SKU等多种属性配置
1380vue小程序前端
内容: 熟练使用OA开发,合同作业空间隶属LTC,合同大师项目隶属isales,项目分为web部分和word插件部分,我和一位同事负责word插 件部分,项目有一个前端,两个测试,两个c#开发人员,三个java开发人员,一个需求分析师sa, —个项目经理 pm,公司的资源包括客户代表,其他项目组的资源,以及公共组的资源, 业绩: 高质量的完成了历史条款,文本翻译,任务分发,评审人求助的开发,以及条款标签的重构的工作
1410winformword插件
内容: 熟练使用OA开发,财经产品是微服务架构的,前端采用了turbo跨工程调用,并且用了aui组件库,基于vue开发。当时是做了一个系 统的重构升级,它把头部菜单作为一个独立的前端工程,整个系统分为多个子系统,给多个项目组管理,但是保持 一致的风格,不同项目组之间也有共用服务。我在深蓝队、预算预测、冲锋队都呆过,后来被调去协助两个新项目 的搭建,其中一个项目表单特别的多,我完成了第一版,整个页面的绘制,另外一个项目是鲁班的架构,我完成了 很多卡片的绘制,包括很多很复杂的echart图和svg图。 业绩: 1、与另外两个前端和许多后端一起配合完成查询处理页面编码工作 2、和很多同事一起负责了c
1080vue财经
内容: 1、数字警务室是阿里用于公安抓捕罪犯,人口管理,疫情防控的系统。 2、数字警务室是采用react技术,umi, ahooks ,等前端技术的微前端系统,应用的菜单和登录功能抽离出来封 装成独立仓库,内容部分按模块分为破案机器人,人口管理,技战法系统,模型工厂,网关,几大类,另外,地图 部分和卡片等公共部分封装到一个独立仓库。 业绩: 我主要负责的视算研判、模型工厂、模型工厂通用版,人口管理的研发工作。
1390react警务
这个牛犊买卖的应用程序提供了广泛的功能,旨在帮助牛犊养殖者轻松管理他们的业务。用户可以通过该应用程序购买各种饲料以满足牛犊的营养需求,同时也可以在需要时购买保险,确保在意外情况下获得保障。除此之外,用户还可以利用该应用程序进行融资,以支持他们的养殖项目,购买必要的设备,提高生产效率。 该应用程序还为用户提供了领取补贴的功能,帮助他们获得额外的资金支持。此外,用户可以通过应用程序与专业兽医进行问诊,获取关于牛犊健康和护理的建议。比价功能使用户能够在不同供应商之间比较价格,以确保他们获得最具竞争力的价格。 除了移动端的应用程序,该应用程序还提供了一个功能强大的PC端管理页面,用户可以通过该页面
当前共4923个项目

评论