答案:/*-------------------ASP文档参考集-----------------------*/
*-->作者:草履虫
*-->时间:2007-4.28---2007-4.30(原来是自己编写的手册,现在发在这里)
*-->联系:caolvchong@gmail.com
*-->文档功能:
1.复习了ASP,加深了对ASP结构的理解和ASP的体会
2.可以用来做ASP参考,自己写的,参考起来更方便
这是第二部分:ASP七大对象
/*---------------------------ASP七大对象----------------------------*/
*-->Application对象:
功能:在给定的应用程序的所有用户之间共享信息,并在服务器运行期间持久的保存数
据.而且,Application对象还有控制访问应用层数据的方法和可用于在应用程序启
动和停止时触发过程的事件(OnStart事件和OnEnd事件)
属性:没有内置的属性
集合:即用户自定义的属性
Application 对象的集合及说明:
Contents:没有使用<OBJECT>元素定义的存储于Application对象中的所有变量(及
它们的值)的一个集合.包括Variant数组和Variant类型对象实例的引用
StaticObjects:使用<OBJECT>元素定义的存储于Application对象中的所有变量
(及它们的值)的一个集合
对应的例子:
设置application属性值:
Application("MyVar") = "Hello"
Set Application("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
For i = 1 to Application.Contents.Count
Response.Write (Application.Contents.item(i))
Next
在2.asp中:
'2.asp和1.asp共享了application对象内容,因此可以对该集合元素进行修
改或删除等
application("chong1")="我被修改了" '修改application属性值
application.Contents.Remove("chong2") '删除application属性值
for each j in application.Contents 'for each形式访问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:读/写.整型.定义用于在浏览器中显示页内容的代码页(Code Page).代码
页是字符集的数字值,不同的语言和场所可能使用不同的代码页.例如,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时,所有作为请求提交的<FORM>段中的HTML控件单元的值的
集合,每个成员均为只读,form也具有count,item,key三个属性
QueryString:依附于用户请求的URL后面的名称/数值对或者作为请求提交的且
METHOD属性值为GET(或者省略其属性)的,字符串由问号(?)后的值指定,或
<FORM>中所有HTML控件单元的值,每个成员均为只读,Querystring也具有
count,item,key三个属性
ServerVariables:随同客户端请求发出的HTTP报头值,以及Web服务器的几种
环境变量的值的集合,每个成员均为只读,ServerVariables也具有
count,item,key三个属性servervariables参数我打印在了"servervariables
参数集"文档里了
属性:
TotalBytes:指定客户端在请求正文中发送的总字节数.该属性只允许读
方法:
BinaryRead():获取作为POST请求的一部分而从客户端传送到服务器的数据.此方
法获取来自客户端的数据并将其储存在SafeArray中.SafeArray是一个数组,其中
包含维数和边界信息,通俗地说,安全数组就时维数以及维数的上下限都确定的数组
BinaryRead方法用于读取作为POST请求的一部分从客户端发出的未加工数据.此方
法用于在底层访问数据,与此相反,Request.Form集合用于查看在公告请求中发送
的表格数据.一旦调用了BinaryRead,则引用Request.Form集合中的任何变量都将
导致错误发生.反之,一旦引用了Request.Form集合中的一个变量,则调用
BinaryWrite也将导致错误发生.请记住,如果在访问Request集合中的变量时未指
定该变量属于哪一个子集,将搜索Request.Form集合并强制使用上述规则.
常用:对于表单的提交或者是页面之间的参数传递,request起着重要的作用,区分好
Form和QueryString两个区别,
当而只用request,省略这两个集合时,asp会自动调整,但这样做是不好的.对于表
单,通常request是通过
表单元素的name来获得表单元
上一个:七步倒┈→专用asp后门
下一个:asp字符串加密解密函数