可以使用下列语言来创建动态网页。
基于服务器的脚本
客户端脚本
动态 HTML
ASP 是一项技术,可以为 Web 服务器提供处理应用程序逻辑并将标准的 HTML 返回到浏览器的能力。
VBScript 是 Visual Basic 语言的子集,并且支持其大多数语法和结构。
Active Server Page 文件
ASP 文件包括:
文本
HTML 标记
ASP 对象
ActiveX 组件 (比如连接数据库)
Java 小程序
客户端脚本
服务器端脚本
如何表示服务器段脚本
<%@ LANGUAGE= "主要脚本语言" %>
<HTML>
<BODY>
<%
'asp 代码 - - -
%>
</BODY>
</HTML>
服务器端代码,可以用两种方式进行标识
使用<SCRIPT RUNAT = SERVER>
使用标记服务器端代码开始和结束的 <% 和 %> 分隔符
ASP 对象
Request 该对象用于检索从客户端浏览器向服务器所发送请求中的信息
Response 该对象用于将数据从服务器发送回客户端浏览器
Application 用于存储、读取共享应用程序级信息。
Session 用于存储、读取可在页面之间调用的特定用户的信息。
Server 该对象用于访问服务器上的资源。例如,访问在服务器上创建和安装的组件
基于服务器的脚本
客户端脚本
动态 HTML
ASP 是一项技术,可以为 Web 服务器提供处理应用程序逻辑并将标准的 HTML 返回到浏览器的能力。
VBScript 是 Visual Basic 语言的子集,并且支持其大多数语法和结构。
Active Server Page 文件
ASP 文件包括:
文本
HTML 标记
ASP 对象
ActiveX 组件 (比如连接数据库)
Java 小程序
客户端脚本
服务器端脚本
如何表示服务器段脚本
<%@ LANGUAGE= "主要脚本语言" %>
<HTML>
<BODY>
<%
'asp 代码 - - -
%>
</BODY>
</HTML>
服务器端代码,可以用两种方式进行标识
使用<SCRIPT RUNAT = SERVER>
使用标记服务器端代码开始和结束的 <% 和 %> 分隔符
ASP 对象
Request 该对象用于检索从客户端浏览器向服务器所发送请求中的信息
Response 该对象用于将数据从服务器发送回客户端浏览器
Application 用于存储、读取共享应用程序级信息。
Session 用于存储、读取可在页面之间调用的特定用户的信息。
Server 该对象用于访问服务器上的资源。例如,访问在服务器上创建和安装的组件
HTTP 协议
客户端浏览器和 Web 服务器使用 HTTP 协议进行通信。
客户端和服务器之间的通信将通过一系列请求和响应来进行。
ASP 包括两个与 HTTP 协议的请求和响应消息相对应的内置对象。
Request 对象 - 对应于 HTTP 协议的请求消息
Response 对象 - 对应于 HTTP 协议的响应消息
客户端浏览器和 Web 服务器使用 HTTP 协议进行通信。
客户端和服务器之间的通信将通过一系列请求和响应来进行。
ASP 包括两个与 HTTP 协议的请求和响应消息相对应的内置对象。
Request 对象 - 对应于 HTTP 协议的请求消息
Response 对象 - 对应于 HTTP 协议的响应消息
HTTP 请求
请求包含有关客户端的信息和一些参数,从本质上讲,这些参数是将由服务器进行处理的数据。
HTTP 请求包含:
请求行:表示请求的方法、资源及HTTP协议的版本。
头:提供了关于消息内容的附加信息及请求的来源。
消息正文 - 包含 HTML 表单的内容
Request对象包含的集合,属性和方法
集合 Form
QueryString
ServerVariables
ClientCertificate
Cookies
属性 TotalBytes
方法 BinaryRead
HTTP 请求包含:
请求行:表示请求的方法、资源及HTTP协议的版本。
头:提供了关于消息内容的附加信息及请求的来源。
消息正文 - 包含 HTML 表单的内容
Request对象包含的集合,属性和方法
集合 Form
QueryString
ServerVariables
ClientCertificate
Cookies
属性 TotalBytes
方法 BinaryRead
TotalBytes 和 BinaryRead
TotalBytes 属性:返回客户端在请求正文中发送的字节总数。
<%
Dim intA
intA=Request.TotalBytes
%>
BinaryRead 方法:用于获取作为POST请求而从客户端传送到服务器的部分数据
<%
Dim intA, arrayB
intA=Request.TotalBytes
arrayB=Request.BinaryRead(intA)
%>
Request.QueryString集合
Request 对象的 QueryString 集合用于取到 HTTP 查询字符串中的变量值。
HTTP 查询字符串出现在页面请求的问号 (?) 后面。
不带任何变量的 Request.QueryString 将显示符号 ? 后的整个字符串
TotalBytes 属性:返回客户端在请求正文中发送的字节总数。
<%
Dim intA
intA=Request.TotalBytes
%>
BinaryRead 方法:用于获取作为POST请求而从客户端传送到服务器的部分数据
<%
Dim intA, arrayB
intA=Request.TotalBytes
arrayB=Request.BinaryRead(intA)
%>
Request.QueryString集合
Request 对象的 QueryString 集合用于取到 HTTP 查询字符串中的变量值。
HTTP 查询字符串出现在页面请求的问号 (?) 后面。
不带任何变量的 Request.QueryString 将显示符号 ? 后的整个字符串
Request.Servervarient
HTTP_PEFERER
当某人通地链接到达当前页时,http_peferer header就保存了这个用户的来源。
HTTP_UA_PIXELS
当前浏览器的分辩率
HTTP_USER_AGENT
网络浏览器的类型
包含文件
可以使用服务器端 #INCLUDE 指令将一个文件包含到另一个ASP文件中(扩展名.inc)
<! -- #include virtual | file = “filename” -- >
Virtual 关键字:用于表示 Include 文件的虚拟路径
<! -- #include virtual = “/MyPages/Headings.inc”-->
File 关键字:用于表示该文件的物理路径
<! -- #include file = “Headings.inc” - - >
可以使用服务器端 #INCLUDE 指令将一个文件包含到另一个ASP文件中(扩展名.inc)
<! -- #include virtual | file = “filename” -- >
Virtual 关键字:用于表示 Include 文件的虚拟路径
<! -- #include virtual = “/MyPages/Headings.inc”-->
File 关键字:用于表示该文件的物理路径
<! -- #include file = “Headings.inc” - - >
Response 对象
集合 Cookies
属性 Buffer
CacheControl
Charset
Expires
ExpiresAbsolute
IsClientConnected
方法 AddHeader
AppendToLog
BinaryWrite
Clear
End
Flush
Redirect
Write
集合 Cookies
属性 Buffer
CacheControl
Charset
Expires
ExpiresAbsolute
IsClientConnected
方法 AddHeader
AppendToLog
BinaryWrite
Clear
End
Flush
Redirect
Write
Buffer属性
Response对象的Buffer属性指定是否要缓存输出结果。
<%response.Buffer=true%>
<html>
<body>
<%
for i=1 to 100
response.write(i & "<br />")
next
%>
</body>
</html>
Clear方法:用于清除到目前为止缓存的输出结果。
如果response对象的BUFFER属性被设置成TRUE,则CLEAR方法会清除(放弃)所有被缓存的页面,如果不是TURE,而用CLEAR,会报错.
Response对象的Buffer属性指定是否要缓存输出结果。
<%response.Buffer=true%>
<html>
<body>
<%
for i=1 to 100
response.write(i & "<br />")
next
%>
</body>
</html>
Clear方法:用于清除到目前为止缓存的输出结果。
如果response对象的BUFFER属性被设置成TRUE,则CLEAR方法会清除(放弃)所有被缓存的页面,如果不是TURE,而用CLEAR,会报错.
Flush方法:将停止处理脚本并将当前结果返回到浏览器
如果response对象的BUFFER属性被设置成TRUE,则flush方法把缓存的页面立即发送到到客户,如果不是buffer 不是TURE,而用flush,会报错.
ASP网页的缓存
CacheControl 可以决定是否允许代理服务器缓存页面,它有两个值“Public”和“Private”。
Expires 可以指定页面有效的时间长度.以分钟来指定。
ExpiresAbsolute 可以指定一个页面的有效的时间长度,用绝对日期来指定。
如果response对象的BUFFER属性被设置成TRUE,则flush方法把缓存的页面立即发送到到客户,如果不是buffer 不是TURE,而用flush,会报错.
ASP网页的缓存
CacheControl 可以决定是否允许代理服务器缓存页面,它有两个值“Public”和“Private”。
Expires 可以指定页面有效的时间长度.以分钟来指定。
ExpiresAbsolute 可以指定一个页面的有效的时间长度,用绝对日期来指定。
Expires 和 CacheControl属性
设置 CacheControl 属性的语法是:
<%response.CacheControl="Public"%>
或者
<%response.CacheControl="Private"%>
要缓存页面 24 小时,设置应该是:
<%response.Expires=1440%>
IsClientConnected属性:可用于确定用户是否仍连接着服务器。
<%
If response.IsClientConnected=true then
response.write("用户仍处于连接状态!")
else
response.write("用户已断开连接!")
end if
%>
Redirect 方法用于将用户重定向到不同的页面。
<%@ Language=VBScript %>
<%
IF Request.Form("username") <> "Mark" Then
Response.Redirect
" [url]http://10.1.6.150:95/Chapter[/url] 2/Ch2Ex8.htm"
Else
Response.Redirect
" [url]http://10.1.6.150:95/Chapter[/url] 2/Ch2Ex14d.htm"
End If
%>
变量
变量是任何应用程序的基本组成部分。在应用程序被执行时,变量用于存储数据。
在ASP中,变量可以有两级作用域:
页面级变量
对象级变量
设置 CacheControl 属性的语法是:
<%response.CacheControl="Public"%>
或者
<%response.CacheControl="Private"%>
要缓存页面 24 小时,设置应该是:
<%response.Expires=1440%>
IsClientConnected属性:可用于确定用户是否仍连接着服务器。
<%
If response.IsClientConnected=true then
response.write("用户仍处于连接状态!")
else
response.write("用户已断开连接!")
end if
%>
Redirect 方法用于将用户重定向到不同的页面。
<%@ Language=VBScript %>
<%
IF Request.Form("username") <> "Mark" Then
Response.Redirect
" [url]http://10.1.6.150:95/Chapter[/url] 2/Ch2Ex8.htm"
Else
Response.Redirect
" [url]http://10.1.6.150:95/Chapter[/url] 2/Ch2Ex14d.htm"
End If
%>
变量
变量是任何应用程序的基本组成部分。在应用程序被执行时,变量用于存储数据。
在ASP中,变量可以有两级作用域:
页面级变量
对象级变量
页面级变量
页面级变量通过 ASP 脚本中的脚本语言进行定义。在处理网页时,可以使用页面级变量。网页被处理之后,这些变量将被销毁并且有关的资源将被释放。
<%
myname = "Graham"
Response.Write ("欢迎" & myname )
%>
变量 myname 的作用域是在网页temp.asp之内。在该网页关闭时,该变量将被销毁。
页面级变量通过 ASP 脚本中的脚本语言进行定义。在处理网页时,可以使用页面级变量。网页被处理之后,这些变量将被销毁并且有关的资源将被释放。
<%
myname = "Graham"
Response.Write ("欢迎" & myname )
%>
变量 myname 的作用域是在网页temp.asp之内。在该网页关闭时,该变量将被销毁。
对象级变量
对象级变量可通过页面进行访问,有两种类型:
会话变量:用于为特定用户将信息从一个页面传 递到另一个页面。
应用程序变量:用于在多个用户间共享公用信息
应用程序的所有页面都可以访问应用程序变量。
Application 对象
ASP 应用程序是 .htm 文件、.asp 文件和各种其他文件的集合,它们用来提供应用程序所需的功能。
Application 对象是内置 ASP 对象,表示 ASP 应用程序的实例。
它包括与应用程序相关的所有方法和集合
可以共享和管理整个应用程序的信息
将持续到该应用程序关闭
是用于启动和管理 ASP 应用程序的主要对象
控制对应用程序变量的访问
使用 Application 对象的Lock和UnLock方法,确保应用程序变量不被多个用户同时修改。
Lock方法用于锁定Application变量,防止其他用户修改
UnLock方法将释放变量以便于其他用户访问。
Application 对象是内置 ASP 对象,表示 ASP 应用程序的实例。
它包括与应用程序相关的所有方法和集合
可以共享和管理整个应用程序的信息
将持续到该应用程序关闭
是用于启动和管理 ASP 应用程序的主要对象
控制对应用程序变量的访问
使用 Application 对象的Lock和UnLock方法,确保应用程序变量不被多个用户同时修改。
Lock方法用于锁定Application变量,防止其他用户修改
UnLock方法将释放变量以便于其他用户访问。
<%
Application.Lock
Application("Counter") = Application("Counter") + 1
Application.Unlock
%>
该页面已被访问过
<%= Application("Counter") %> 次!
第一行中的Lock方法将锁定Application变量。这将确保只有当前控制该页面的用户可以访问或修改Counter变量,访问该页面的其他用户将无法修改该变量的值。当明确调用UnLock方法,或者到达该页面结尾处时,当前的用户将失去控制权,该控制权随后会传递给访问该页面的其他用户。
Application.Lock
Application("Counter") = Application("Counter") + 1
Application.Unlock
%>
该页面已被访问过
<%= Application("Counter") %> 次!
第一行中的Lock方法将锁定Application变量。这将确保只有当前控制该页面的用户可以访问或修改Counter变量,访问该页面的其他用户将无法修改该变量的值。当明确调用UnLock方法,或者到达该页面结尾处时,当前的用户将失去控制权,该控制权随后会传递给访问该页面的其他用户。
Server 对象
Server 对象充当 HTTP 服务的接口并且提供对 HTTP 服务器的属性和方法的访问
ASP的内置组件
组件是指在服务器上注册的ActiveX控件
BrowserCap object
FileSystem object
Connection object
Recordset object
Command Object
第三方组件
自制作组件
组件是指在服务器上注册的ActiveX控件
BrowserCap object
FileSystem object
Connection object
Recordset object
Command Object
第三方组件
自制作组件
CreateObject 方法
<HTML>
<BODY>
<%
Set TypeofBrowser = Server.CreateObject("MSWC.BrowserType")
TypeofBrowser = Request.ServerVariables("HTTP_USER_AGENT")
Response.Write (TypeofBrowser)
%>
</BODY>
</HTML>
如果使用Netscape访问网站,则TypeofBrowser为:
Mozilla/4.04 [en] (Win95; I; Nav)
可以由CreateObject方法的BrowserType组件检测的一些浏览器特性:
Browser 浏览器的类型 – Internet Explorer、Netscape 等
Version 浏览器的完整版本
Frames 检测浏览器是否支持框架
Cookies 检测浏览器是否支持 Cookies
VBScript 检测浏览器是否支持客户端 VBScripts
<HTML>
<BODY>
<%
Set TypeofBrowser = Server.CreateObject("MSWC.BrowserType")
TypeofBrowser = Request.ServerVariables("HTTP_USER_AGENT")
Response.Write (TypeofBrowser)
%>
</BODY>
</HTML>
如果使用Netscape访问网站,则TypeofBrowser为:
Mozilla/4.04 [en] (Win95; I; Nav)
可以由CreateObject方法的BrowserType组件检测的一些浏览器特性:
Browser 浏览器的类型 – Internet Explorer、Netscape 等
Version 浏览器的完整版本
Frames 检测浏览器是否支持框架
Cookies 检测浏览器是否支持 Cookies
VBScript 检测浏览器是否支持客户端 VBScripts
<%
Set x = Server.CreateObject ("MSWC.BrowserType")
Response.Write("浏览器的类型是: " & x.Browser & "<BR>") ‘确定浏览器的名称
Response.Write("浏览器的版本是: " & x.Version & "<BR>") ‘ 确定浏览器的版本
Response.Write("浏览器支持 VBScript: " & x.VBScript & "<BR>")
‘确定浏览器是否支持 VBScript
Response.Write("浏览器支持 Cookies: " & x.Cookies)
‘ 确定浏览器是否支持 Cookies
%>
注释:可能无法获得该输出。原因是 BrowsCap.ini文件不包含有关尝试该输出所使用的浏览器的信息。
Set x = Server.CreateObject ("MSWC.BrowserType")
Response.Write("浏览器的类型是: " & x.Browser & "<BR>") ‘确定浏览器的名称
Response.Write("浏览器的版本是: " & x.Version & "<BR>") ‘ 确定浏览器的版本
Response.Write("浏览器支持 VBScript: " & x.VBScript & "<BR>")
‘确定浏览器是否支持 VBScript
Response.Write("浏览器支持 Cookies: " & x.Cookies)
‘ 确定浏览器是否支持 Cookies
%>
注释:可能无法获得该输出。原因是 BrowsCap.ini文件不包含有关尝试该输出所使用的浏览器的信息。
URLEncode 方法
URLEncode 方法返回一个字符串,该串是对输入值string进行URL编码,对于在URL中无效的所有字符,如?、&和空格,都转换为相应的URL转义符。语法是:
Server.URLEncode ("string")
<%
Response.Write Server.URLEncode( [url]http://10.1.6.150.95/Chapter3[/url])
%>
ScriptTimeOut 属性:指定脚本在终止之前可以在服务器上运行的时间长度,单位为秒
URLEncode 方法返回一个字符串,该串是对输入值string进行URL编码,对于在URL中无效的所有字符,如?、&和空格,都转换为相应的URL转义符。语法是:
Server.URLEncode ("string")
<%
Response.Write Server.URLEncode( [url]http://10.1.6.150.95/Chapter3[/url])
%>
ScriptTimeOut 属性:指定脚本在终止之前可以在服务器上运行的时间长度,单位为秒
语法:
Server.ScriptTimeout = Numseconds
Server.ScriptTimeout = Numseconds
转载于:https://blog.51cto.com/youxue/51102