用FrontPage98 開 發(fā)ASP
發(fā)表時間:2024-02-17 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]— — 構(gòu) 造 數(shù) 據(jù) 庫 接 口 網(wǎng) 頁 的 捷 徑 北 京 信 息 技 術(shù) 應(yīng) 用 研 究 所 蔣 曉 京 ---------------------------------------------------------------------------- ---- ----隨 著Inte...
— — 構(gòu) 造 數(shù) 據(jù) 庫 接 口 網(wǎng) 頁 的 捷 徑 北 京 信 息 技 術(shù) 應(yīng) 用 研 究 所 蔣 曉 京
----------------------------------------------------------------------------
---- ----隨 著Internet/Intranet 和Web 技 術(shù) 的 迅 猛 發(fā) 展, 上 網(wǎng) 用 戶 已 不 僅
僅 滿 足 于 瀏 覽 靜 態(tài) 的 網(wǎng) 頁 內(nèi) 容, 而 更 希 望 通 過 人 機(jī) 對 話 的 動
態(tài) 交 互 方 式 獲 取 所 需 信 息; 而 對 于Web 開 發(fā) 者 來 說, 靜 態(tài) 網(wǎng) 頁
也 存 在 占 用 磁 盤 空 間 多、 信 息 內(nèi) 容 分 散、 維 護(hù) 更 新 困 難 等 問
題。 因 此, 在Web 上 使 用 動 態(tài) 交 互 網(wǎng) 頁 發(fā) 布 信 息 已 是 眾 望 所 歸 。
----傳 統(tǒng) 的 生 成 動 態(tài) 網(wǎng) 頁 的 方 式 — — 如CGI、 ISAPI 等 存 在 開 銷 大
、 效 率 低、 開 發(fā) 困 難、 無 法 與HTML 語 言 緊 密 結(jié) 合 等 缺 陷。ASP(Ac
tive Server Pages, 中 文 譯 作“ 動 態(tài) 服 務(wù) 器 網(wǎng) 頁") 作 為 微 軟 公 司
推 出 的 新 一 代 動 態(tài) 網(wǎng) 頁 開 發(fā) 技 術(shù), 正 好 彌 補(bǔ) 了 這 些 缺 陷, 它
具 有 易 于 生 成、 面 向 對 象、 可 擴(kuò) 充、 安 全 性 好、 適 用 范 圍 廣 且
與HTML 完 全 融 合 等 特 點(diǎn)。 關(guān) 于 它 的 工 作 原 理 和 技 術(shù) 特 點(diǎn),《 計
算 機(jī) 世 界》 已 作 過 深 入 詳 細(xì) 的 專 題 報 道, 本 文 不 再 重 復(fù)。
----由 于 開 發(fā)ASP 需 要 編 程, 往 往 使 初 學(xué) 者 望 而 卻 步。FrontPage98
作 為 時 下 最 流 行 的 網(wǎng) 站 開 發(fā) 工 具, 具 有 使 用 簡 便, 可 視 化 等
特 點(diǎn)。 有 人 以 為FrontPage98 只 能 起 組 織、 管 理 網(wǎng) 站 和 修 飾 頁 面 的
作 用, 對 開 發(fā)ASP 幫 不 上 什 么 忙。 其 實(shí) 不 然,F(xiàn)rontPage98 內(nèi) 部 提 供
了 對ASP 的 支 持, 使 得 開 發(fā) 者 不 須 編 程, 只 要 寫 幾 句SQL 語 句,
就 能 快 速 生 成 與 后 臺 數(shù) 據(jù) 庫 接 口 的ASP 頁, 是 開 發(fā)ASP 很 好 的 入
門 工 具。 本 文 就 將 介 紹 這 一 技 術(shù), 并 對 這 一 技 術(shù) 的 優(yōu) 缺 點(diǎn)、
與 手 工 編 寫 方 式 的 結(jié) 合 等 加 以 闡 述。 用FrontPage98 生 成ASP 頁 的 方 法
----一、 首 先 確 保 你 的 系 統(tǒng) 滿 足 運(yùn) 行ASP 的 條 件, 即: 你 的Web 服 務(wù) 器 是 以 下 幾 種 中 的 一 種:
----Microsoft Internet Information Server 3.0/4.0 for Windows NT ;
---- Microsoft Peer Web Services for Windows NT ;
---- Microsoft Personal Web Server for Windows 95/98 。
你 的 服 務(wù) 器 裝 有 你 所 使 用 的 數(shù) 據(jù) 庫 的32 位ODBC 驅(qū) 動 程 序( 包 括A
ccess、SQL Server、Oracle、Foxpro 等, 總 之 是 所 有 支 持ODBC 的 數(shù) 據(jù) 庫)
, 如 果 沒 有, 在 服 務(wù) 器 上 安 裝 該 數(shù) 據(jù) 庫 的 客 戶 端 軟 件 即 可。
你 的 服 務(wù) 器 上 安 裝 了FrontPage 98 Server Extensions(FrontPage 98 服 務(wù)
器 擴(kuò) 展, 安 裝FP98 時 會 自 動 裝 入)。
你 的 服 務(wù) 器 上 安 裝 了ASP 引 擎( 運(yùn) 行 一 下IIS 安 裝 盤 或FP98 盤 中 的
ASP.EXE 文 件 即 可 安 裝, 也 可 到 以 下 網(wǎng) 址 下 載: www.microsoft.com/m
sdownload/iis3/Download2.asp?Prod=1 )。
對 于IIS4 或PWS for WIN98, 上 述“3”、“4” 步 在 安 裝 時 就 已 設(shè) 好, 不
用 另 裝。 另 外,“1”、“3”、“4” 安 裝 的 順 序 不 能 打 亂。
----二、 在 控 制 面 板 ODBC 中 定 義 好 你 要 使 用 的 數(shù) 據(jù) 庫 的DSN 數(shù) 據(jù)
源, 注 意 要 定 義 成“ 系 統(tǒng) 數(shù) 據(jù) 源"。
----三、 建 立 數(shù) 據(jù) 庫 查 詢 頁, 在FrontPage 98 的 Explorer 中 新 建 一 個
普 通HTML 網(wǎng) 頁, 在 上 面 插 入 一 個Form 對 象, 比 如 一 個 單 行 文 本
框, 并 命 名 為“T1", 在Form 所 在 區(qū) 域 單 擊 鼠 標(biāo) 右 鍵, 在 彈 出 的 菜
單 中 點(diǎn)“Form Properties", 再 選 擇“Send to other : " 項(xiàng), 在 下 拉 列 表
中 選 擇“Custom ISAPI , NSAPI , CGI , or ASP Script" 項(xiàng), 并 單 擊Options,
在 彈 出 對 話 框 的Action 中 指 明 目 標(biāo)ASP 頁 的 相 對 路 徑 和 文 件 名,
如 “asp/list.asp", 這 樣, 只 要 用 戶 在 瀏 覽 器 中 一 按“ 提 交", 頁 面 就 會 自 動 轉(zhuǎn) 到 該ASP 頁。
----四、 建 立 數(shù) 據(jù) 庫 查 詢 結(jié) 果 顯 示 頁。
用FrontPage 98 的Explorer 在 網(wǎng) 站 中 新 建 一 個 目 錄, 命 名 為“ASP" (
也 可 以 是 其 他 名 字), 賦 予 該 目 錄 允 許 執(zhí) 行 程 序 的 屬 性, 并 取
消 該 目 錄 的 可 讀 屬 性, 在 此 目 錄 下 新 建 一 個 網(wǎng) 頁, 并 命 名 為
list.asp。ASP 網(wǎng) 頁 的 文 件 名 后 綴 必 須 為“.asp", 這 是 規(guī) 定 的。 最
好 把 所 有ASP 文 件 放 在 同 一 目 錄 下。
用FrontPage Editor 打 開 此 頁, 通 過 選 取 菜 單Insert Database Databa
se Region Wizard, 進(jìn) 入Wizard。
在“ODBC Data Source Name(DSN)" 中 輸 入DSN 數(shù) 據(jù) 源 名( 即 前 面 第 “ 二
” 步 在ODBC 中 定 義 好 的), 如 果 數(shù) 據(jù) 庫 有 用 戶 名 和 密 碼, 請 選
中“Username" 和“Password" 復(fù) 選 框 并 輸 入 內(nèi) 容。 輸 完 后 點(diǎn)“NEXT "。
在“Enter the SQL string for the Query" 中 輸 入SQL 查 詢 語 句, 如“SELECT
* FROM table WHERE Name = ‘ % %T1 % %'”(table 為 數(shù) 據(jù) 庫 中 的 表
名, Name 為 字 段 名), 如 果 語 句 中 有 從Form 中 提 交 的 數(shù) 據(jù), 請 在
其 前 后 都 加 上“ % %", 如“T1" 應(yīng) 改 為“ % %T1 % %"。 如 果 你 點(diǎn)
擊“Insert Form Field Parameter" 來 加 入Form 提 交 的 數(shù) 據(jù),“ % %" 會
被 自 動 加 上。 你 也 可 以 用“Paste SQL From Clipboard" 從 剪 貼 板 貼 入
SQL 語 句。 輸 完 后 點(diǎn) “NEXT "。
點(diǎn)“Add field", 輸 入 字 段 名, 在“Enter the query field names" 中 加 入
要 在 結(jié) 果 中 顯 示 的 字 段( 至 少 要 輸 入 一 個)。 如 果 想 以 表 格 方
式 輸 出 結(jié) 果, 請 選 中“Show the query in a table" 復(fù) 選 框。 最 后 單 擊
“Finish", 這 樣, 一 個ASP 頁 就 生 成 了。
進(jìn) 一 步 調(diào) 整 輸 出 結(jié) 果 的 外 觀, 直 到 滿 意 為 止。 注 意, 表 頭 的 文
字 可 隨 意 修 改, 但 有 機(jī) 器 人 控 制 的“Database : xxxx" 部 分 不 能 修 改, 不 過 可 移 動 或 刪 除。
如 果 你 需 要 修 改 前 面 輸 入 的DSN 數(shù) 據(jù) 源、SQL 語 句 或 增 減 在 結(jié) 果
中 顯 示 的 字 段, 把 鼠 標(biāo) 移 到Wizard 生 成 的 部 分, 當(dāng) 鼠 標(biāo) 變 成 一
個 小 機(jī) 器 人 時 單 擊 右 鍵, 在 彈 出 的 菜 單 中 選 中“Database Region
Properties" 或“Database Column Value Properties" 來 進(jìn) 行 修 改。
用FrontPage98 生 成ASP 頁 的 優(yōu) 缺 點(diǎn)
----根 據(jù) 筆 者 的 使 用 經(jīng) 驗(yàn), 用Database Region Wizard 生 成ASP 頁, 具 有 以 下 優(yōu) 點(diǎn):
----一、 不 用 編 寫 代 碼, 快 速 高 效, 簡 便 易 行, 適 合 于 初 學(xué) 者 和
非 專 業(yè) 人 員。 你 只 須 構(gòu) 造 好 你 的SQL 查 詢 語 句, 其 他 的 事 大 可
放 心 地 交 給Wizard 去 做, 比 自 己 手 工 編 寫 快。
----二、 程 序 對 輸 入 控 制 嚴(yán) 格, 有 效 避 免 非 法 字 符 入 侵。 用Data
base Region Wizard 生 成 的 程 序, 通 過 對 表 單 提 交 的 數(shù) 據(jù) 前 后 加“
% %" 并 在 執(zhí) 行 過 程 中 檢 驗(yàn), 以 及 對 所 提 交 數(shù) 據(jù) 中 的 “ " ”、
“ ' ”( 即 單 雙 引 號) 等 符 號 進(jìn) 行 層 層 過 濾 的 做 法, 避 免 了 表
單 提 交 非 法 數(shù) 據(jù) 引 起 的 程 序 運(yùn) 行 錯 誤。 而 手 工 編 寫ASP 頁 時 這 些 都 要 自 己 處 理。
----三、 可 以 通 過FrontPage Editor 對 輸 出 結(jié) 果 的 格 式 進(jìn) 行 直 觀 的
調(diào) 整, 使 輸 出 結(jié) 果 更 為 美 觀。 通 常, 由 于ASP 頁 是 動 態(tài) 生 成 的,
手 工 編 寫 的ASP 頁, 在FrontPage Editor 中 由 于 未 經(jīng) 運(yùn) 行, 所 以 看 不
到 輸 出 結(jié) 果 的 樣 式, 也 就 無 法 調(diào) 整; 而Wizard 生 成 的ASP 頁, 通
過FrontPage WebBot( 機(jī) 器 人) 對 輸 出 結(jié) 果 提 供 了 預(yù) 覽, 你 可 以 像
調(diào) 整 任 何 靜 態(tài) 文 字、 表 格 一 樣 調(diào) 整 輸 出 結(jié) 果 的 外 觀。
----但 是, 過 于 自 動 化 的 處 理 有 時 也 往 往 意 味 著 靈 活 性 的 喪 失
。Wizard 為 我 們 帶 來 方 便 的 同 時, 也 削 弱 了ASP 程 序 運(yùn) 行 的 自 由
度, 為 我 們 細(xì) 致 入 微 地 控 制 程 序 帶 來 了 一 些 麻 煩。 如 果 你 用
Wizard 生 成 了 一 個ASP 頁, 然 后 又 在FrontPage Editor 中 點(diǎn) 擊“HTML" 卡
片, 在HTML 編 輯 方 式 下 插 入 了 一 些 自 己 的ASP 代 碼, 比 如 自 動 分
頁 的 代 碼, 然 后 存 盤 退 出,F(xiàn)rontPage Editor 會 彈 出 一 個 “The cont
ents of a FrontPage component have been modified . These contents will be ov
erwritten when you save this page " 的 提 示, 并 且 只 有 一 個“ 確 定" 按
鈕, 這 樣, 你 在 HTML 方 式 下 插 入 的ASP 代 碼 大 部 分 都 不 會 被 保
存。 筆 者 就 曾 犯 過 這 樣 的 錯 誤, 結(jié) 果 辛 辛 苦 苦 編 寫 的 大 段 代 碼 都 付 諸 東 流。
與 手 工 編 寫 的ASP 代 碼 相 結(jié) 合
----怎 樣 才 能 使Wizard 生 成 的 代 碼 與 手 工 編 寫 的ASP 代 碼 在 同 一A
SP 頁 中 和 平 共 處 呢 ? 方 法 是: 先 用FrontPage Editor 打 開ASP 頁, 調(diào)
整 好 用Wizard 自 動 處 理 的 部 分, 以 及 所 有 想 用 FrontPage Editor 處
理 的 部 分, 如 頁 面 外 觀 的 調(diào) 整 等, 存 盤 退 出。 在 FrontPage Explo
rer 的Folders 視 圖 右 擊 該ASP 頁 的 圖 標(biāo), 在 彈 出 的 菜 單 中 選“Open
With …", 在 隨 后 出 現(xiàn) 的 選 項(xiàng) 中 選“Text Editor(notepad.exe)", ASP
頁 將 以 記 事 本 方 式 打 開。 輸 入 自 己 的ASP 代 碼, 請 注 意 以 下 諸 點(diǎn):
----一、 在“" 中 的 部 分 是FrontPage 機(jī) 器 人 自 動 處 理 的 部 分, 最 好
不 要 改 動, 但 你 可 以 改 動 下 面 這 一 句:“No Record Found!" , 把 凡
是 出 現(xiàn) 這 一 句 的 地 方 雙 引 號 內(nèi) 的 部 分 改 為:“ 對 不 起 ! 沒 有
符 合 要 求 的 記 錄。" 或 干 脆 連 雙 引 號 一 起 刪 掉, 這 樣, 當(dāng) 沒 有
記 錄 返 回 時, 就 不 會 顯 示 英 文 “No Record Found!" 了。
----二、< % … … %> 中 的 部 分 即 是ASP 的 代 碼 部 分。 你 既 可 以 在
已 有 的< % … … %> 部 分 中 插 入 自 己 的ASP 代 碼, 也 可 以 在HTML 語
句 中 通 過 插 入< % … … %> 來 開 辟 自 己 的ASP 代 碼 區(qū) 域。 當(dāng) 然,
你 首 先 應(yīng) 讀 懂 自 動 生 成 的ASP 代 碼, 理 解 它 的 流 程 控 制 和 主 要
變 量 的 含 義, 再 加 入 自 己 的 代 碼, 比 如 分 頁 控 制 等。 由 于 自
動 生 成 的ASP 代 碼 中 的 變 量 使 用 的 都 是 描 述 性 的 短 語, 應(yīng) 該 不 難 理 解。
----三、 對 于 已 存 在 的HTML 和Wizard 生 成 的ASP 代 碼, 也 可 以 根 據(jù) 需
要 稍 加 調(diào) 整。 比 如 運(yùn) 行 由Wizard 生 成 的ASP 頁 時, 如 果 你 是 以 表
格 方 式 輸 出 結(jié) 果, 當(dāng) 沒 有 任 何 記 錄 返 回 時, 頁 面 上 也 會 出 現(xiàn)
一 行 孤 零 零 的 表 頭, 很 不 美 觀, 原 因 是Wizard 把 生 成 表 頭 的 那
幾 行HTML 語 句 放 在 了 判 斷 是 否 有 記 錄 返 回 的ASP 語 句 之 前, 你
可 以 把 它 挪 到 后 面, 使 表 頭 只 在 有 記 錄 返 回 時 才 顯 示 出 來。
----四、 存 盤 退 出 后, 記 住 以 后 最 好 不 要 再 用 FrontPage Editor 打
開 此 頁 了, 即 使 打 開 也 不 要 存 盤, 否 則 大 部 分 手 工 加 入 的ASP
代 碼 都 會 被 清 除。 如 果 要 編 輯, 用notepad( 記 事 本) 打 開。
----筆 者 曾 用 上 述 方 法 開 發(fā) 了 諸 如 用 戶 意 見 反 饋、 圖 書 資 料 庫
查 詢 等ASP 應(yīng) 用。 一 般 都 是 先 用Database Region Wizard 生 成ASP 程 序
框 架, 再 用FrontPage Editor 進(jìn) 行 外 觀 潤 色, 最 后 用 Text Editor(note
pad) 加 入 自 己 的 個 性 化 控 制, 如 輸 出 結(jié) 果 的 分 頁 控 制 等。 在
時 間 有 限, 并 且 要 求 不 很 復(fù) 雜 的 情 況 下, 這 種 方 法 的 確 能 起
到 事 半 功 倍 的 效 果。 當(dāng) 然, 如 果 你 有 更 多 的 時 間 和 精 力, 想 進(jìn)
一 步 優(yōu) 化 你 的ASP 網(wǎng) 頁, 建 議 你 最 好 使 用ASP 的 專 用 開 發(fā) 工 具,
如InterDev 等。 順 便 提 醒 一 句 — — 它 可 是 很 占 地 兒 的。(出處:熱點(diǎn)網(wǎng)絡(luò))