📄 0033.htm
字号:
<html>
<head>
<title>新时代软件教程:操作系统 主页制作 服务器 设计软件 网络技术 编程语言 文字编辑</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
<!--
body, table {font-size: 9pt; font-family: 宋体}
a {text-decoration:none}
a:hover {color: red;text-decoration:underline}
.1 {background-color: rgb(245,245,245)}
-->
</style>
</head>
<p align="center"><script src="../../1.js"></script></a>
<p align="center"><big><strong>在ASP中使用脚本语言</strong></big></p>
<font size=-1>
<p align="right">作者 : <a href="mailto:passerby@usa.net">蓝 天 </a>
<p><font size="-1"><img src="../images/blank.gif" width="30" height="1" border="0">在
服 务 器 端 使 用 脚 本 语 言 是 ASP 的 特 色 , 那 么 什 么 是 脚 本 语 言 呢 ? 它 和 HTML 和 编 程
语 言 又 有 什 么 不 同 呢 ? </font>
<font size="-1">
<p>
<p>
<font size="-1"><img src="../images/blank.gif" width="30" height="1" border="0">
脚 本 语 言 介 于 HTML 和 Java, C++ 以 及 Visual Basic 等 编 程 语 言 之 间 。 HTML 通 常 用
于 格 式 化 和 链 结 文 本 。 而 编 程 语 言 通 常 用 于 向 机 器 发 出 一 系 列 复 杂 的 指 令 。 脚 本 语
言 介 于 两 者 之 间 但 它 的 函 数 与 编 程 语 言 更 为 相 象 一 些 。 它 与 编 程 语 言 之 间 最 大 的 区
别 是 后 者 的 语 法 和 规 则 更 为 严 格 和 复 杂 一 些 。<br>
<br>
<img src="../images/blank.gif" width="30" height="1" border="0"> 在 服 务 器 端
使 用 脚 本 语 言 , 需 要 在 服 务 器 端 安 装 脚 本 引 擎 。 脚 本 引 擎 是 用 于 处 理 脚 本 的 COM (
组 件 对 象 模 型 ) 对 象 。 ASP 为 脚 本 引 擎 提 供 主 机 环 境 并 把 .asp 文 件 中 的 脚 本 交 给 脚
本 引 擎 处 理 。 对 于 .asp 文 件 中 使 用 的 每 种 脚 本 语 言 , 都 要 将 他 们 相 应 的 脚 本 引 擎 安
装 在 Web 服 务 器 上 。 ASP 中 缺 省 语 言 是 VBScript , 所 以 你 不 用 担 心 要 去 安 装 VBScript
的 脚 本 引 擎 , 当 你 安 装 完 Active Server Pages 时 , 他 就 已 存 在 了 。 使 用 JScript
也 不 必 有 同 样 的 担 心 。 但 是 要 使 用 一 些 不 太 常 用 的 脚 本 语 言 的 话 , 可 能 需 要 安 装 相
应 的 脚 本 引 擎 。<br>
<br>
<img src="../images/blank.gif" width="30" height="1" border="0"> ASP 使 Web
开 发 者 可 以 用 各 种 脚 本 语 言 编 写 程 序 而 不 用 担 心 浏 览 器 是 否 支 持 。 实 际 上 , 在 一 个
.asp 文 件 中 就 可 以 使 用 多 种 脚 本 语 言 , 只 要 你 在 每 段 脚 本 程 序 开 始 处 用 HTML 标 签
标 明 所 用 的 脚 本 语 言 。<br>
<br>
<img src="../images/blank.gif" width="30" height="1" border="0"> VBScript
是 缺 省 的 主 脚 本 语 言 。 主 脚 本 语 言 用 在 定 界 符 < % 和 %> 之 内 , 你 可 以 在 定 界 符 之 内
使 用 任 何 有 效 的 VBScript 命 令 , ASP 会 按 VBScript 处 理 这 些 命 令 。 其 实 , 你 可 以
将 任 一 种 脚 本 语 言 设 为 主 脚 本 语 言 。 你 可 以 不 厌 其 烦 的 一 页 一 页 的 设 置 , 也 可 以 将
某 一 种 脚 本 语 言 设 为 你 的 Web 服 务 器 上 所 有 页 的 主 脚 本 语 言 。 如 果 你 想 在 某 一 页 中
将 一 种 脚 本 语 言 设 为 主 角 本 语 言 , 只 要 在 .asp 文 件 开 始 处 加 上 如 下 的 命 令 就 可 以 了
。<br>
<br>
<img src="../images/blank.gif" width="30" height="1" border="0"> < %@ LANGUAGE
= ScriptingLanguage %> 其 中 , ScriptingLanguage 代 表 你 想 设 置 的 主 脚 本 语 言 。
如 若 你 想 将 某 一 种 脚 本 语 言 设 为 你 的 Web 服 务 器 上 所 有 页 的 主 脚 本 语 言 , 你 就 需 要
动 用 功 能 强 大 的 Register Editor ( 注 册 编 辑 器 , regedit.exe ) , ASP 注 册 参 数
的 注 册 路 径 如 下 :
<p> HKEY_LOCAL_MACHINE\SYSTEM<br>
\CurrentControlSet<br>
\Services<br>
\W3SVC<br>
\ASP<br>
\Parameters </p>
<img src="../images/blank.gif" width="30" height="1" border="0"> 其 中 , 注 册
表 项 DefaultScriptLanguage 的 缺 省 值 是 "VBScript" , 将 其 改 为 欲 设 置 的 脚 本 语 言
即 可 。 例 如 , 若 想 将 JScript 设 为 主 角 本 语 言 , 则 将 注 册 表 项 DefaultScriptLanguage
的 值 改 为 "JScript" 就 行 了 。 在 同 一 个 .asp 文 件 中 混 合 使 用 不 同 的 脚 本 语 言 是 ASP
迷 人 的 特 色 之 一 。 这 样 , 你 就 可 以 发 挥 各 种 不 同 的 脚 本 语 言 在 不 同 方 面 的 优 势 。 你
可 以 用 不 同 的 脚 本 语 言 编 写 不 同 的 脚 本 程 序 来 完 成 不 同 的 工 作 。<br>
<br>
<img src="../images/blank.gif" width="30" height="1" border="0"> 脚 本 程 序 实
际 上 就 是 一 组 执 行 特 定 任 务 的 脚 本 命 令 。 如 果 你 经 常 要 执 行 某 一 组 特 定 任 务 , 你 就
可 以 将 之 定 义 成 程 序 , 然 后 重 复 调 用 。 程 序 要 按 特 定 的 脚 本 语 言 的 规 则 写 在 标 签 <
SCRIPT> 和 < /SCRIPT> 之 间 。 当 然 , 如 果 你 用 主 脚 本 语 言 写 程 序 的 话 , 写 在 定 界 符
< % 和 %> 之 间 也 可 以 。 如 果 你 的 程 序 只 在 某 一 页 内 调 用 的 话 , 把 它 放 在 这 一 页 内 就
行 了 , 如 果 你 在 多 页 中 都 要 调 用 某 些 程 序 的 话 , 你 可 以 把 这 些 程 序 放 在 一 个 单 独 的
.asp 文 件 中 , 然 后 在 每 个 要 调 用 这 些 程 序 的 .asp 页 中 将 那 个 .asp 文 件 包 含 进 来 。
<p><img src="../images/blank.gif" width="30" height="1" border="0"> 要 在 .asp
页 中 包 含 其 他 文 件 , 使 用 以 下 的 语 法 :
<p><img src="../images/blank.gif" width="30" height="1" border="0"> < !--#INCLUDE
VIRTUAL|FILE="filename"--> </p>
<img src="../images/blank.gif" width="30" height="1" border="0"> 其 中 , filename
是 你 要 包 含 的 文 件 。 关 键 字 VIRTUAL 和 FILE 任 选 其 一 , VIRTUAL 表 示 要 包 含 的 文 件
在 一 个 虚 拟 目 录 内 ( 该 目 录 为 Web 共 享 目 录 ) , FILE 表 示 要 包 含 的 文 件 在 一 个 当 前
文 件 相 关 目 录 内 。 例 示 如 下 : 假 设 你 有 两 个 Web 共 享 目 录 Dir1 和 Dir2, 目 录 Dir1
内 有 文 件 file11.asp 和 file12.asp, 目 录 Dir2 下 有 文 件 file2, 若 要 在 文 件 file11.asp
中 包 含 file2.asp , 则 将 如 下 命 令 加 入 到 文 件 file11.asp 中 :<br>
<br>
<img src="../images/blank.gif" width="30" height="1" border="0"> < !--INCLUDE
VIRTUAL="Dir2/file2.asp"-->
<p><img src="../images/blank.gif" width="30" height="1" border="0"> 若 要 在
file11.asp 中 包 含 file12.asp , 则 将 如 下 命 令 加 入 到 文 件 file11.asp 中 :
<p><img src="../images/blank.gif" width="30" height="1" border="0"> < !--INCLUDE
FILE="file12.asp"-->
<p><img src="../images/blank.gif" width="30" height="1" border="0"> 或 者 使
用 如 下 命 令 亦 可 :
<p><img src="../images/blank.gif" width="30" height="1" border="0"> < !--INCLUDE
VIRTUAL="Dir1/file12.asp"--> </p>
<img src="../images/blank.gif" width="30" height="1" border="0"> 程 序 写 好 了
, 怎 么 调 用 它 哪 ? 如 果 你 用 的 脚 本 语 言 是 VBScript , 只 要 一 个 简 单 的 关 键 字 Call
再 加 上 程 序 名 就 可 以 了 。 如 果 你 要 调 用 的 程 序 有 参 数 , 要 把 参 数 用 括 号 括 起 来 。 如
果 你 省 略 关 键 字 Call , 括 号 也 要 省 略 。 下 面 例 示 了 在 同 一 ASP 页 中 用 两 种 不 同 的 脚
本 语 言 ( VBScript 和 JScript ) 创 建 和 调 用 程 序 。 <br>
< HTML><br>
< HEAD><br>
< TITLE>Use different script in same page < /TITLE><br>
< /HEAD>
<p> < BODY bgcolor="#FFFFFF"> </p>
< TABLE><br>
< % Call Echo %><br>
< /TABLE><br>
< % Call PrintDate %><br>
< /BODY><br>
< /HTML><br>
<br>
< SCRIPT LANGUAGE=VBScript RUNAT=Server><br>
Sub Echo<br>
Response.Write _<br>
"< TR>< TD>Name< /TD>< TD>Value< /TD>< /TR>"<br>
Set Params = Request.QueryString<br>
For Each p in Params<br>
Response.Write "< TR>< TD>" & p & "< /TD>< TD>" & _<br>
Params(p) & "< /TD>< /TR>"<br>
Next<br>
End Sub<br>
< /SCRIPT>
<p> < SCRIPT LANGUAGE=JScript RUNAT=Server><br>
function PrintDate()<br>
{<br>
var x<br>
x = new Date()<br>
Response.Write(x.toString())<br>
}<br>
< /SCRIPT>
<p><img src="../images/blank.gif" width="30" height="1" border="0"> 在 服 务
器 端 使 用 VBScript 时 , 有 两 个 VBScript 的 特 性 不 能 使 用 。 因 为 脚 本 在 服 务 器 端
执 行 , VBScript 中 提 供 用 户 界 面 的 InputBox 和 MsgBox 就 不 支 持 了 。 另 外 , VBScript
的 函 数 CreateObject 和 GetObject 也 不 支 持 。 </p>
<img src="../images/blank.gif" width="30" height="1" border="0"> 因 为 所 有 的
ASP 脚 本 都 在 服 务 器 端 执 行 , 就 不 需 要 象 使 用 客 户 端 脚 本 时 那 样 为 不 支 持 脚 本 的 浏
览 器 用 HTML 注 释 标 记 将 脚 本 隐 藏 起 来 。 所 有 的 脚 本 命 令 都 会 在 将 内 容 送 往 浏 览 器 之
前 处 理 。 但 你 可 以 在 脚 本 命 令 之 间 或 程 序 中 使 用 注 释 。 象 Basic 一 样 , 在 VBScript
中 有 两 种 形 式 的 注 释 可 用 : REM 或 单 引 号 。 如 下 例 所 示 :<br>
< %<br>
REM This line and the following line are comments<br>
' Print greeting in green<br>
greeting = "How are you!"<br>
< font color="GREEN">< %= greeting %><br>
%><br>
在 JScript 中 注 释 用 “ // ” , 如 下 例 所 示 :<br>
< % Call PrintDate %><br>
< SCRIPT LANGUAGE=JScript RUNAT=Server><br>
function PrintDate()<br>
{<br>
var x<br>
x = new Date()<br>
Response.Write(x.getDate())<br>
}<br>
// This is a definition for the procedure PrintDate.<br>
// This procedure will send the current date<br>
// to the client-side browser.<br>
< /SCRIPT><br>
</font></font></font>
</table>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -