ASP 内建对象Request和Respones
通用网关界面CGI(Common Gateway Interface)和网络服务器应用程序界面ISAPI(Internet Server Application Programming Interface)与其他相关技术的出现,使我们能够方便地与Web Server进行沟通,从而象一些计数器、留言版等CGI程 式相继出现并蔚然成风。 【文章来自:开店乐KaiDianLe.Com】
但这些CGI程序都有一个很大的缺点,就是CGI(可用VB、Java、Perl、C或Dephi等编写)与html只能分开编写、分开运行,要将两者融合在一起并不 容易,从而导致维护与编写都相当困难。因此,一些厂商后来都推出了自己的Script语言,来增强网页开发的功能。其中Netscape推出了javascript(for client端和for Server端两种);微软则推出了VBScript和Asp(Asp的语法与VB的语法类似)两种,也用于服务器端和客户端程序的编写。对于专业开发人员而言,客户端程序的最重要的一点是通用性,而服务器端的则强调功能和效率。对于Client端程序的开发,javascript无疑是最佳的,因为当今两大主流浏览器IE和Netscape都宣称支持该标准;而VBScript则只有IE才能支持。但令我们苦恼的是对某些javascript的标记,IE或IE的某些版本并不一定会支持,这必导致我们不得不把一部分程序移到服务器端去执行,因为服务器端的程序会先解释生成html(或含ActiveX)文本,再送到客户端,故不存在兼容问题。
livewire(javascript for Server端的编译器)和Asp一样,都是一些手稿语言(手稿是指类似client端的javascript一样的、可嵌套在html文本里面、只需用标记标明是由服务器执行的程序段),也就是类似C/C++一样的面向对象的语言。livewire的文件后缀名还是html,asp的文件后缀名则是asp,因为asp的文件在客户读取它的时候,服务器才进行解释,而livewire的文件则必须预先进行编译(每次修改后,都要重新编译)。asp有相应的辅助开发工具(InterDev),可代为生成一些控件。当然,这些并不重要,关键是你采用的是Netscape Web Server还是微软的IIS。但就一般而言,因为IIS是捆绑在NT上的,故采用IIS的用户会偏多一些。
自从Netscape公司推出了livewire和微软推出了Active Server Page以后,程序员编写网上程序就方便和容易了很多。但这种Script类的语言有一个共同的缺点,那就是由于是解释执行的,故速度不会太快。最近,微软建议采用三层模型,中间层可以不用asp,而直接采用VB6.0生成的ActiveX控件,因为是编译执行的,故速度较快,不过这是后话。
一、Asp的基本对象
Asp(Active Server Page)是一种类似于VB的面向对象的程序语言。在这里并不想详述对象等一些基本概念,而是直接介绍其语言特性,以便开发人员能够熟练地对asp程序进行修改和编制(因为很多人都只是直接利用开发工具如InterDev来生成asp程序)。
首先,Asp程序的存档名称肯定是“asp”;其次,在asp程序里面,服务器端的Script要放在字符串中间,例如。如果你想在一个Asp文件中调用另一个Asp文件,则可在Asp中加上下面的声明: < ! -- #INCLUDE VIRTUAL|FILE="***.asp" -- >,这有些象C语言中的#include。其中,Virtual表示虚拟文件路径,File表示真实文件路径。
Asp有五个主要的内建对象:Request、Response、Server、Session、Application,下面将分别举例对其进行说明。
1、Request
Asp依然遵从流行的、利用客户端的Form进行数据交换的方法。Asp内建的request对象拥有五个获取客户端资料的方法(QueryString/Form/Cookies/ServerVariables/ClientCertificate)。
语法:request.方法名称("参数")|request("参数")
如果采用后者,系统会自动选择相应的方法。
Form
这里再重新强调Form的一些属性:
Enctype=资料传送的MIME形态
Method=传送资料的方式Get/Post
Onrest=按下rest键调用的程序
Onsubmit=按下sumit键调用程序
Target=输出内容的frame窗口>
使用Form传送信息一般有三种方式:由html网页内的Form传信息给其他Asp;由Asp内的Form传信息给另外一个Asp;Asp内的信息传送给自身。
语法:Request.Form(参数)[(索引)]
其中参数表示Form中元素的名称,索引表示相同名称元素的顺序号。
例:
可循环读取名称为user的元素,其中Count是Form的系统属性,用于计算同名元素的个数,如果该元素不存在,则其值为零。如果没有指明要读取第几个同名元素,则系统会把全部同名元素的值都读取出来,并用“,”作间隔。
例:Request.form("user")=abc,bcd,cde
2、QueryString
语法:Request.QueryString(参数)[(索引)]
除了用Form传输资料外,还可通过在超链接后接“?”的方式传输信息,如:,这时可通过Request.QueryString("user")读取传输的信息;如果出现多个重名的参数,如:,则第一次
Resquest.QueryString("user")=abc,第二次
Resquest.QueryString("user")=bcd,第三次
Resquest.QueryString("user")=cde。
3、ServerVariables
语法:ServerVariables(参数名称)
我们知道Web/Browse的传输协议是http,http的报头会有一些客户端的信息,如
客户IP地址、浏览器的语言系统等。这时可通过Request.ServerVariables("***")获取相关信息,如Request.ServerVariables("Accept_Language")可获取客户端浏览器 的语系。其他系统参数见下表:
SERVER_NAME server的机器名称或IP地址。
SERVER_PORT server正在运行的端口号
REQUEST_METHOD 发出request的方法(GET/POST/HEAD
SCRIPT_NAME 程序被调用的路径,如:cgi-bin/a.pl。
REMOTE_HOST 发出request请求的远端机器(client)的名称。
REMOTE_ADDR 发出request请求的远端机器(client)的IP地址。
REMOTE_IDENT 发出request的使用者名称(如是拨号上网,则为用户ID),当NCSA IdentityCheck为enabled,而且client机器支持RFC 931时,该变量有效。
CONTENT_TYPE 数据的MIME类型,如:“text/html”。
HTTP_ACCEPT client可以接受的MIME类型列表。
HTTP_USER_AGENT client发出request的浏览器类型。
HTTP_REFERER 在读取CGI程序之前,client所指的文本URL。
4、Cookies
在客户端,Cookies记录了客户端浏览器很多的信息,我们可通过Request.Cookies("名称")命令获取它的值,也可通过Response.Cookies("名称")="值"在客户端记录一些信息,以便控制访问者。设置多重Cookies的方法为Response.Cookies("名称")("名称")="值"。
5、Cache
我们可以在浏览器上设置从Cache中抽取已经访问过的页面的信息,同样,在Asp程序中也可进行类似的设置。其中Response.Clear为清空客户端的内存。Response.Buffer=True设置可从Cache中读取资料(缺省时为False)。
6、ClientCertificate
ClientCertificate用于获取客户端浏览器的身份确认信息(符合X.509标准),但客户端浏览器必须支持SSL3.0或PCT1协议。这里需做两步工作,第一步:web server必须启动用户端认证选项;第二步:对客户端浏览器进行相应设置,这样,该方法才会生效,否则,传回empty值。
2、Response
当要从服务器传送资料到客户端时,可通过下面的方法:
1)Response.Write直接输出信息,如Response.write ""。
2)Response.Redirect引导客户端到另一个url位置,如Response.Redirect "http://zyr.yeah.net",但这里有一个问题需要注意,就是该语句一定要放在标记前执行,也就是说在服务器未向客户端送出html文本报头前就要被执行,否则会出现传输错误信息。
3)Response.ContentType控制输出的文件类型,服务器送给客户端的数据包类型可以是text/html文本,也可以是gif/jpeg图形文件,所以每次传输前,我们都必须告知客户端将要传输的文件类型,一般默认情况下为“Text/Html”类型。
4)Response.Cookies 用于设置Cookies的值,语法为:Response.cookies(变量名称)[(key)|属性]=写入的信息。(key的用法前面已作说明,这里不在叙述)cookies系统默认有五个属性,包括Expires(时间)、Domain(域名)、Path(路径)、Secure(安全性)、Haskeys(判断cookies下是否还有其它cookies文本)。
5)Response.Buffer用于确定是否把信息传输到缓冲区。因为有时候我们希望把部分中间信息送到缓冲区,然后继续工作。当所有处理工作都完成后,才把信息输出到客户端。但当在处理过程中Flush或End方法被调用,则缓冲区内容将被输出。
Response的其它属性:
Expires:设定网页保留在客户端浏览器的时间长度。
ExpiresAbsolute:设定网页保留在客户端浏览器的日期与时间。
Response的其它方法:
AddHeader:设定HTML文件的HTTP报头。
AppendToLog:在Web Server记录档案末尾,添加字串。
Clear:清除在缓冲区中的HTML输出资料。
End:停止处理asp档案,并回传当时状态。
Flush:立刻送出缓冲区的HTML资料。
【日期:2006-8-7】【作者:不祥】【转载自:开店乐】
相关文章:
最好的网上开店系统:凡人网络购物系统免费下载
Rs.open sql,conn,A,B 的A、B各代表什么?
ASP开发中存储过程应用全接触
Oracle大文本在ASP中存取问题的解决
数据分页方法新思路,速度非常快!
ASP+vbscript写的万能查询表达式生成器
常用网站数据库SQL操作语句
ASP程序与SQL存储过程详解
ASP脚本一空间绑定多个域名代码
WEB编程开发常用的代码大全
解决大字段在Form中Post出错的方法
学习ASP之编写安全的ASP代码
ASP程序应用之模板采用
防止别人批量采集功能的ASP代码
网页图片下拉选择控件使用实例
平时写程序的时候出错时的解决方法
“在线访客”的制作方法
ASP中数据库调用时常见错误的现象和解决
ASP 编程中20个非常有用的例子
经典实用的基础asp程序整理
ASP中从数据库读取二进制文件数据代码
ASP动态生成的javascript表单验证代码
在电子商务中实现购物车的方法
ASP利用Google实现在线翻译功能
实现千万级数据分页的存储过程
详细说明用ASP和WML来实现数据库查询
ASP访问INTERBASE数据库
ASP安全配置不完全手册
在ASP中如何访问Novell下的数据库
ASP进阶学习必经之认识数学函数11种
初学者必读 ASP运行环境的搭建
解析asp的脚本语言
学习使用ASP对象和组件
让ASP程序运行于非Windows平台
通过启动脚本来感受ASP的力量
一些不长见的ASP调用存储过程的技巧
使用ASP脚本技术
优化Web数据库页面
Asp限制IP访问代码
ACCESS数据库防下载另类方法
ASP浏览器性能组件
细说ASP中Counters 组件
全面解析Server对象
ASP 内建对象Request和Respones
深入研究Application和Session对象
使用ASP、VB和XML建立运行于互联网上的应用程序
在客户端执行数据库记录的分页显示
对ASP脚本源代码进行加密
用代码打开Access文件的两种方法
使用Visual InterDev进行小组开发
用JScript脚本实现分页的另类办法
ASP中Cookie读写的实现方法
如何使用ASP建立虚拟的FTP服务器
在ASP中自动创建多级文件夹的函数
一个硬盘文件搜索的Asp源码
ASP使用MYSQL数据库全攻略
ASP上传数据流格式分析详解
ASP汉字转换UTF-8及UTF-8转换GB2312
ASP常用数据库连接及操作的方法
ASP编程中常用SQL命令使用方法
ASP查询记录时RecordCount=-1问题
让你的WAP网站有更好的兼容性
如何注册服务器端组件
轻松实现任何程序和动易整合
在服务器端调用winzip命令行对上传的多个文件打包压缩
用ASP制作强大的搜索引擎
ASP彩色校验码的制作
ASP 系列函数大全
ASP程序处理进程进度条
Asp无组件生成缩略图
用ASP实现自动建站.实现虚拟二级目录
删除Access数词库中的空记录
ASP身份证验证代码函数
ASP写的自动生成SELECT表单的函数
几种打开记录集方式的比较
用ASP实现汉字转拼音的功能
ASP分页代码,已经写成类了,值得参考
ASP下载系统防盗链方法
Global.asa文件用法大全
如何防止页面中的敏感信息被提取
Delphi编写组件封装asp代码的基本步骤
制做行背景颜色交替变换的表格
如何用foreach遍历页面上所有的TextBox
将数据库中的信息存储至XML文件中
用Asp写个加密和解密的类
如何固定表格的标题行和标题列
ASP小偷(远程数据获取)程序入门教程
Asp编写不再让人讨厌的自动弹出窗口
用ASP实现在线压缩与解压缩
使用组件封装ASP的数据库操作
ASP中读写注册表
ASP判断函数一览及网页制作常用技术
ASP中Cookie使用指南
随机产生用户密码(good)
ASP:如何对身份证的籍贯进行验证
ASP产生随机密码的函数
ASP+ADO实现数据读写简单示例
一个简单的用户登录接口ASP实现
ASP+SQL Server构建网页防火墙
一个通用的保护ASP系统的方法
利用ASP发送和接收XML数据的处理方法
版权所有:Kaidianle.Com 联系方式:Shnxn@Yhaoo.Com.Cn 京ICP备06028743号 在线留言