ASP动态网页制作教程 很有用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ASP动态网页制作教程
第6章 ASP内置对象
•
本章介绍ASP的内置对象,主要内容包 括Request对象、Response对象、 Application对象、Session对象、Server 对象和ObjectContext对象。通过本章的学 习,读者应了解以上每个对象的主要用途, 并掌握每个对象在程序中的相关应用。读 者还需进一步理解ASP如何通过调用其内置 对象来实现基本操作。
描
述
读取客户端的验证字段。 返回客户端发出请求的字节 数量。 以二进制方式来读取客户端 使用post方法所传递的数 据,并返回一个变量数组 (Variant Array)。
BinaryRead方法
6.2.1
•
获取表单数据
表单是标准HTML文件的一部分,用户 可以利用表单中的文本框、复选框、单选 按钮、列表框等控件为服务器端的应用提 供初始数据,用户通过单击表单中的命令 按钮提交输入的数据。
• Request对象中有5个集合可以用来完成客户端对 ASP服务器的请求的响应。例如,要在Request对 象的Form中取得名为“姓名”的信息,可以使用 下述赋值命令: • name=Request.Form("姓名") • 也可以不指定集合名(Form),直接使用命 令: • name=Request("姓名") • 程序会以QueryString、Form、Cookies和 ServerVariables的顺序搜索所有集合,当发现一 个匹配的变量时,就认定它是要引用的成员。当 然,编程实践中,为避免不同集合中同名变量引 用的二义性,最好显式地指定集合。
Request.BinaryRead方法举例
• 上传图像
6.3 Response响应对象
• Response对象是ASP内置对象中直接对 客户端发送数据的对象。Request请求对象 与Response响应对象构成了客户请求/服务 器响应的模式。Request对象用于发送客户 端提交的数据。Response对象用于动态响 应客户端请求,并将动态生成的响应结果 返回给客户端浏览器。
•
【例6-3】获取以GET方式传递的表单 数据。
图6-5
以GET方式传递数据
图6-6
读取数据
通过地址栏传递参数
2.使用超链接传递的参数
• 在程序中,可以直接利用HTML的超链接 标记<A>传递参数。传递的参数写在“?” 符号的后面,如果有多个参数则使用“&” 作为分隔符。使用Request对象的 QueryString数据集合可以取得所传递的参 数值。 (源码网整理,)
读取附于URL地址后的字符串的值,在页面 的参数传递中使用或Get提交的表单数据。
读取存放在客户端浏览器Cookie的内容。 读取客户端请求发出的HTTP报头值以及Web 服务器的环境变量值。
Cookies数据集合
ServerVariables数据集合
续表
成 员 ClientCertificate 数据集合 TotalBytes属性
METBASE路径对应的实际路径 使用基本认证时,Client端输入的认证密码 Client端的认证方式 认证时使用的用户名 Client端证书ID
续表
服务器环境变量 CERT_FLAGS CERT_ISSUWE CERT_KEYSIZE 描 述
Client端证书是否存在,存在则返回为1 Client端证书发行者信息 连接SSL时,Key的Bit数
CERT_SECRETKEYSIZE
CERT_SERIALNUMBER CERT_SERVER_ISSUER
Server证书的Bit数
Client端证书的序列号 Server证书发行者信息
CERT_SERVER_SUBJECT
CERT_SUBJECT
Server证书内容
Client证书内容
续表
服务器环境变量 CONTENT_LENGTH CONTENT_TYPE GATEWAY_INTERFACE 描 Client送出内容的长度 Client送出内容的类型 Server使用CGI规格版本 述
(1)Request对象的TotalBytes属性 • Request对象提供一个TotalBytes属性, 为只读属性,用于取得从客户端发送到服 务器端的所有数据字节数。 • 语法: • Counter=Request.TotalBytes
(2)Request对象的BinaryRead方法 • Request对象提供一个BinaryRead方法, 用于以二进制码方式读取客户端使用POST 方式所传递的数据。 • 语法: • Variant数组=Request.BinaryRead(Count)
• (源码网整理:)
6.2 Request请求对象
• 在客户端/服务器结构中,当客户端 Web页面向网站服务器端传递信息时,ASP 通过Request对象能够获取客户端提交的全 部信息。
•
信息包括客户端用户的HTTP变量、在 网站服务器端存放的客户端浏览器的 Cookie数据、附于URL之后的字符串信息、 页面中表单传送的数据以及客户端证书等。
• •
Request对象的语法如下: Request[.collection | property | method](variable)
表6-1
成 Form数据集合 员
Request对象的成员
描 述
读取HTML表单域控件的值,即读取客户端 浏览器上以Post方法提交的表单数据。
QueryString数据集合
6.2.2 Request.QueryString
• 通过Request对象的QueryString集合 可以读取地址栏后字符串参数或读取Get方 式提交的表单。 • 1. 利用Querystring集合读取表单的内容 • 2. 利用Querystring集合读取HTTP查询字 符串中的参数
•
QueryString数据集合可以利用 QueryString环境变量来检索HTTP查询字符 串中变量的值。
取得Server端口号 Server端口是否安全,1表示安全,0表示不安 全 取得通信协议的名称及编号 取得Server端软件的名称及版本 取得URL信息
•
【例6-5】获得服务器端环境变量。
图6-9
获得服务器端方式读取数据
结合使用Request对象的TotalBytes属 性和BinaryRead方法,可以以二进制码方 式读取使用POST方式发送的表单数据。
•
【例6-4】使用超链接传递参数。
图6-7
建立超链接
图6-8
读取参数
Request.QueryString的应用
• 如果有时候要把多个ASP网页的处理程序写 在一个页面,可以用Request.QueryString 集合进行区分
6.2.3 获得服务器端环境变量
• 通过Request对象的ServerVariables 数据集合可以取得服务器端的环境变量信 息。
•
【例6-1】通过Form集合获取表单数据
图6-1
输入数据
图6-2
读取数据
Request对象
• • • • • Form集合 QueryString集合 ServerVariables集合 TotalBytes属性 BinaryRead方法
Request.Form举例
• 制作网上考试系统
• 根据输入的行和列动态生成表格 • 文章发布系统
读取表单数据的对应关系
表单提交方式
读取方式
Method = Post
Method = Get
Request.Form()
Request.QueryString()
•
HTTP查询字符串中的变量可以直接定 义在超链接的URL地址中“?”字符之后, 如?name=wang。传 递多个参数变量时,用“&”符号作为参数 间的分隔符,如 ?name=wang&age=2 6。
HTTP_<headname>
HTTPS HTTPS_KEYSIZE
保存在头部的其他信息
使用SSL提出要求时,该值为ON,否则为OFF 使用SSL连接时Key的Bit数
HTTPS_SECRETKEYSIZE
HTTPS_SERVER_ISSUER HTTPS_SERVER_SUBJECT
Server证书密码的Bit数
•
这些信息包括:发出请求的浏览器信 息、构成请求的HTTP方法、用户登录 Windows NT的账号、客户端的IP地址等。 服务器端环境变量对ASP程序有很大帮助, 使程序能够根据不同情况进行判断,提高 了程序的健壮性。
•
服务器环境变量是只读变量,只能查 阅,不能设置。 • 语法: • Request.ServerVariables(server_enviro nment_variable) • server_environment_variable:服务器环 境变量。
Server证书发行者信息 Server证书内容
续表
服务器环境变量 INSTANCE_ID INSTANCE_META_PATH LOCAL_ADDR 描 述
取得所属(metabase中)Web服务进程的ID值 取得要求的IIS服务进程的META BASE PATH 取得要求的SERVER的地址
LOGON_USER
•
在含有ASP动态代码的Web页面中,可 以使用Request对象的Form集合收集来自客 户端的以表单形式发送到服务器的信息。
• 语法: • Request.Form(element)[(index)|.Count] • element:指定集合要检索的表单元素的名 称。
•
在表单中传递数据的方法有两种: POST方法和GET方法。当使用POST方法将 HTML表单提交给服务器时,表单元素可以 作为Form集合的成员来检索,即使用 Request对象的Form集合来获得表单中传递 的数据,传递大量数据一般使用POST方法; 使用GET方法传递数据时,通过Request对 象的QueryString集合来获得数据。
主要内容
6.1
ASP内置对象概述 Request请求对象 Response响应对象 Application应用程序对象 Session会话对象
6.2
6.3
6.4
6.5
6.6
Server服务对象
6.7
ObjectContext事务处理对象
6.8
小结
6.9
上机指导
6.1 ASP内置对象概述
• 为了实现网站的常见功能,ASP提供了 内置对象。内置对象的特点是:不需要事 先声明或者创建一个实例,可以直接使用。 常见的内置对象及其功能如下。
表6-2
服务器环境变量 ALL_HTTP ALL_RAW
服务器环境变量
描 传送HTTP HEADER头部 取得HTTP HEADER的源程序 述
ALL_MD_PATH
ALL_PHYSICAL_PATH AUTH_PASSWORD AUTH_TYPE AUTH_USER CERT_COOKIE
ISAPI DLL应用程序的METBASE路径
PATH_INFO PATH_TRANSLATED
用户可以登录的账号
由Client端提供的路径信息 将PATH_INFO变换为物理路径信息
QUERY_STRING
REMOTE_ADDR REMOTE_HOST
QUERY字符串的相关信息
远端主机的IP地址 远端主机的计算机名
续表
服务器环境变量 REMOTE_USER REQUEST_METHOD SCRIPT_NAME 描 述
• 语法: • Request.QueryString(variable)[(index) |.count]
1.通过GET方式传递的表单数据
• 与Form数据集合相似,QueryString数 据集合可以取得在表单中通过GET方式传递 的数据。
•
使用GET方法在Web页面间传递参数时, 是通过HTTP的附加参数来进行传递的。通 过浏览器的地址栏可以得到传递的参数。
在Server认证处理前从客户端传送的用户名 Client端表单传送数据的方法(POST,GET) 正在运行的脚本的名称
SERVER_NAME
SERVER_PORT SERVER_PORT_SECURE SERVER_PROTOCOL SERVER_SOFTWARE URL
运行脚本的服务器的主机名、DNS或IP地址
第6章 ASP内置对象
•
本章介绍ASP的内置对象,主要内容包 括Request对象、Response对象、 Application对象、Session对象、Server 对象和ObjectContext对象。通过本章的学 习,读者应了解以上每个对象的主要用途, 并掌握每个对象在程序中的相关应用。读 者还需进一步理解ASP如何通过调用其内置 对象来实现基本操作。
描
述
读取客户端的验证字段。 返回客户端发出请求的字节 数量。 以二进制方式来读取客户端 使用post方法所传递的数 据,并返回一个变量数组 (Variant Array)。
BinaryRead方法
6.2.1
•
获取表单数据
表单是标准HTML文件的一部分,用户 可以利用表单中的文本框、复选框、单选 按钮、列表框等控件为服务器端的应用提 供初始数据,用户通过单击表单中的命令 按钮提交输入的数据。
• Request对象中有5个集合可以用来完成客户端对 ASP服务器的请求的响应。例如,要在Request对 象的Form中取得名为“姓名”的信息,可以使用 下述赋值命令: • name=Request.Form("姓名") • 也可以不指定集合名(Form),直接使用命 令: • name=Request("姓名") • 程序会以QueryString、Form、Cookies和 ServerVariables的顺序搜索所有集合,当发现一 个匹配的变量时,就认定它是要引用的成员。当 然,编程实践中,为避免不同集合中同名变量引 用的二义性,最好显式地指定集合。
Request.BinaryRead方法举例
• 上传图像
6.3 Response响应对象
• Response对象是ASP内置对象中直接对 客户端发送数据的对象。Request请求对象 与Response响应对象构成了客户请求/服务 器响应的模式。Request对象用于发送客户 端提交的数据。Response对象用于动态响 应客户端请求,并将动态生成的响应结果 返回给客户端浏览器。
•
【例6-3】获取以GET方式传递的表单 数据。
图6-5
以GET方式传递数据
图6-6
读取数据
通过地址栏传递参数
2.使用超链接传递的参数
• 在程序中,可以直接利用HTML的超链接 标记<A>传递参数。传递的参数写在“?” 符号的后面,如果有多个参数则使用“&” 作为分隔符。使用Request对象的 QueryString数据集合可以取得所传递的参 数值。 (源码网整理,)
读取附于URL地址后的字符串的值,在页面 的参数传递中使用或Get提交的表单数据。
读取存放在客户端浏览器Cookie的内容。 读取客户端请求发出的HTTP报头值以及Web 服务器的环境变量值。
Cookies数据集合
ServerVariables数据集合
续表
成 员 ClientCertificate 数据集合 TotalBytes属性
METBASE路径对应的实际路径 使用基本认证时,Client端输入的认证密码 Client端的认证方式 认证时使用的用户名 Client端证书ID
续表
服务器环境变量 CERT_FLAGS CERT_ISSUWE CERT_KEYSIZE 描 述
Client端证书是否存在,存在则返回为1 Client端证书发行者信息 连接SSL时,Key的Bit数
CERT_SECRETKEYSIZE
CERT_SERIALNUMBER CERT_SERVER_ISSUER
Server证书的Bit数
Client端证书的序列号 Server证书发行者信息
CERT_SERVER_SUBJECT
CERT_SUBJECT
Server证书内容
Client证书内容
续表
服务器环境变量 CONTENT_LENGTH CONTENT_TYPE GATEWAY_INTERFACE 描 Client送出内容的长度 Client送出内容的类型 Server使用CGI规格版本 述
(1)Request对象的TotalBytes属性 • Request对象提供一个TotalBytes属性, 为只读属性,用于取得从客户端发送到服 务器端的所有数据字节数。 • 语法: • Counter=Request.TotalBytes
(2)Request对象的BinaryRead方法 • Request对象提供一个BinaryRead方法, 用于以二进制码方式读取客户端使用POST 方式所传递的数据。 • 语法: • Variant数组=Request.BinaryRead(Count)
• (源码网整理:)
6.2 Request请求对象
• 在客户端/服务器结构中,当客户端 Web页面向网站服务器端传递信息时,ASP 通过Request对象能够获取客户端提交的全 部信息。
•
信息包括客户端用户的HTTP变量、在 网站服务器端存放的客户端浏览器的 Cookie数据、附于URL之后的字符串信息、 页面中表单传送的数据以及客户端证书等。
• •
Request对象的语法如下: Request[.collection | property | method](variable)
表6-1
成 Form数据集合 员
Request对象的成员
描 述
读取HTML表单域控件的值,即读取客户端 浏览器上以Post方法提交的表单数据。
QueryString数据集合
6.2.2 Request.QueryString
• 通过Request对象的QueryString集合 可以读取地址栏后字符串参数或读取Get方 式提交的表单。 • 1. 利用Querystring集合读取表单的内容 • 2. 利用Querystring集合读取HTTP查询字 符串中的参数
•
QueryString数据集合可以利用 QueryString环境变量来检索HTTP查询字符 串中变量的值。
取得Server端口号 Server端口是否安全,1表示安全,0表示不安 全 取得通信协议的名称及编号 取得Server端软件的名称及版本 取得URL信息
•
【例6-5】获得服务器端环境变量。
图6-9
获得服务器端方式读取数据
结合使用Request对象的TotalBytes属 性和BinaryRead方法,可以以二进制码方 式读取使用POST方式发送的表单数据。
•
【例6-4】使用超链接传递参数。
图6-7
建立超链接
图6-8
读取参数
Request.QueryString的应用
• 如果有时候要把多个ASP网页的处理程序写 在一个页面,可以用Request.QueryString 集合进行区分
6.2.3 获得服务器端环境变量
• 通过Request对象的ServerVariables 数据集合可以取得服务器端的环境变量信 息。
•
【例6-1】通过Form集合获取表单数据
图6-1
输入数据
图6-2
读取数据
Request对象
• • • • • Form集合 QueryString集合 ServerVariables集合 TotalBytes属性 BinaryRead方法
Request.Form举例
• 制作网上考试系统
• 根据输入的行和列动态生成表格 • 文章发布系统
读取表单数据的对应关系
表单提交方式
读取方式
Method = Post
Method = Get
Request.Form()
Request.QueryString()
•
HTTP查询字符串中的变量可以直接定 义在超链接的URL地址中“?”字符之后, 如?name=wang。传 递多个参数变量时,用“&”符号作为参数 间的分隔符,如 ?name=wang&age=2 6。
HTTP_<headname>
HTTPS HTTPS_KEYSIZE
保存在头部的其他信息
使用SSL提出要求时,该值为ON,否则为OFF 使用SSL连接时Key的Bit数
HTTPS_SECRETKEYSIZE
HTTPS_SERVER_ISSUER HTTPS_SERVER_SUBJECT
Server证书密码的Bit数
•
这些信息包括:发出请求的浏览器信 息、构成请求的HTTP方法、用户登录 Windows NT的账号、客户端的IP地址等。 服务器端环境变量对ASP程序有很大帮助, 使程序能够根据不同情况进行判断,提高 了程序的健壮性。
•
服务器环境变量是只读变量,只能查 阅,不能设置。 • 语法: • Request.ServerVariables(server_enviro nment_variable) • server_environment_variable:服务器环 境变量。
Server证书发行者信息 Server证书内容
续表
服务器环境变量 INSTANCE_ID INSTANCE_META_PATH LOCAL_ADDR 描 述
取得所属(metabase中)Web服务进程的ID值 取得要求的IIS服务进程的META BASE PATH 取得要求的SERVER的地址
LOGON_USER
•
在含有ASP动态代码的Web页面中,可 以使用Request对象的Form集合收集来自客 户端的以表单形式发送到服务器的信息。
• 语法: • Request.Form(element)[(index)|.Count] • element:指定集合要检索的表单元素的名 称。
•
在表单中传递数据的方法有两种: POST方法和GET方法。当使用POST方法将 HTML表单提交给服务器时,表单元素可以 作为Form集合的成员来检索,即使用 Request对象的Form集合来获得表单中传递 的数据,传递大量数据一般使用POST方法; 使用GET方法传递数据时,通过Request对 象的QueryString集合来获得数据。
主要内容
6.1
ASP内置对象概述 Request请求对象 Response响应对象 Application应用程序对象 Session会话对象
6.2
6.3
6.4
6.5
6.6
Server服务对象
6.7
ObjectContext事务处理对象
6.8
小结
6.9
上机指导
6.1 ASP内置对象概述
• 为了实现网站的常见功能,ASP提供了 内置对象。内置对象的特点是:不需要事 先声明或者创建一个实例,可以直接使用。 常见的内置对象及其功能如下。
表6-2
服务器环境变量 ALL_HTTP ALL_RAW
服务器环境变量
描 传送HTTP HEADER头部 取得HTTP HEADER的源程序 述
ALL_MD_PATH
ALL_PHYSICAL_PATH AUTH_PASSWORD AUTH_TYPE AUTH_USER CERT_COOKIE
ISAPI DLL应用程序的METBASE路径
PATH_INFO PATH_TRANSLATED
用户可以登录的账号
由Client端提供的路径信息 将PATH_INFO变换为物理路径信息
QUERY_STRING
REMOTE_ADDR REMOTE_HOST
QUERY字符串的相关信息
远端主机的IP地址 远端主机的计算机名
续表
服务器环境变量 REMOTE_USER REQUEST_METHOD SCRIPT_NAME 描 述
• 语法: • Request.QueryString(variable)[(index) |.count]
1.通过GET方式传递的表单数据
• 与Form数据集合相似,QueryString数 据集合可以取得在表单中通过GET方式传递 的数据。
•
使用GET方法在Web页面间传递参数时, 是通过HTTP的附加参数来进行传递的。通 过浏览器的地址栏可以得到传递的参数。
在Server认证处理前从客户端传送的用户名 Client端表单传送数据的方法(POST,GET) 正在运行的脚本的名称
SERVER_NAME
SERVER_PORT SERVER_PORT_SECURE SERVER_PROTOCOL SERVER_SOFTWARE URL
运行脚本的服务器的主机名、DNS或IP地址