/*-------------------ASP文档参考集-----------------------*/
*-->作者:草履虫
*-->时间:2007-4.28---2007-4.30(原来是自己编写的手册,现在发在这里)
*-->联系:caolvchong@gmail.com
*-->文档功能:
1.复习了ASP,加深了对ASP结构的理解和ASP的体会
2.可以用来做ASP参考,自己写的,参考起来更方便
这是第二部分:ASP七大对象
/*---------------------------ASP七大对象----------------------------*/
*-->Application对象:
功能:在给定的应用程序的所有用户之间共享信息,并在服务器运行期间持久的保存数
据.而且,Application对象还有控制访问应用层数据的方法和可用于在应用程序启
动和停止时触发过程的事件(OnStart事件和OnEnd事件)
属性:没有内置的属性
集合:即用户自定义的属性
Application对象的集合及说明:
Contents:没有使用
它们的值)的一个集合.包括Variant数组和Variant类型对象实例的引用
StaticObjects:使用
(及它们的值)的一个集合
对应的例子:
设置application属性值:
Application("MyVar")="Hello"
SetApplication("MyObj")=Server.CreateObject("MyComponent")
方法:
Contents.Remove():移去某个application集合
Contents.Removeall():移去所有的Application集合
Lock():阻止其他客户修改存储在Application对象中的变量,以确保在同一时刻仅
有一个客户可修改和存取Application变量.如果用户没有明确调用Unlock
方法,则服务器将在.asp文件结束或超时后即解除对Application对象的锁
定
Unlock():使其他客户端可以在使用Lock方法锁住Application对象后,修改存储在
该对象中的变量.如果未显式调用该方法,Web服务器将在.asp文件结束或超时
后解锁Application对象
一个综合点的例子:
在1.asp中:
'设置3个application属性值
application("chong1")="第1个application集合项"
application("chong2")="第2个application集合项"
application("chong3")="第3个application集合项"
'设置的属性值都保留在application.contents中,基数从0开始,因此可以用
'for循环读出来
'这里总结下contents集合的属性:
'count属性:返回集合中所有的项数,返回值是个整数
'item属性:用于设置或返回集合中一个特定成员的值,item属性是
contents
'集合的默认属性,因此.item(x)相当于.(x)
'key属性:key(x)返回对应的属性名,如上面
application.contents.key(1)
'将返回chong1
Fori=1toApplication.Contents.Count
Response.Write(Application.Contents.item(i))
Next
在2.asp中:
'2.asp和1.asp共享了application对象内容,因此可以对该集合元素进行修
改或删除等
application("chong1")="我被修改了"'修改application属性值
application.Contents.Remove("chong2")'删除application属性值
foreachjinapplication.Contents'foreach形式访问application
response.Write(Application.Contents.item(j))
next
事件:至于两个事件onstart()和onend()等总结Global.asa文件时介绍
经验:通常地,当要修改某个application值时,应当先用Lock()锁定它,然后再修改,修
改完后再Unlock(),防止多个用户并发访问该对象
常用:设置,修改和删除application集合,结合lock和unlock方法
*-->Session对象:
功能:Session对象存储特定的用户会话所需的信息.当用户在应用程序的页之间跳转
时,存储在Session对象中的变量不会清除,而用户在应用程序中访问页面时,这些
变量始终存在.当用户请求来自应用程序的Web页时,如果该用户还没有会话,则
Web服务器将自动创建一个Session对象.当会话过期或被放弃后,服务器将终止该
会话(和application差别是session不是共享的,各个用户有各自的session,由此
可以用来验证用户的身份)
集合:和application一样地,session具有contents和StaticObject两个集合
属性:
CodePage:读/写.整型.定义用于在浏览器中显示页内容的代码页(CodePage).代码
页是字符集的数字值,不同的语言和场所可能使用不同的代码页.例如,650001
是UTF-8,936为GB2312
LCID:读/写.整型.定义发送给浏览器的页面地区标识(LCID).LCID是唯一地标识地
区的一个国际标准缩写,例如,2057定义当前地区的货币符号是'£'.LCID也可
用于FormatCurrency等语句中,只要其中有一个可选的LCID参数.LCID也可在
ASP处理指令<%...%>中设置,并优先于会话的LCID属性中的设置.
SessionID:只读.长整型.返回这个会话的会话标识符.SessionID属性返回用户的
会话标识.在创建会话时,服务器会为每一个会话生成一个单独的标识.会话标
识以长整形数据类型返回.在很多情况下SessionID可以用于WEB页面注册
统计
Timeout:读/写.整型.为这个会话定义以分钟为单位的超时周期.如果用户在超时周
期内没有进行刷新或请求一个网页,该会话结束.在各网页中根据需要可以修
改.缺省值是20min,在使用率高的站点上该时间应更短
方法:
Abandon():Abandon方法删除所有存储在Session对象中的对象并释放这些对象的
源.如果您未明确地调用Abandon方法,一旦会话超时,服务器将删除这些对象.
当服务器处理完当前页时,下面示例将释放会话状态
另外,session和application一样,具有contents.remove()和
contents.removeall()方法
事件:至于两个事件onstart()和onend()等总结Global.asa文件时介绍
常用:设置,修改,删除session,另外timeout也是常用的,记住一点,session依赖cookies,当浏览器关闭或者不
支持cookie时将不能访问到session
*-->request对象:
功能:Request对象在HTTP请求期间,检索客户端浏览器传递给服务器的值
集合:
ClientCertificate:当客户端访问一个页面或其他资源时,用来向服务器表明身份
的客户证书的所有字段或条目的数值集合,每个成员均是只
读.ClientCertificate集合从Web浏览器发布请求中获取验证字段(由X.509
标准指定).如果Web浏览器使用SSL3.0/PCT1协议(也就是说,它使用以
https://开头的URL,而不是http://)连接服务器及服务器请求验证,则浏览器
将发送验证字段.如果没有发送验证,ClientCertificate集合将返回EMPTY.必
须先将Web服务器配置为要求客户端验证,然后才能使用ClientCertificate
集合.
Cookies:根据用户的请求,用户系统发出的所有cookie的值的集合,这些Cookie仅
对相应的域有效,每个成员均为只读,cookies也具有count,item,key三个属
性,用法可以类比上面提到的application中提到的.另外,cookies还有个属性
haskeys,指明cookie是多值还是单值的,多值返回true,单值返回false
Form:的属性值为POST时,所有作为请求提交的