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