第1章  ASP简介
1.1 ASP的特点
ASP全称为Active Server Pages,即动态服务器页面,它是一套微软开发的服务器端脚本环境,ASP内含于IIS 3.0以上版本之中,通过ASP我们可以结合HTML网页、ASP指令和ActiveX元件建立动态、交互且高效的Web服务器应用程序。
ASP文件(即*.asp文件)与HTML文件类似,但ASP文件可以包含脚本命令,脚本命令放在<%和%>之间。当用户请求一个*.asp主页时,WWW响应HTTP请示调用ASP引擎,解释被申请的文件,当遇到与ActiveX Scripting兼容的脚本(VBScript或JScript)时ASP引擎调用相应的脚本引擎进行处理。ASP脚本在服务器端解释执行,结果自动生成符合HTML 语言的主页去响应用户的请求。ASP目前已成为目前应用最广泛的动态网页开发工具,同时应用ASP进行网络化的信息管理系统也逐步得到推广。
以下是ASP独具的一些特点:
(1)使用VBScript、JScript等简单易懂的脚本语言,同时结合HTML代码,即可快速地完成网站的应用程序。
(2)使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计,而利用诸如Frontpage或者Dr
eamweaver等所见即所得的网页编辑软件可以快捷方便地进行编辑,易学易用。
(3)与浏览器无关(Browser Independence),用户端只要使用可执行HTML代码的浏览器,即可浏览ASP所设计的网页内容。ASP所使用的脚本语言(VBScript、JScript)均在Web服务器端执行,用户端的浏览器不需要能够执行这些脚本语言。
(4)Active Server Pages能与任何ActiveX Scripting语言相容。ActiveX Server Components (ActiveX 服务器元件)具有无限可扩充性。可以使用Visual Basic、Java、Visual C++、COBOL 等编程语言来编写你所需要的ActiveX Server Components。
(5)Active Server Pages 的源程序,不会被传到客户端浏览器,因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。
ASP的奇妙之处真是不胜枚举,更为重要的是,ASP是一种“无须编程”的软件开发工具,用简单的几个语句,即可对数据库进行操作。另外,ASP程序员的数量惊人,所以当你遇到问题时,可以请求他人帮你解决。
1.2 ASP程序入门
ASP本身并不是一种脚本语言,它只是提供了一种使镶嵌在HTML 页面中的脚本程序得以运行的环境。
ASP程序其实是以扩展名为.asp 的纯文本形式存在于Web服务器上的,
可以用任何文本编辑器打开它。ASP程序中可以包含纯文本、HTML标记以及脚本命令。用户只需将.asp程序放在Web服务器的虚拟目录下(该目录必须要有可执行权限),就可以通过WWW的方式访问ASP 程序了。
ASP程序设计的重点在于脚本的编写。脚本是由一系列的脚本命令所组成的,如同一般的程序,脚本可以将一个值赋给一个变量,可以命令Web服务器发送一个值到客户端浏览器,还可以将一系列命令定义成一个过程。要编写脚本,必须要熟悉至少一门脚本语言,如VBScript。脚本语言是一种介于HTML和诸如Java、Visual Basic、C++等编程语言之间的一种特殊的语言,尽管它更接近后者,但它却不具有编程语言复杂、严谨的语法和规则。
ASP程序以“<% %>”符号作为标准的ASP定界符,而“< SCRIPT> < /SCRIPT>”之间的就是脚本语言。ASP不同于脚本语言,它有自己特定的语法,所有的ASP命令都必须包含在“< %”和“%>”之内,如:<% test="English" %>,ASP通过包含在<% 和%>中的表达式将执行结果输出到客户端浏览器,如:<%=test%>就是将前面赋给变量test的值English发送到客户浏览器中,而当变量test的值为Mathematics时,程序:This weekend we will test <%=test %>.在客户端浏览器中则显示为:This weekend we will test Mathematics.
1.3 ASP对象
1.3.1 Application对象
Application对象是一个应用程序级的对象,用在所有用户间共享信息,并可以在Web应用程序运行期间持久地保持数据。
1.Application的属性
Application对象没有内置的属性,但是可以自行创建其属性。使用<% Application("属性名")=值%> 。其实大部分Application变量都存放在Contents集合中,当用户创建一个新的Application变量时,其实就是在Contents集合中添加了一项。下面两个脚本是等效的:<%Application("greeting")="hello!" %> 或<%ts("greeting")="hello!" %>。
由于Application变量存在集合里,所以如果想要全部显示,则需要进行多次循环使用。例如For Each循环:
<%For Each item IN Application.Contents
Response.write("<br>"&item&Application.Contents(item))
Next%>
2.Application的方法
Application的方法包括:Lock和Unlock。其中Lock方法用于保证同一时刻只能有一个用户对Application操作;Unlock则用于取消Lock方法的限制。如:
<%Application.Lock
Application("visitor_num")=Application("visitor_num")+1
Application.Unlock%>
3.Application的事件
第章简介
(1)Application_OnStart():当事件应用程序启动时触发。
(2)Application_OnEnd():此事件应用程序结束时触发。
这两个事件过程都是必须定义在Global.asp文件中,一般把连接数据的函数定义在这两个事件,然后放在Global.asp中。例如:
Sub Application_OnStart
Application("tt18_ConnectionString") = "driver={SQL Server};server=jeff;uid=sa; pwd=;database=test"
End Sub
一个数组能够被定义成Application对象,不过这个数组只能作为一个对象保存,而不能用Application(0)取出其值。此时可以定义一个临时数组实现这种功能,如:
<%dim Array()
Array=Application("array")
for i = 0 to ubound(array)
Response.write Array(i)
next I%>
1.3.2 ObjectContext对象
ObjectContext对象用于控制Active Server的事务处理。事务处理由Microsoft Transaction Server(MTS)管理。asp网页文件的格式
1.事件
ObjectContext.OnTransactionAbort:由放弃的事务处理事件激发,在脚本完成处理后发生。
ObjectContext.OnTransactionCommit:由成功的事务处理事件激发,在脚本完成处理后发生。
2.方法
ObjectContext.SetAbort:显式地放弃一次事务处理。
ObjectContext.SetComplete:覆盖前面任何调用ObjectContext.SetAbort方法的调用。
1.3.3 Request对象
Request对象用于接受所有从浏览器发往服务器的请求内的所有信息。Request对象是ASP 中最基本和最常用的对象。
1.集合
(1)ClientCertificate集合。使用Request.ClientCertificate(key[SubField])可以获得所有客户证书的信息的集合。
(2)Cookie集合。使用Request.Cookies(Cookie[(key).Attribute])可以获得浏览器的Cookie。Cookie指明返回哪一个Cookie。key用于从Cookie字典中返回具有某一关键字的Cookie值。对于Attribute,用户能使用属性HasKeys来确定某一Cookie是否具有子关键字。HasKeys的值为True或False。
(3)Form集合。使用Request.Form(Parameter)[(Index).Count]可以获得填写在HTML的表单中所有数据的集合。Parameter是在HTML表单中某一表单域的名称。当表单域具有不止一个值(比如,在<SELECT>中使用MULTIPLE属性)时,可以使用Index。当某一参数具有
多值时,.Count获得参数的个数。
在网站系统设计中,应用最多的就是使用表单填写相关信息,用POST方法提交到处理页将数据保存到数据库。在这里就要使用Request.Form("表单域名称")以获取填写或者选择的表单数据,再对获取
的数据进行处理。
(4)QueryString集合。使用Request.QueryString(V arible)[(Index).Count] 可以获取查询字符串的所有值的集合。Varible是在查询字符串某一变量的名称。当某一变量具有多于一个值时,使用Index。当某一参数具有多值时,.Count获得参数的个数。
示例:当在浏览器中输入网址“www.localhost/detail.asp?id=233”,在detail.asp页中有如下代码:
<%ID=Request.QueryString("ID")%>
号码为<%=id%>的记录
在屏幕上将输出“号码为233的记录”。
Request.QueryString和Request.Form集合是默认集合,所以语句Request.QueryString (V arible) 可以省略成Request(V arible);而Request.Form(Parameter)也可以省略成Request (Parameter)。
(5)ServerV aribles集合。使用Request.ServerV aribles(Server Environment V ariable) 可以获取服务器端环境变量的集合。允许读取HTTP头,可以通过使用HTTP_前缀来读取任何头信息。比如,HT
TP_USER_AGENT接受客户代理HTTP头(浏览器类型)。除此之外,用户还可以使用如表1-1所示的变量获得任何环境信息。
表1-1 常用的环境变量
第章简介
续表
2.方法
Request.BinaryRead(Count)
接收一个HTML表单的未经过处理的内容。当调用此方法时,Count指明要接收多少字节。在调用此方法后,Count指明实际上接收到多少个字节。
3.属性
Request.TotalBytes:查询体的长度,以字节为单位。
1.3.4 Response对象
Response对象用于向客户端浏览器发送数据,用户可以使用该对象将服务器的数据以HTML的格式发送到用户端的浏览器,它与Request组成了一对接收、发送数据的对象,这

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。