asp介绍

来源:百度文库 编辑:神马文学网 时间:2024/04/27 14:13:37
概述
ASP是Active Server Page的缩写,意为“活动服务器网页”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是.asp,现在常用于各种动态网站中。 ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或Web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的web应用程序。 与HTML相比,ASP网页具有以下特点:

(1)利用ASP可以实现突破静态网页的一些功能限制,实现动态网页技术;

(2)ASP文件是包含在HTML代码所组成的文件中的,易于修改和测试;

(3)服务器上的ASP解释程序会在服务器端制定ASP程序,并将结果以HTML格式传送到客户端浏览器上,因此使用各种浏览器都可以正常浏览ASP所产生的网页;

(4)ASP提供了一些内置对象,使用这些对象可以使服务器端脚本功能更强。例如可以从web浏览器中获取用户通过HTML表单提交的信息,并在脚本中对这些信息进行处理,然后向web浏览器发送信息;

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

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




ASP的工作原理


当在Web站点中融入ASP功能后,将发生以下事情:

1、用户向浏览器地址栏输入网址,默认页面的扩展名是.asp。

2、浏览器向服务器发出请求。

3、服务器引擎开始运行ASP程序。

4、ASP文件按照从上到下的顺序开始处理,执行脚本命令,执行HTML页面内容。

5、页面信息发送到浏览器。




ASP的运行环境


asp需要运行在PWSIIS下。PWS或IIS服务在windows98或windows2000的光盘上附带着,可以通过“添加/删除程序”中的“添加/删除windows组件”来安装。

一般asp需与access数据库或SQL Server数据库结合使用,编出功能强大的程序。

能够运行ASP的web服务器软件  

Windows2000默认安装的是IIS5.0(internet information server),而windows xp默认安装的是IIS5.1,windows 2003默认安装的IIS6.0。

PWS(personal web server)运行在windows98环境下的简单个人网页服务器。




ASP的意涵与特性
ASP( Application Service Provider,应用软体租赁服务提供者 )即是指「透过网路以租赁方式提供应用软体服务的业者」,即是指业者以应用软体为主体,透过网路一对多地传递服务,这种以服务为主的交易模式促使企业可藉由租赁的方式,以更符合成本效益的方式拥有软体的使用权,并且亦能因为业者集中式的管理而大幅降低企业维护的成本.
基本上,ASP即具有「软体服务化,服务网路化」,「资讯委外服务与网路结合」与「产品通路化,通路产品化」等三大特性,其甚至可以被视为是ISP(Internet Service Provider)与ITS(Information Technology Service)的结合.

ASP的英文是Application Service Provider,中文的标准翻译就是“应用服务提 供商”,是指为商业或者个人客户提供管理应用解决方案的公司或者企业。最近 ASP被媒体炒做十分火热,不是IT行业的人面对一堆技术名词专业术语很难弄清楚ASP的内容,本文试图用浅显的语言来为广大的读者揭开ASP神秘的面纱,对于IT行业的大热门ASP领域有一些基本的认识。  

1. ASP是什么东西?  

简单地讲,ASP就是为客户提供服务的服务商,它和会计事物所、婚姻介绍所没有什么本质方面的区别。不同的是ASP主要是通过INTERNET(国际互联网络)作为主要工作和业务工具,采用一对多的方式,向企业、公司提供标准化的应用软件以及相关的技术咨询、管理租赁的服务,ASP的概念最早是1998年由美国人提出来的。目前被全球各大IT厂商看好并被认为是可以推动网络经济发展的,有稳固基础的第三种网络商业模式。  

和传统的外包服务(Outsourcing)相比,ASP的主要区别在于:ASP是一对多的经营模式,提供的服务有兼容性和可协调性,并且ASP的收费方式一般是按月收费。
业界认为:ASP一般有这样一些“成员”:电信运营商、传统IT服务厂商、互联网络接入服务商(ISP)、独立软件供应商(ISV)、系统集成商和单纯的ASP公司。

根据流行的观点,ASP有如下五个核心内涵:  

a. ASP着重应用为中心,提供对于应用方面的访问和管理。  
b. ASP服务可以为用户提供没有在服务器、人员、系统和系统授权等前期资源投入情况下就可以在“定制”的全新应用系统环境进行访问的服务,如ISP,而这样的服务一般按月份ASP收取服务费。  
c. ASP采用集中管理的方式---ASP一般都有一个管理中心,所有的客户通过INTERNET来进行远程访问,获得技术支持和咨询服务。  
d. 一对多的服务,也就是讲,ASP提供的是标准化的产品包,产品都是最低程度的自定义或者没有实现客户定制化,对于行业用户来讲已经达到实用方便的标准。  
e. 按照合同交付,在ASP客户的眼中,ASP是一家根据客户协议内容提供相关服务,保证应用服务系统服务可以得到确实履行的机构。  

2. ASP为什么会火?

从大的方面来讲,困扰国内企业生存、发展的核心问题是管理问题。随着互联网络的普及和应用的深入,企业用户可以随时随地直接租用ASP的服务器和软件系统来进行自己的业务管理,这样做的好处在于;第一,企业可以节省大笔用于IT建设方面的资金,大幅度降低企业管理信息化的成本。第二,ASP的用户可以采用各种方式获得应用和服务,软件类服务产品完全可以通过网络在非常短的时间内组成一个完善的、高效的、先进的企业管理系统,迅速获得企业一体化的运营管理方案。  

网络经济发展突飞猛进,电子商务一日千里,网络和网站从门户到内容、从注意力到垂直性,目前逐渐转向热衷ASP也是一个主要的原因。  

笔者资料中,国内最早对ASP触电的是网友“飞鸟”,在1998年6月自发组织了研究、交流和探讨ASP技术的“飞鸟之家”,现在已经发展成为chinaasp.com,成为国内最早的ASP应用技术服务提供商网站。上海的互易网络有限公司结合国内实际情况,推出了为国内企业服务的ASP平台互易网,向企业提供以电子商务为核心的,企业内、外部网络设施和应用的远程构架和托管服务,创造虚拟企业门户(EP)直接将ASP应用到商业增殖环节中去。  

此外,ISP也全面转向ASP的怀抱,成为ISP进一步发展的产物。软件商对于ASP更是情有独钟。业界最新的消息是,中国第三电信“网通”已经制定ASP发展战略,国内最大的管理咨询公司“汉普”将把旗下八个子公司定位在企业内部资源计划管理(ERP)领域的ASP中,北京“联成互动”瞄准客户关系管理(CRM)领域的ASP,北京“数码方舟”定位在网络办公的ASP,HP正在和中国建设银行讨论共建金融领域的ASP。  

ASP正在IT经济大潮中显山露水,其发展前景不可估量。  

3. ASP的发展阶段和面临的问题  

以网络服务商、软件厂商和ISP为主力的各种IT角色,正在根据自己的优势条件出发对ASP领域进行多种方面的尝试。就目前阶段来讲,ASP提供的服务不计其数五花八门,没有标准化和量化的概念,硬件厂商向ASP的“土壤”和势力方向靠拢,软件厂商和ISP则直接参与到ASP业务的第一线。  

笔者估计,经过一段时间的试探和发展,ASP将向服务集成方面发展,产品和服务初步的标准化将很快建立起来,接着进入到市场细化和标准制定、ASP产品成熟时期,ASP的稳步增长,最终将成为IT行业商务模式的核心!  

目前在ASP发展的道路上,主要面临的问题是观念的转变方面:用租赁代替购买,服务集成代替产品经销商、服务经济代替产品经济等等。具体到实际方面来讲,安全和服务的质量是ASP和客户共同关心的头等大事,要实现ASP提出的“租赁高科技”的口号,ASP任重而道远!




ASP常用内置函数

1,日期/时间函数

这些函数包括对“年”、“月”、“日”、“时”、“分”、“秒”、“星期”等的显示。

(1)Now函数:根据计算机系统设定的日期和时间,返回当前的日期和时间值。使用方法now();

(2)Date函数:只返回当前计算机系统设定的日期值。使用方法:date();

(3)Time函数:只返回当前计算机系统设定的时间值。使用方法:time();

(4)Year函数:返回一个代表某年的整数。使用方法:year(date),其中date参数是任意的可以代表日期的参数,比如“year(date())”就表示是从“date()”得出的日期中提取其中“年”的整数。

另外,还可以这样应用:“year(#5 20,2006#)”表示提取“2006年5月20日”中“年”的整数值。关于“5 20,2006”,也可使用“5-20-2006”、“5/20/2006”等形式表现,即“某月某日”和“某年”的组合。同时注意使用“#”进行包括以表示日期值。

(5)Month函数:返回1到12之间的整数值,表示一年中某月。使用方法:month(date)。关于参数date的说明和year函数相同。但要注意日期的正确性,比如“#13-31-2006#”,根本就没有“13”月,肯定是错误的了。

(6)Day函数:返回1到31之间的整数值,表示一个月中的某天。使用方法:day(date)。关于参数date的说明和year函数相同。同样要注意日期的正确性,比如“#2-30-2006#”其中对“2”月定义的“30”日这天就是错误的。

(7)Hour函数:返回0到23之间的整数值,表示一天中的某个小时。使用方法:hour(time)。其中参数time是任意的可代表时间的表达式。比如“hour(time())”就表示是从“time()”得出的时间中提取其中“小时”的整数。同样,参数time还可以这样应用“hour(#11:45:50#)”表示从“11”时“45”分“50”秒中提取当前小时数。当然,定义的时间要符合时间的规范。

(8)Minute函数:返回0到59之间的整数值,表示一小时中的某分钟。使用方法:minute(time)。time参数的说明和hour函数相同。

(9)Second函数:返回0到59之间的整数值,表示一分钟中的某秒。使用方法:second(time)。time参数的说明和hour函数相同。

(10)Weekday函数:返回一个星期中某天的整数。使用方法:weekday(date)。关于参数date的说明和year函数相同。该函数返回值为“1”到“7”,分别代表“星期日”、“星期一”……“星期六”。比如当返回值是“4”时就表示“星期三”。

(11)WeekDayName函数:返回一个星期中具体某天的字符串。相对weekday函数而言即翻译出“星期几”,使用方法:weekdayname(weekday)。参数weekday即星期中具体某天的数值。比如“weekdayname(weekday(date()))”就表示当前是“星期几”。因为“date()”表示的是当前的时间,而“weekday(date())”就表示的是一星期中具体某天的整数。

当然weekdayname函数最终显示的字符串内容还与当前操作系统语系有关,比如中文操作系统将显示“星期一”这类的中文字符,而英文操作系统则显示为“Mon”(Monday简写)。

此外,在VBScript中还有一些关于时间间隔的计算函数:

(1)DateAdd函数:返回指定时间间隔的日期、时间。可以计算出相隔多少年、或相隔几个月、又或相隔几个小时等的新日期、时间。使用方法:dateadd(interval, number, date)。

其中参数interval表示需要添加的时间间隔单位。其是以字符串的形式表达的,比如“yyyy”表示年,“q”表示季度,“m”表示月份,“d”表示天数,“ww”表示周数,“h”表示小时数,“n”表示分钟数,“s”表示秒数。

而参数number则表示添加的时间间隔数。其是以数值的形式表达的,可以为负值。参数date则要求是日期、时间的正确格式。

比如dateadd("d",100,"2006-5-20")就表示2006年5月20号以后的100天的日期值:2006-8-28。再比如dateadd("h",-12,"2005-5-20 10:00:00")就表示2005年5月20号上午10点前的12小时的日期时间:2005-5-19 22:00:00。

(2)DateDiff函数:返回两个日期时间之间的间隔。可计算出两个日期相隔的年代、小时数等。使用方法:datediff(interval,date1,date2)。

参数interval和dateadd函数中的interval参数内容描述相同,date1和date2参数分别就是相互比较的两个日期时间。另外,当date1的日期时间值大于date2时,将显示为负值。

比如DateDiff("yyyy","1982-7-18",date)表示某人的出生到现在已经多少年了。又比如DateDiff("d","1982-7-18","2062-7-18")则计算了80年过了多少天:29220。

2,字符串处理函数

在脚本的功能处理中,通常需要对一些字符串进行一些修饰性处理。比如过滤掉字符串中的敏感字眼以符合最终显示的要求;又比如一段较长的字符串,需要提取开头的几个字符时。

(1)Asc函数:返回字符串中第一个字母对应的ANSI字符代码。使用方法:asc(string)。其中string参数表示字符串。

(2)Chr函数:返回指定了ANSI 字符代码对应的字符。使用方法:chr(chrcode)。参数chrcode是相关的标识数字。该函数的功能和asc函数形成对应。

比如:asc(“a”)表示小写字母“a”的ANSI 字符“97”;同样chr(97)表示的就是“小写字母a”。另外chr(chrcode)中参数chrcode值为0到31的数字时,表示不可打印的ASCII码。比如“chr(10)”表示换行符,“chr(13)”表示回车符等,这常用于输入和显示格式的转换中。

(3)Len函数:返回字符串内字符的数目(字节数)。使用方法:len(string)。比如len(“love”)的值就是4。

(4)LCase函数:返回所有字符串的小写形式。使用方法:lcase(string)。比如lcase(“CNBruce”)返回为“cnbruce”。

(5)UCase函数:返回所有字符串的大写形式。与lcase函数形成对应。同样,ucase(“CNBruce”)返回为“CNBRUCE”。

(6)Trim函数、LTrim函数和RTrim函数:分别返回前导和后续不带空格、前导不带空格或后续不带空格的字符串内容。比如:

trim(“ cnbruce ”)返回为“cnbruce”,前导和后续都不带空格;
ltrim(“ cnbruce ”)返回为“cnbruce ”,前导不带空格;
rtrim(“ cnbruce ”)返回为“ cnbruce”,后续不带空格;

该函数常用于注册信息中,比如确保注册用户名前或后的空格。

(7)Left函数:返回从字符串的左边算起的指定数目的字符。使用方法:left(string,length)。比如left(“brousce”,5)返回为“brous”,即前五位字符。

(8)Right函数:返回从字符串的左边算起的指定数目的字符。使用方法:right(string,length)。比如right(“brousce”,4)返回为“usce”,即后四位字符。

(9)instr函数:返回某字符串在另一字符串中第一次出现的位置。比如现在查找字母“A”在字符串“A110B121C119D1861”中第一次出现的位置,则可以 instr(my_string,"A110B121C119D1861")

(10)Mid函数:从字符串中返回指定数目的字符。比如现在的“110”则应该是从字符串“A110B121C119D1861”的第2位取得3个单位的值:mid("A110B121C119D1861",2,3)

(11)Replace函数:在字符串中查找、替代指定的字符串。replace(strtobesearched,strsearchfor,strreplacewith)其中strtobesearched是字符串,strsearchfor是被查找的子字符串,strreplacewith是用来替代的子字符串。比如 replace(rscon,"<","<") 则表示将rscon中所有“<”的字符替换为“<”

3,类型转换函数

Cbool(string) 转换为布尔值
Cbyte(string) 转换为字节类型的值
Ccur(string) 转换为货币类值
Cdate(string) 转换为日前类型的值
Cdbl(string) 转换为双精度值
Cint(string) 转换为整数值
Clng(string) 转换为长整型的值
Csng(string) 转换为单精度的值
Cstr(var) 转换为字符串值
Str(var) 数值转换为字符串
Val(string) 字符串转换为数值

4,运算函数

Abs(nmb) 返回数子的绝对值
Atn(nmb) 返回一个数的反正切
Cos(nmb) 返回一个角度的余炫值
Exp(nmb) 返回自然指数的次方值
Int(nmb) 返回数字的整形(进位)部份
Fix(nmb) 返回数字的整形(舍去)部份
Formatpercent(表达式) 返回百分比
Hex(nmb) 返回数据的16进制数
Log(nmb) 返回自然对数
Oct(nmb) 返回数字的8进制数
Rnd 返回大于“0”而小于“1”的随机数,但此前需 randomize 声明产生随机种子
Sgn(nmb) 判断一个数字的正负号
Sin(nmb) 返回角度的正铉值
Sqr(nmb) 返回数字的二次方根
Tan(nmb) 返回一个数的正切值

5,其他函数

IsArray(var) 判断一个变量是否是数组
IsDate(var) 判断一个变量是否是日期
IsNull(var) 判断一个变量是否为空
IsNumeric(var) 判断表达式是否包含数值
IsObject(var) 判断一个变量是否是对象
TypeName(var) 返回变量的数据类型
Array(list) 返回数组
Split(liststr) 从一个列表字符串中返回一个一维数组
LBound(arrayP 返回数组的最小索引
Ubound(array) 返回数组的最大索引
CreateObject(class) 创建一个对象
GetObject(pathfilename) 得到文件对象