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
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
案例
1. 方向 本方案面向县/区级中医院临床科室及收费药房窗口管理系统; 核心解决 : 传统医院信息系统与中医特色脱节:处方模板、煎药流程、医保中医诊断编码靠人工补录,易错漏; 数据孤岛:门诊、住院、药房、财务系统各跑各的,月底对账耗时 3–5 天; 医护操作重复:挂号、开方、划价、发药需 4 次录入同一患者信息,高峰期排队 >15 min; 监管上报困难:中医病案首页、药监局饮片追溯报表需手工导出再加工。 2. 差异优势 数据整合:一体化微服务架构(挂号→门诊→住院→药库→财务→医保实时共享) , 对账时间从 3 天缩至 30 min 医护体验 :
基于国内外通用大模型OpenAI、千问、DeepSeek,结合几何造型引擎,搭建基于AI的工业设计: 1、以“交付结果”代替“给予工具”为目标; 2、基于自然语言作为优先交互方式; 3、创建可修改、可编辑的BRep三维图形,而非拟合式三角面的固定三维特征; 4、交付工业级图形应用; 5、当前以包装设计为应用点进行展示。
基于 nextjs 搭建的网站导航工具,可自行私有部署。 技术栈包括: nextjs 全栈方案 neon 数据库 drizzle 数据库 ORM resend 邮件发送 vercel 部署平台 快速开始并部署: git clone https://github.com/Darcrandex/web-marks.git mv .env.example .env.local 登录 vercel 平台,新建项目;关联你的项目;登录 neon 平台,创建数据库;将对应的密钥填写到 .env.local; pnpm i pnpm dev http://localhost:3000 预览本地项目
190React书签管理
软件面向知识库建设、基于大模型的助手。 项目功能包含前端和后端两个系统, 功能包含用户管理功能,包含用户注册、oauth2认证, 基于大模型知识库Rag,包含文件上传、大模型语义提取、向量存储 基于openai大模型的多轮对话。 技术选型: 1、前端是基于node.js、next-app、shadcn组件 2、后端是Python语言,基于openai大模型接口,提供fastapi服务能力
公司主要业务是电信业务代理:手机号和宽带销售。 因为涉及多员工协作售前、售后的服务、所以不能使用传统的工作表登记。 软件主要功能为: 1:一处登记,处处可见(不同员工的客户端信息同步,采用了广播机制) 2:集号码搜索、销售状态同步至运营商数据库 3:以号码为对象多个部门针对某一号码协作沟通(工单处理、类似于微信) 4:开卡状态查询
190号码管理
当前共4882个项目

评论