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
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
案例
本框架是类似hexo的前端框架,同时支持后端ssr技术,即服务端加载技术,示例页面: https://www.timeshike.com 本博客支持静态部署,以及服务端动态渲染,基于next.js框架。 已支持生成sitemap和rss订阅,做好了SEO优化。 所有文章内容可以用markdown书写,支持配图和代码块复制。 支持搜索文章,纯前端实现,速度快。 基于React,高度自定义,欢迎大家基于玉龙博客框架进行二次开发。
1.商城类项目,目前公司其中一个项目 2.通过微信登录,可在线支付、下单,有完整的购物流程 3.后端使用多种不同技术实现,例如golang的gin框架,php的thinkphp框架。 4.前端使用uniapp实现。
1. 项目前端基于由本人维护semi-design-vue组件库 2. 项目后端使用rust语言开,设计框架actix-web、juniper、diesel 3. 前后端可根据需要,更换其他后端框架或者前端框架
1. 适用vue3的组件库,设计样式为抖音semi-design 2. 使用typescript、vite、vitest单元测试、changeset发包工具 3. 组件包含 基础 Divider 分割线 Grid 栅格 Icon 图标 Layout 布局 Space 间距 Typography 版式 输入类 AutoComplete 自动完成 Cascader 级联选择 Button 按钮 Checkbox 复选框 DatePicker 日期选择器 Form 表单 Input 输入框 InputNumber 数字输入框 Radio 单选框 Rating 评分 Select 选择器 Slider
专为医院护士站开发的系统,可以查看当前病区所有床位的患者等信息,也可以为护士交班进行服务,也可以提醒床位的患者进行哪些的操作。产品使用UWP+WebApi开发,软件加入了大量高性能的动画,以及大量炫酷的UI。软件开发全部由我一个人完成。
当前共4337个项目

评论