说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

WEB数据库的开发-Delphi资料

HTML文档下载 WORD文档下载 PDF文档下载
WEB数据库的开发-Delphi资料

一、 引 言

WWW 是 目 前 Internet 上 发 展 最 快 的 领 域 , 也 是 Internet 网 上 最 重 要 的 信 息 检 索 手 段 。 早 期 的 Web 页 面 (Home Page) 主 要 用 来 传 递 静 态 HTML 文 档 , 后 来 由 于 CGI 接 口 , 特 别 是 Java 和 JavaScript 语 言 的 引 入 , 使 得 Web 页 面 可 以 方 便 地 传 播 动 态 信 息 。 借 助 Java 和 JavaScript 语 言 , 可 以 设 计 出 具 有 动 画 、 声 音 、 图 形 / 图 像 和 各 种 特 殊 效 果 的 Web 页 面 。

WWW 的 主 要 内 容 包 括 超 文 本 传 输 协 议 (HTTP) 、 超 文 本 标 记 语 言 (HTML) 、 通 用 网 关 接 口 (CGI) 、 Java 和 JavaScript 语 言 等 。

HTTP(Hyper Text Transfer Protocol) , 是 一 个 专 门 为 Web 服 务 器 和 Web 浏 览 器 之 间 交 换 数 据 而 设 计 的 网 络 协 议 。 它 通 过 规 定 通 用 资 源 定 位 符 (URLs) 使 客 户 端 的 浏 览 器 与 服 务 器 的 Web 资 源 建 立 链 接 关 系 , 从 而 奠 定 了 用 户 对 Internet 透 明 访 问 的 基 础 。

HTML 是 WWW 的 通 用 标 记 语 言 , 它 用 来 创 建 Web 页 面 和 控 制 Web 信 息 显 示 格 式 。 HTML 不 是 编 程 语 言 , 而 是 一 种 描 述 语 言 。 HTML 2.0 得 到 了 IETF(Internet Engineering Task Force) 的 支 持 而 成 为 Internet 国 际 标 准 。 目 前 , HTML 已 经 发 展 到 3  0 和 3  2 版 , 只 是 新 版 本 的 标 准 尚 未 完 全 统 一 , 不 同 的 商 家 对 HTML 2.0 进 行 了 一 定 的 扩 充 , 引 入 了 更 多 新 的 功 能 。 例 如 , Netscape 公 司 在 HTML 3.0 中 增 加 了 页 面 底 图 (Background Images) 和 表 (Table) 定 义 等 标 记 , 使 得 Web 页 面 更 加 引 人 入 胜 。

CGI 是 通 用 网 关 接 口 (Common Gateway Interface) 的 简 称 , 它 是 Web 服 务 器 与 外 部 程 序 之 间 的 通 信 接 口 , 服 务 器 并 不 关 心 外 部 应 用 程 序 是 用 什 么 语 言 ( 如 C 、 C + + 、 Pascal 、 Delphi 或 Perl) 编 写 的 , 它 只 是 负 责 接 收 用 户 输 入 的 信 息 , 并 把 CGI 程 序 所 产 生 的 结 果 — — HTML 文 档 或 其 他 符 合 HTTP 规 定 的 文 件 回 传 给 用 户 。 事 实 上 , CGI 是 动 态 Web 页 面 制 作 的 第 一 步 , 但 由 于 CGI 程 序 实 现 比 较 困 难 , 而 且 效 率 不 高 , 它 已 经 逐 渐 被 新 的 技 术 所 取 代 。

Java 是 由 Sun 公 司 开 发 的 面 向 对 象 (Object - oriented) 程 序 设 计 语 言 , 它 支 持 Client/Server 计 算 。 Java 最 初 的 目 标 是 建 立 一 个 适 合 于 家 用 电 器 产 品 使 用 的 系 统 环 境 , 但 并 没 有 获 得 成 功 , 所 幸 的 是 它 以 其 固 有 的 优 点 被 用 来 弥 补 和 扩 充 HTML 语 言 的 不 足 , 成 为 Internet 领 域 后 来 居 上 的 重 要 工 具 。 Java 很 有 可 能 成 为 今 后 十 年 互 联 网 上 的 主 流 语 言 。

JavaScript 是 由 Sun 公 司 和 Netscape 公 司 共 同 研 制 的 基 于 对 象 (Object - based) 的 语 言 , 它 舍 弃 了 Java 中 最 复 杂 的 类 (Class) 定 义 和 继 承 等 成 分 , 而 只 保 留 了 它 的 表 达 式 和 控 制 语 句 。 这 种 简 化 并 不 影 响 它 在 WWW 中 发 挥 重 要 作 用 , 相 反 , 因 为 有 了 JavaScript , 一 般 的 Web 页 面 设 计 者 都 可 以 十 分 容 易 地 实 现 过 去 只 有 靠 专 业 程 序 员 编 制 复 杂 的 CGI 程 序 才 能 完 成 的 功 能 , 从 而 使 Web 技 术 得 到 进 一 步 普 及 。

交 互 式 动 态 HTML 页 面 的 实 现 需 要 以 大 量 数 据 资 源 为 基 础 , 为 了 对 数 据 资 源 进 行 高 效 的 存 取 , 自 然 会 引 入 数 据 库 系 统 , 于 是 , Web 数 据 库 便 应 运 而 生 了 。

许 多 数 据 库 和 WWW 商 家 都 把 数 据 库 与 Web 的 连 接 性 作 为 发 展 战 略 的 一 个 重 要 组 成 部 分 。

Oracle 公 司 通 过 Oracle 7 数 据 库 和 Web 技 术 的 全 面 集 成 , 提 供 了 一 个 Intranet 开 发 平 台 , Oracle Web Server 允 许 Web 客 户 直 接 通 过 Web 浏 览 器 来 访 问 Oracle 7 数 据 库 中 存 储 的 数 据 。 Oracle Web Server(2.0 版 以 上 ) 用 户 能 够 调 用 存 储 过 程 生 成 动 态 Web 页 面 , 而 无 需 依 赖 CGI 。

Sybase 公 司 的 战 略 计 划 中 也 处 处 体 现 出 Internet 的 连 接 性 , 特 别 是 通 过 加 强 Internet 数 据 仓 库 技 术 来 突 出 其 产 品 的 稳 健 性 和 易 扩 展 性 ; Sybase 的 交 互 式 数 据 仓 库 允 许 用 户 通 过 其 IQ(Information Query) 产 品 进 行 快 速 交 互 式 查 询 , 在 Sybase System 11 中 , Internet 连 接 性 也 是 最 主 要 的 特 色 。

作 为 世 界 上 最 大 的 Web 产 品 供 应 商 , Netscape 公 司 也 在 其 LiveWire 开 发 工 具 中 提 供 了 一 个 内 部 数 据 库 对 象 database , 通 过 database 对 象 的 各 种 方 法 , 可 完 成 对 数 据 库 服 务 器 的 连 接 、 检 索 、 更 新 、 提 交 、 回 退 等 操 作 。

Microsoft 公 司 的 Web 服 务 器 IIS(Internet Information Server) 中 也 有 一 个 数 据 库 连 接 器 IDC(Internet Database Connector) , 可 以 动 态 地 查 询 和 更 新 数 据 库 。

需 要 指 出 的 是 , 目 前 尚 未 形 成 Web 数 据 库 工 业 标 准 , 不 同 商 家 的 产 品 各 有 长 短 。

二 、 从 Client/Server 应 用 到 Intranet/Web 应 用

在 过 去 的 十 几 年 里 , Client/Server 结 构 为 实 现 企 业 级 的 信 息 共 享 起 到 了 举 足 轻 重 的 作 用 , 但 随 着 企 业 规 模 的 日 益 扩 大 , 应 用 程 序 复 杂 程 度 的 不 断 提 高 , 传 统 的 Client/Server 结 构 也 暴 露 出 许 多 问 题 , 尤 其 是 系 统 软 件 和 应 用 软 件 变 得 越 来 越 复 杂 。 这 不 仅 给 应 用 软 件 实 现 带 来 困 难 , 还 给 软 件 维 护 造 成 不 便 ; 随 着 用 户 需 求 的 改 变 , Client 端 应 用 软 件 可 能 需 要 增 加 新 的 功 能 或 修 改 用 户 界 面 , 那 么 该 软 件 的 应 用 范 围 越 广 , 软 件 维 护 的 开 销 也 就 越 大 。 另 外 , Client/Server 结 构 所 采 用 的 软 件 产 品 大 都 缺 乏 开 放 的 标 准 , 一 般 不 能 跨 平 台 运 行 。 当 把 Client/Server 结 构 的 软 件 应 用 于 广 域 网 时 就 暴 露 出 更 大 的 不 足 。

Intranet/Web 技 术 可 以 比 较 圆 满 地 解 决 上 述 问 题 。 Intranet 是 采 用 Internet 技 术 的 企 业 内 联 网 络 , 它 既 可 与 Internet 互 联 , 也 可 以 独 立 使 用 , 具 有 很 大 的 灵 活 性 。 用 户 只 要 在 内 部 Intranet 上 建 立 自 己 的 Web 服 务 器 , 并 通 过 Web 服 务 器 与 数 据 库 服 务 器 连 接 , 就 能 够 大 大 降 低 软 件 维 护 开 销 , 因 为 采 用 Intranet/Web 技 术 , 我 们 只 需 开 发 和 维 护 服 务 器 端 应 用 程 序 ( 无 需 开 发 客 户 端 程 序 ) , 而 服 务 器 上 所 有 的 应 用 程 序 都 可 通 过 Web 浏 览 器 在 客 户 机 上 执 行 , 从 而 统 一 了 用 户 界 面 。 由 于 几 乎 各 种 操 作 系 统 上 都 有 Web 浏 览 器 , 所 以 Intranet/Web 应 用 可 以 方 便 地 实 现 跨 平 台 操 作 。

三 、 Web 服 务 器 与 数 据 库 服 务 器

的 连 接 技 术

1  CGI 技 术

CGI 是 最 早 的 Web 数 据 库 连 接 技 术 , 几 乎 所 有 的 Web 服 务 器 都 支 持 CGI 。 程 序 员 可 以 选 择 任 何 一 种 语 言 , 如 C 、 C + + 、 Delphi 、 Visual Basic 或 Perl 来 编 写 CGI 程 序 。

CGI 是 一 个 位 于 服 务 器 和 外 部 应 用 程 序 之 间 的 通 信 协 议 , CGI 程 序 可 以 与 Web 浏 览 器 进 行 交 互 , 并 可 以 通 过 数 据 库 的 调 用 接 口 与 数 据 库 服 务 器 进 行 通 信 。 例 如 , CGI 程 序 可 以 从 数 据 库 服 务 器 中 获 取 数 据 , 并 转 化 为 HTML 页 面 , 然 后 由 Web 服 务 器 发 送 给 浏 览 器 ; 也 可 以 从 浏 览 器 获 得 数 据 , 并 存 入 指 定 的 数 据 库 中 。

按 照 应 用 环 境 的 不 同 , CGI 可 以 分 为 标 准 CGI 和 Win CGI 两 种 。

(1) 标 准 CGI

标 准 CGI 通 过 环 境 变 量 或 者 命 令 行 参 数 来 传 递 Web 服 务 器 获 得 的 用 户 请 求 信 息 , Web 服 务 器 与 浏 览 器 之 间 的 通 信 采 用 标 准 输 入 / 输 出 方 式 。 当 Web 服 务 器 接 收 到 浏 览 器 发 来 的 CGI 请 求 时 , 首 先 对 该 请 求 进 行 分 析 , 并 设 置 所 需 的 环 境 变 量 或 命 令 行 参 数 , 然 后 创 建 一 个 子 进 程 启 动 CGI 程 序 。 CGI 程 序 执 行 完 毕 后 , 利 用 标 准 输 出 将 执 行 结 果 返 回 Web 服 务 器 。 CGI 的 输 出 类 型 可 以 是 HTML 文 档 、 图 形 / 图 像 、 纯 文 本 或 声 音 等 。

(2)Win CGI

标 准 CGI 采 用 标 准 输 入 / 输 出 进 行 数 据 通 信 , 但 许 多 Windows 环 境 的 编 程 工 具 ( 如 Visual Basic 和 Borland Delphi 等 ) 不 支 持 标 准 输 入 / 输 出 方 式 , 因 此 就 无 法 用 这 些 工 具 来 开 发 基 于 标 准 CGI 的 应 用 程 序 。

Win CGI 也 称 为 间 接 CGI 或 缓 冲 CGI 。 这 种 方 法 在 ( 不 支 持 标 准 输 入 / 输 出 的 )CGI 程 序 和 CGI 接 口 之 间 插 入 一 个 缓 冲 程 序 , 该 缓 冲 程 序 与 CGI 接 口 之 间 用 标 准 输 入 / 输 出 进 行 通 信 ; CGI 程 序 则 采 用 临 时 文 件 ( 缓 冲 区 ) , 而 不 是 标 准 输 入 / 输 出 进 行 数 据 通 信 。

当 Web 服 务 器 接 收 到 浏 览 器 的 请 求 时 , 先 创 建 一 个 子 进 程 启 动 缓 冲 程 序 , 该 缓 冲 子 进 程 与 Web 服 务 器 进 行 通 信 , 它 通 过 标 准 输 入 / 输 出 、 环 境 变 量 和 命 令 行 参 数 获 得 有 关 数 据 , 并 将 这 些 数 据 保 存 在 一 个 输 入 缓 冲 区 中 ; 然 后 , 缓 冲 子 进 程 再 创 建 一 个 子 进 程 启 动 CGI 程 序 , CGI 程 序 读 取 输 入 缓 冲 区 中 的 内 容 , 处 理 浏 览 器 的 请 求 , 并 将 要 输 出 的 内 容 存 入 输 出 缓 冲 区 ; 缓 冲 程 序 通 过 环 境 变 量 或 命 令 行 参 数 等 方 式 传 递 输 入 缓 冲 区 和 输 出 缓 冲 区 的 地 址 ( 或 临 时 文 件 名 ) 到 CGI 子 进 程 。

在 整 个 处 理 过 程 中 , 缓 冲 子 进 程 与 CGI 子 进 程 之 间 应 保 持 同 步 , 以 监 测 CGI 程 序 执 行 的 状 态 。 当 缓 冲 子 进 程 得 到 CGI 子 进 程 的 输 出 时 , 设 置 有 关 环 境 变 量 并 终 止 该 CGI 子 进 程 , 然 后 采 用 标 准 输 出 与 Web 服 务 器 通 信 , 并 通 过 Web 服 务 器 将 CGI 程 序 的 输 出 结 果 返 回 给 浏 览 器 。 Web 服 务 器 进 程 与 缓 冲 进 程 也 应 保 持 同 步 , 以 监 测 缓 冲 程 序 执 行 的 状 态 。

Win CGI 最 主 要 的 特 点 是 : Web 服 务 器 与 CGI 程 序 之 间 的 数 据 交 换 是 通 过 缓 冲 区 , 而 不 是 通 过 标 准 输 入 / 输 出 进 行 的 。

显 而 易 见 , CGI 程 序 是 作 为 独 立 的 外 部 应 用 程 序 来 执 行 的 , 它 与 Web 服 务 器 上 的 其 他 进 程 竞 争 处 理 器 资 源 , 因 此 导 致 运 行 速 度 缓 慢 。 此 外 , 用 CGI 开 发 Web 应 用 是 相 当 困 难 的 , 程 序 员 不 仅 要 掌 握 HTML 语 言 , 还 要 精 通 低 级 编 程 语 言 。 在 数 据 库 访 问 过 程 中 , 连 接 状 态 的 管 理 是 很 重 要 的 , 假 如 没 有 状 态 管 理 , 则 来 自 浏 览 器 的 每 一 次 请 求 都 需 要 一 个 对 连 接 的 建 立 和 释 放 过 程 , 这 样 效 率 肯 定 很 低 。 遗 憾 的 是 CGI 不 提 供 状 态 管 理 功 能 。 再 者 , 每 个 CGI 程 序 必 须 用 某 个 特 定 数 据 库 服 务 器 专 用 的 SQL 语 言 来 手 工 编 写 数 据 库 接 口 程 序 , 故 可 移 植 性 较 差 。

2  Web API 技 术

Web API 通 常 以 动 态 链 接 库 (DLL) 的 形 式 提 供 , 是 驻 留 在 Web 服 务 器 上 的 程 序 , 它 的 作 用 与 CGI 相 似 , 也 是 为 了 扩 展 Web 服 务 器 的 功 能 。

目 前 最 著 名 的 Web API 有 Netscape 的 NSAPI 、 Microsoft 的 ISAPI 和 O'Reilly 的 WSAPI 。 各 种 API 均 与 其 相 应 的 Web 服 务 器 紧 密 联 系 在 一 起 。

用 NSAPI 、 ISAPI 或 WSAPI 开 发 的 程 序 , 性 能 大 大 优 于 CGI 程 序 , 这 些 API 应 用 程 序 是 与 Web 服 务 器 软 件 处 于 同 一 地 址 空 间 的 DLL , 因 此 所 有 的 HTTP 服 务 器 进 程 能 够 直 接 利 用 各 种 资 源 , 这 显 然 比 调 用 不 在 同 一 地 址 空 间 的 CGI 程 序 所 占 用 的 系 统 时 间 要 短 。 程 序 员 可 以 利 用 API 分 别 开 发 Web 服 务 器 与 数 据 库 服 务 器 的 接 口 程 序 。

Web API 的 出 现 解 决 了 CGI 的 低 效 问 题 , 但 用 API 编 程 比 开 发 CGI 程 序 更 加 困 难 。 开 发 API 程 序 需 要 多 线 程 、 进 程 同 步 、 直 接 协 议 编 程 等 知 识 。

为 了 解 决 复 杂 与 高 效 之 间 的 矛 盾 , Netscape 与 Microsoft 均 为 各 自 的 Web 服 务 器 提 供 了 基 于 API 的 高 级 编 程 接 口 。 Netscape 提 供 的 是 LiveWire

Microsoft 提 供 的 是 IDC(Internet Database Connector) 。

(1)Netscape 的 LiveWire

LiveWire 是 一 个 通 用 的 Web 开 发 环 境 , 而 不 仅 仅 是 数 据 库 访 问 接 口 。 LiveWire 的 编 程 语 言 是 JavaScript , 它 提 供 了 一 个 database 对 象 , 该 对 象 的 方 法 可 用 来 操 作 关 系 数 据 库 。 当 一 个 应 用 程 序 要 连 接 数 据 库 服 务 器 时 , LiveWire 就 建 立 一 个 database 对 象 。 每 个 应 用 程 序 只 能 有 一 个 数 据 库 对 象 。

用 database 对 象 的 connect 方 法 可 连 接 数 据 库 服 务 器 , 例 如 :

database.connect( ″ ORACLE ″ , ″ OraSvr ″ , ″ system ″

″ manager ″

″ MyDB ″ )

可 连 接 到 ORACLE 数 据 库 服 务 器 OraSvr 上 system/manager 用 户 的 MyDB 数 据 库 实 例 上 。

LiveWire 提 供 了 几 种 显 示 数 据 库 查 询 结 果 的 方 法 。 其 中 , 最 简 单 而 且 最 快 的 是 用 database 对 象 的 SQL Table 方 法 。 SQL Table 方 法 以 HTML 表 的 形 式 返 回 SQL 语 句 的 查 询 结 果 。

SQL Table 自 动 控 制 查 询 结 果 的 输 出 格 式 , 这 是 最 简 单 的 方 法 。 如 果 你 希 望 自 己 定 制 输 出 格 式 , 可 用 数 据 库 光 标 建 立 自 己 的 显 示 函 数 。

每 个 数 据 库 查 询 都 将 返 回 一 个 光 标 , 光 标 可 以 看 成 数 据 库 查 询 结 果 构 成 的 虚 表 或 视 图 , 每 个 光 标 都 支 持 当 前 行 (current row) 的 概 念 , 它 是 指 向 结 果 表 中 记 录 的 指 针 。

一 旦 应 用 程 序 与 数 据 库 连 接 成 功 , 你 就 可 以 用 database 对 象 的 cursor 方 法 来 为 指 定 的 SQL 查 询 语 句 建 立 光 标 。

cursorName=database.cursor( ″ SELECT 语 句 ″ , updatable)

其 中 cursorName 是 为 光 标 对 象 所 取 的 名 字 ; “ SELECT 语 句 ” 是 数 据 库 服 务 器 支 持 的 SQL 查 询 语 句 ; updatable 是 一 个 布 尔 参 数 , 它 表 示 该 光 标 是 否 允 许 修 改 。

可 修 改 光 标 (updatable cursor) 允 许 借 助 光 标 的 当 前 行 来 更 新 数 据 库 中 的 表 。 但 这 时 的 光 标 只 能 限 定 为 单 表 的 查 询 结 果 。

应 用 程 序 可 以 用 disconnect 方 法 关 闭 数 据 库 连 接 :

database.disconnect()

一 旦 关 闭 了 数 据 库 连 接 , 应 用 程 序 便 无 法 建 立 光 标 或 使 用 其 他 database 方 法 。

事 务 是 一 组 数 据 库 操 作 的 集 合 , 这 些 操 作 要 么 一 起 成 功 , 要 么 一 起 失 败 。 操 作 的 提 交 或 回 退 是 一 同 生 效 的 。 事 务 处 理 的 概 念 对 维 护 数 据 的 完 整 性 和 一 致 性 是 十 分 重 要 的 。 尽 管 各 种 数 据 库 服 务 器 事 务 处 理 的 实 现 方 法 有 所 不 同 , LiveWare 提 供 了 统 一 的 事 务 处 理 接 口 。

主 要 是 数 据 库 更 新 语 句 (INSERT , UPDATE 和 DELETE) 要 在 事 务 控 制 之 下 完 成 。 database 对 象 的 begin Transaction 、 commitTransaction 和 rollbackTransaction 方 法 分 别 用 来 启 动 、 提 交 和 回 退 事 务 。

多 媒 体 数 据 ( 图 像 、 声 音 、 文 本 、 动 画 等 ) 可 以 二 进 制 大 对 象 (BLOB) 的 形 式 存 入 数 据 库 。 LiveWire 有 两 种 处 理 二 进 制 数 据 的 方 法 , 第 一 种 是 把 文 件 名 存 入 数 据 库 , 而 文 件 实 体 放 在 数 据 库 外 ; 第 二 种 是 直 接 用 BLOB 类 型 的 字 段 存 储 多 媒 体 数 据 , 再 通 过 LiveWire 提 供 的 BLOB 方 法 来 访 问 这 些 数 据 。

LiveWire 仅 仅 支 持 Netscape Enterprise/FastTrack Server , 而 不 支 持 其 他 的 Web 服 务 器 。

(2)Microsoft 的 IDC

IDC 是 Microsoft Web 服 务 器 IIS(Internet Information Server) 的 一 个 动 态 链 接 库 , 它 通 过 ODBC 接 口 访 问 各 种 数 据 库 。 IDC 包 含 两 种 类 型 的 文 件 : IDC 脚 本 文 件 ( * .IDC) 和 HTML 模 板 文 件 ( * .HTX) 。

IDC 脚 本 文 件 ( * .IDC) 用 来 控 制 数 据 库 访 问 , 其 中 包 括 数 据 库 名 、 用 户 名 、 口 令 和 SQL 语 句 等 数 据 库 连 接 参 数 , 以 及 与 此 IDC 文 件 对 应 的 HTML 模 板 文 件 ( * .HTX) 的 存 储 路 径 。

HTML 模 板 文 件 ( * .HTX) 是 实 际 HTML 文 档 的 模 板 , 它 以 直 观 的 方 法 说 明 怎 样 将 查 询 到 的 数 据 插 入 Web 页 面 。 模 板 中 可 以 有 静 态 文 字 、 图 形 / 图 像 或 其 他 HTML 页 面 元 素 。

对 数 据 库 服 务 器 的 每 一 次 查 询 都 需 要 一 个 IDC 脚 本 文 件 ( * .IDC) 和 一 个 HTML 模 板 文 件 ( * .HTX) 。 脚 本 文 件 必 须 存 储 在 Web 服 务 器 上 , 而 模 板 文 件 则 可 以 存 储 在 Web 服 务 器 能 够 访 问 到 的 任 何 地 方 。

IDC 的 处 理 流 程 大 致 如 下 : Web 服 务 器 IIS 对 浏 览 器 传 来 的 URL 字 符 串 进 行 分 析 , 如 果 当 前 URL 以 “  IDC ” 结 束 , 就 说 明 这 是 一 个 IDC 请 求 , 于 是 将 其 传 给 IDC 接 口 模 块 , IDC 将 依 次 读 取 脚 本 文 件 并 与 数 据 库 服 务 器 进 行 通 信 ; IDC 模 块 从 数 据 库 服 务 器 得 到 查 询 结 果 后 , 通 过 指 定 的 模 板 文 件 而 得 到 一 个 实 际 的 HTML 文 档 ; 然 后 将 该 文 档 交 给 Web 服 务 器 IIS , 由 IIS 将 HTML 文 档 返 回 Web 浏 览 器 。

IDC 不 仅 可 以 从 数 据 库 中 查 询 数 据 , 也 可 以 向 数 据 库 中 存 储 数 据 。 与 LiveWire 类 似 , IDC 仅 仅 支 持 Microsoft 的 IIS , 而 不 支 持 其 他 的 Web 服 务 器 。

3  RAD 技 术

RAD 是 快 速 应 用 开 发 (Rapid Application Development) 的 缩 写 。 传 统 的 RAD 工 具 , 如 PowerBuilder 、 Delphi 、 Uniface 、 NewEra 、 Oracle/Developer 2000 等 早 已 为 人 们 熟 知 。 近 两 年 来 , 随 着 Web 数 据 库 应 用 需 求 的 不 断 升 温 , 市 场 上 已 经 出 现 了 一 批 Web 数 据 库 RAD 工 具 , 例 如 , Powersoft 公 司 为 PowerBuilder 增 加 了 一 个 Internet Development Kit

PowerBuilder 6.0 更 加 突 出 了 Intranet/Web 技 术 ; Borland 公 司 在 推 出 IntraBuilder 之 后 , 又 把 Intranet/Web 技 术 真 正 融 入 最 新 的 Delphi 3.0 中 ; Oracle 公 司 的 新 版 Designer 2000 和 Developer 2000 也 能 够 直 接 生 成 Web 数 据 库 应 用 ; Uniface 公 司 通 过 其 Web enabler 产 品 将 代 码 直 接 转 化 为 Web 数 据 库 应 用 。

RAD 工 具 的 主 要 特 点 是 具 有 图 形 开 发 界 面 和 可 视 计 算 技 术 的 支 持 , 程 序 员 只 需 通 过 简 单 的 鼠 标 点 击 和 键 盘 交 互 操 作 , 即 可 快 速 生 成 应 用 程 序 代 码 。 这 里 , 我 们 简 单 介 绍 几 种 有 代 表 性 的 RAD 工 具 。

(1)IntraBuilder

在 使 用 Borland IntraBuilder 之 前 , 必 须 首 先 在 Web 服 务 器 上 安 装 IntraBuilder Server

并 在 开 发 平 台 上 安 装 IntraBuilder Designer 集 成 设 计 工 具 。

IntraBuilder 是 一 个 基 于 JavaScript 语 言 的 可 视 开 发 工 具 , 它 能 够 快 速 生 成 和 发 布 Intranet/Web 数 据 库 应 用 ; 用 户 通 过 Web 浏 览 器 访 问 IntraBuilder 应 用 程 序 。 IntraBuilder Server 具 有 连 接 数 据 库 与 Web 服 务 器 的 能 力 。

IntraBuilder 包 括 三 个 主 要 组 成 部 分 :

① IntraBuilder Designer 是 一 个 集 成 开 发 环 境 , 可 以 完 成 所 有 Web 应 用 开 发 工 作 , 它 包 括 图 形 用 户 界 面 、 程 序 自 动 生 成 工 具 Experts 和 可 视 化 RAD 设 计 工 具 。

② IntraBuilder Server 运 行 在 Web 服 务 器 上 , 用 来 处 理 客 户 机 的 请 求 , 目 前 IntraBuilder Server 只 能 安 装 在 Windows NT 或 Windows 95 上 。

③ 内 置 Intranet 应 用 程 序 。 这 些 程 序 的 所 有 模 块 均 可 重 用 (reuse) , 程 序 员 可 以 利 用 现 成 的 格 式 (Form) 、 表 (Table) 、 报 表 (Report) , 以 及 JavaScript 代 码 来 生 成 新 的 应 用 程 序 。

一 个 IntraBuilder 应 用 程 序 通 常 包 含 表 (Table) 、 格 式 (Form) 、 报 表 (Report) 和 页 面 (Home Page) 等 构 件 。 我 们 可 以 用 两 种 方 法 来 实 现 IntraBuilder 应 用 程 序 。 一 是 在 IntraBuilder Experts 工 具 的 指 导 下 , 通 过 人 - 机 交 互 , 自 动 生 成 表 、 格 式 、 报 表 和 页 面 等 元 素 ; 二 是 利 用 IntraBuilder Designer 可 视 化 设 计 工 具 分 别 建 立 应 用 程 序 的 各 元 素 。

(2)Uniface

Uniface 是 Compuware 公 司 推 出 的 基 于 组 件 的 可 视 化 开 发 环 境 。 Uniface 组 件 包 括 格 式 (Form) 、 服 务 程 序 (Service) 和 报 表 (Report) 等 。 所 有 程 序 模 块 中 的 定 义 都 是 可 重 用 的 (reusable) , 程 序 员 可 以 利 用 继 承 方 法 重 用 已 经 完 成 的 程 序 模 块 , 从 而 提 高 软 件 生 产 效 率 和 软 件 可 靠 性 。

Uniface 的 Web enabler 产 品 使 得 程 序 员 能 够 像 开 发 Client/Server 应 用 程 序 那 样 定 义 应 用 模 型 和 用 户 界 面 , 我 们 只 需 选 择 生 成 HTML 的 选 项 , 并 将 应 用 程 序 安 装 在 服 务 器 上 , 就 可 完 成 Web 应 用 开 发 。 此 时 , 用 户 既 可 在 Client/Server 模 式 下 通 过 Uniface 运 行 环 境 执 行 应 用 程 序 , 也 可 在 Web 浏 览 器 上 通 过 可 交 互 的 动 态 HTML 访 问 与 Client/Server 模 式 下 功 能 和 界 面 完 全 一 致 的 应 用 。

Web enabler 和 Web 服 务 器 必 须 安 装 在 同 一 台 机 器 上 , 这 与 IntraBuilder Server 需 要 与 Web 服 务 器 安 装 在 一 台 机 器 上 的 要 求 十 分 相 似 。 每 当 Web 服 务 器 接 收 到 用 户 请 求 , 便 通 过 Web enabler 启 动 Uniface Web 应 用 。

Web enabler 产 品 同 时 包 含 了 CGI 、 NSAPI 和 ISAPI 接 口 , 因 此 可 以 对 Microsoft IIS 、 Netscape Enterprise/FastTrack Server 等 不 同 商 家 的 Web 服 务 器 提 供 透 明 的 支 持 。

(3)Oracle/Designer 2000 与 Oracle/Developer 2000

Oracle 公 司 利 用 具 有 Internet 连 接 能 力 的 中 介 产 品 实 现 Oracle 7 数 据 库 服 务 器 与 Web 服 务 器 的 结 合 ; Oracle Web Server 通 过 Oracle 7 和 Web 技 术 的 全 面 集 成 提 供 了 一 个 Internet/Intranet 开 发 平 台 。 Oracle Web Server 允 许 Web 客 户 直 接 通 过 浏 览 器 访 问 Oracle 7 数 据 库 中 存 储 的 数 据 , 并 能 够 调 用 存 储 过 程 生 成 动 态 Web 页 面 , 而 无 需 依 赖 CGI 。

Oracle 公 司 提 供 了 两 个 工 具 — Designer 2000 和 Developer 2000 , 可 用 于 完 成 Web 应 用 程 序 的 开 发 , 它 们 的 编 程 语 言 是 扩 充 的 PL/SQL , 而 程 序 员 无 需 手 工 编 码 即 可 生 成 PL/SQL 程 序 。

Designer 2000 是 一 个 完 整 的 CASE 工 具 , 它 为 应 用 系 统 分 析 人 员 和 设 计 人 员 提 供 了 图 形 方 式 的 分 析 和 建 模 、 应 用 程 序 结 构 设 计 、 数 据 库 结 构 设 计 和 应 用 程 序 生 成 等 功 能 。 此 外 , 它 还 能 实 现 Client/Server 应 用 向 Intranet/Web 应 用 的 升 级 。

如 果 在 进 行 Client/Server 应 用 开 发 时 已 经 采 用 Designer 2000 作 为 设 计 开 发 工 具 , 那 么 现 在 只 需 选 用 新 版 Designer 2000 , 进 一 步 操 作 就 可 完 成 转 换 , 即 在 模 块 结 构 层 次 图 中 选 中 某 一 模 块 , 然 后 选 择 Web Server 生 成 工 具 进 行 Web 应 用 生 成 即 可 。 无 需 重 新 设 计 和 编 码 , 无 需 修 改 任 何 内 容 , 最 大 程 度 地 保 护 了 软 件 投 资 。

如 果 在 进 行 Client/Server 应 用 开 发 时 没 有 采 用 Designer 2000 , 而 是 用 Developer 2000 完 成 的 , 此 时 首 先 要 用 Designer 2000 的 反 向 设 计 功 能 , 对 用 Developer 2000 开 发 的 应 用 程 序 进 行 分 析 , 把 其 中 涉 及 到 的 数 据 库 信 息 和 应 用 程 序 结 构 的 分 析 结 果 形 成 数 据 定 义 信 息 和 模 块 定 义 信 息 , 同 时 把 这 两 类 信 息 记 录 到 共 享 分 析 库 中 。 然 后 , 依 据 模 块 定 义 信 息 , 通 过 使 用 Web Server 生 成 工 具 即 可 生 成 相 应 的 Web 应 用 程 序 。 Web 应 用 可 以 生 成 动 态 的 HTML 页 面 , 通 过 HTML 页 面 , 用 户 能 够 完 成 各 种 数 据 库 访 问 , 包 括 查 询 、 插 入 、 修 改 和 删 除 等 , 只 需 把 这 些 PL/SQL 程 序 包 安 装 到 Web 服 务 器 上 , 就 可 通 过 浏 览 器 使 用 了 。

Developer 2000 也 能 生 成 Web 应 用 , 在 保 持 原 有 功 能 的 同 时 , Developer 2000 中 的 Report 工 具 可 以 让 用 户 通 过 鼠 标 点 击 方 式 生 成 HTML 格 式 的 报 表 , 构 成 Web 应 用 , 其 操 作 方 式 同 Client/Server 结 构 的 报 表 工 具 一 样 简 单 。

4  Java/JDBC 技 术

JDBC 技 术 是 Java Database Connectivity 的 缩 写 , 它 是 JavaSoft 公 司 设 计 的 Java 语 言 的 数 据 库 访 问 API 。

最 初 的 Java 语 言 并 没 有 数 据 库 访 问 能 力 。 JDBC 是 第 一 个 支 持 Java 语 言 的 标 准 的 数 据 库 API , 其 目 的 在 于 使 Java 程 序 与 数 据 库 服 务 器 的 连 接 更 加 方 便 。 在 功 能 方 面 JDBC 与 ODBC 相 同 , 它 给 程 序 员 提 供 了 统 一 的 数 据 库 访 问 接 口 。

JDBC 访 问 数 据 库 的 过 程 是 这 样 的 : 用 户 通 过 浏 览 器 从 Web 服 务 器 上 下 载 含 有 Java Applet 的 HTML 页 面 。 如 果 其 中 的 Java Applet 调 用 了 JDBC , 则 浏 览 器 运 行 的 Java Applet 直 接 与 指 定 的 数 据 库 建 立 连 接 。

JDBC 是 一 个 与 数 据 库 系 统 独 立 的 API , 它 包 含 两 部 分 : JDBC API 和 JDBC Driver API 。 JDBC API 提 供 了 应 用 程 序 到 JDBC Driver Manager 的 通 信 功 能 ; JDBC Driver API 支 持 JDBC Driver Manager 与 数 据 库 驱 动 程 序 的 通 信 。

JDBC Driver Manager 类 似 于 ODBC Driver Manager , 用 来 管 理 各 数 据 库 软 件 商 提 供 的 JDBC 驱 动 程 序 。 JavaSoft 公 司 提 供 了 一 个 通 用 的 JDBC Driver Manager , 而 各 数 据 库 公 司 只 需 提 供 一 个 与 ODBC 类 似 的 JDBC 驱 动 程 序 , 开 发 人 员 就 可 以 用 Java 语 言 访 问 数 据 库 。

此 外 , JavaSoft 公 司 还 提 供 了 一 个 特 殊 的 驱 动 程 序 , JDBC - ODBC 桥 , 该 软 件 支 持 JDBC 通 过 现 有 的 ODBC 驱 动 程 序 访 问 数 据 库 服 务 器 。 JavaSoft 公 司 认 为 , 通 过 JDBC - ODBC 桥 访 问 数 据 库 不 会 造 成 明 显 的 性 能 下 降 。

JDBC API 提 供 了 一 系 列 Java 类 接 口 , 其 中 :

Java.sql.DriverManager 负 责 处 理 JDBC 数 据 库 驱 动 程 序 的 加 载 和 卸 载 。 DriverManager 类 作 为 JDBC 的 管 理 层 , 负 责 寻 找 并 装 载 与 URL 指 定 的 数 据 库 相 符 的 JDBC 驱 动 程 序 , 该 驱 动 程 序 与 远 程 数 据 库 相 连 , 返 回 一 个 Java.sql.Connection 对 象 。

Java.sql.Connection 负 责 建 立 与 数 据 库 服 务 器 的 连 接 。

Java.sql.Statement 可 以 通 过 Connection 对 象 执 行 一 条 SQL 语 句 。

Java.sql.ResultSet 表 示 从 数 据 库 服 务 器 返 回 的 结 果 集 。 通 过 操 作 该 结 果 集 可 实 现 对 数 据 库 的 访 问 。

要 访 问 数 据 库 , 必 须 首 先 建 立 一 个 Java.sql.Connection 对 象 , 可 以 通 过 调 用 DriverManager.get.Connection 得 到 此 对 象 。 该 方 法 的 参 数 是 一 个 URL , 它 唯 一 指 定 了 要 访 问 的 数 据 库 。

通 过 使 用 Java.io.Input 对 象 , JDBC 允 许 访 问 数 据 库 中 存 放 的 图 像 和 视 / 音 频 信 息 。

JDBC 也 支 持 数 据 库 事 务 处 理 。 在 缺 省 情 况 下 , JDBC 处 于 “ 自 动 提 交 ” 模 式 , 也 就 是 说 , 把 每 一 次 请 求 都 当 作 一 个 事 务 来 处 理 。 但 是 , 也 可 以 显 式 地 把 多 个 请 求 作 为 一 个 事 务 来 处 理 。 当 所 有 的 请 求 完 成 后 , 使 用 connection.Commit 方 法 提 交 当 前 事 务 , 或 者 使 用 connection.Rollback 退 回 当 前 事 务 。

JDBC 也 支 持 光 标 (Cursor) 操 作 。 光 标 用 来 定 位 一 个 特 定 的 记 录 。 当 光 标 被 激 活 时 , 可 以 在 光 标 指 定 的 记 录 上 完 成 数 据 操 作 。

目 前 JDBC 已 经 得 到 许 多 软 件 商 的 支 持 , 包 括 Oracle 、 Sybase 、 Borland 和 IBM 等 。 大 多 数 流 行 的 数 据 库 系 统 都 已 推 出 了 自 己 的 JDBC 驱 动 程 序 。

四 、 结 束 语

本 文 所 述 的 四 种 技 术 都 能 实 现 WWW 与 数 据 库 的 连 接 , 但 它 们 的 工 作 原 理 不 尽 相 同 。

CGI 和 API 技 术 是 将 Web 服 务 器 与 某 一 进 程 或 API 相 连 , 该 进 程 或 API 再 将 得 到 的 结 果 转 化 为 HTML 文 档 , 并 返 回 Web 服 务 器 , 然 后 由 Web 服 务 器 把 得 到 的 HTML 文 档 传 给 浏 览 器 。 就 是 说 , 与 数 据 库 服 务 器 的 通 信 是 由 Web 服 务 器 完 成 的 。 虽 然 API 技 术 比 CGI 技 术 提 高 了 效 率 , 但 仍 然 没 有 克 服 编 程 复 杂 的 困 难 。

为 了 解 决 高 效 与 复 杂 之 间 的 矛 盾 , Netscape 和 Microsoft 等 公 司 分 别 推 出 了 LiveWire 和 IDC 等 基 于 API 的 高 级 编 程 接 口 , 从 而 大 大 降 低 了 程 序 实 现 的 难 度 。

RAD 技 术 可 以 看 成 是 基 于 API 编 程 接 口 的 进 一 步 提 高 , 它 借 助 可 视 化 计 算 技 术 快 速 生 成 应 用 程 序 , 大 幅 度 减 少 了 手 工 编 程 的 工 作 量 , 增 强 了 软 件 的 可 靠 性 。

JDBC 技 术 与 上 述 几 种 技 术 有 很 大 不 同 , 这 里 , 由 (Java 兼 容 的 )Web 浏 览 器 将 嵌 入 HTML 文 档 中 的 Java Applet 直 接 下 载 到 客 户 机 上 运 行 。 也 就 是 说 , 与 数 据 库 服 务 器 的 通 信 是 由 Web 浏 览 器 直 接 完 成 的 。

我 们 必 须 清 醒 地 认 识 到 , WWW 技 术 是 90 年 代 初 才 问 世 的 , Web 数 据 库 更 是 近 两 三 年 才 发 展 起 来 的 新 技 术 , 目 前 的 国 际 标 准 化 程 度 很 低 , 各 软 件 商 推 出 的 产 品 和 技 术 大 多 互 不 兼 容 。 CGI 是 得 到 普 遍 遵 守 的 规 范 , 但 CGI 程 序 实 现 难 度 大 且 运 行 效 率 低 下 , 因 此 缺 乏 生 命 力 , 它 必 然 要 被 新 的 标 准 所 取 代 。 Web API 技 术 提 高 了 程 序 运 行 效 率 , 但 用 API 编 程 比 用 CGI 更 困 难 。 另 外 , 由 于 各 种 不 同 的 API 互 不 兼 容 , 用 某 种 API 编 写 的 程 序 只 能 在 特 定 的 Web 服 务 器 上 运 行 , 使 用 范 围 受 到 极 大 限 制 。 RAD( 包 括 各 种 基 于 API 的 高 级 编 程 接 口 ) 工 具 , 虽 然 解 决 了 直 接 用 API 编 程 带 来 的 困 难 , 提 高 了 软 件 开 发 效 率 , 但 仍 具 有 和 API 相 同 的 问 题 : 与 特 定 的 Web 服 务 器 捆 得 太 紧 , 缺 乏 通 用 性 。 值 得 关 注 的 是 JDBC 技 术 , 它 借 鉴 了 ODBC 成 功 的 经 验 , 并 且 可 以 直 接 利 用 现 有 的 ODBC 驱 动 程 序 访 问 数 据 库 。 JavaSoft 公 司 推 出 JDBC 之 后 , 得 到 绝 大 多 数 数 据 库 商 家 的 支 持 , 随 着 Java 语 言 在 WWW 中 发 挥 的 作 用 日 益 显 著 , 相 信 JDBC 会 取 代 CGI 而 成 为 新 的 标 准 。

WhatsApp:50名员工,月4亿活跃用户,日160亿条消息和5亿张图片 三星Galaxy Gear智能手表失利 需改进的8个方面 IE11全新的F12开发人员工具详解 研发周报:为什么开发者担心将代码公布 Hadoop YARN的发展史与详细解析 一周消息树:Firefox OS会不会成为下一个Android PhoneGap 3.3.0发布,支持Android 4.4 KitKat 移动周报:两岸三地在线编程学习网站大搜罗 有道周枫和他的“放养”团队 看IE11如何助力AAF推动公益事业 SUSE总裁Nils:将SUSE Cloud 2.0打造成“零影响的云安装程序” Windows 8之父Steven Sinofsky:2014年科技界的十大趋势 电视盒子还没智能化?看Fan TV们怎么玩 畅游启动“必赢计划” 十亿巨资代理优质产品 数据控使用Hadoop的三种最常用方式 值得创始人学习的五大企业文化管理方式 圣诞节快乐:来自程序员们的问候 宏碁任命新CEO Jason Chen:曾任职英特尔14年、台积电8年 史上第一次越狱发布会与Evad3rs太极助手罗生门 新东方在线CTO曾明:已用Cocos2d-html5开发出150余款产品 Facebook 2013年的9个开源项目 开源力量公开课2013年度庆典:我们的开源项目 看雪学院“走进企业看安全”活动走进安全管家 视频+PPT:苹果iOS7 Tech Talks大会演讲内容 iPhone 6和Galaxy S5暂不会采用弯曲屏技术 当程序不工作时,开发者常用的借口 携程技术副总裁叶亚明:三次重大技术改进的故事及背后原因 Google抛弃C语言,采用Go语言重写Go编译器 jQuery Mobile 1.4.0正式版发布,着重性能改进 IBM收购Aspera加速大数据传输 各式各样的极品程序员,你属于哪一种 请问vs.net中的解决方案和项目以什么尺度来划分 (转)请辞书 一个继承的问题... 声音嘶哑低沉,无论谁听了,都会觉得很不舒服,可是随着这语声走上楼来的,却是个风华绝代的女人 sql语句的问题 我想把本地的数据库导到远端的服务器上,该怎么做? ?!我怎么看不了帖子内容啊?!点开每一贴都出现同样的页面如下,各位是怎样? 我只能看见标题:( cad开次开发 安装win2000 ad server时的两个问题 再问如何备份远程数据库到本地文件? 请问在redhat8.0中有英汉词典的软件包吗?! 有关JavaMail取得的正文和标题是乱码的问题? 注册表的问题,有什么方法*****(送100分) 请问黑龙江中程成绩怎么查呀? 请问.net能在linux等操作系统上运行吗? 一个简单的问题? 请问哪里有delphi第三方控件开发和使用的书籍下载啊? 请问.net能在linux等操作系统上运行吗? 请问awt和swing有什么本质的不同呢?! 有点难度的sql 90分!看看这段JSP程序为什么出错。谢了! 模式窗体的postback 求教:在在模式对话框BOOL CXXX::OnInitDialog()中InitSocket()初始化失败,怎样退出该模式对话框 关于JTable,如何设置一行的颜色。 一个很简单的问题 读取远程的页面文件内容,但需要搜索结果的页面,请问如何实现??? 写了一个telnet服务器端程序,不能用exit退出,请大家帮忙看看~~谢谢! ?!我怎么看不了帖子内容啊?!点开每一贴都出现同样的页面如下,各位是怎样? 我只能看见标题:( 图片文件上载页,在上载页中实现预览的问题?急! 我的Asp为什么不能执行? 请教xml问题。 如何动态获得表单中checkbox中的name的值还有获得其值。 如何在UNIX下配置 Tomcat4.0 + Apache1.3 + JDK1.3? 在线等待! 请问版主:为何我在本版搜索“多语言”,找到的结果中没一个打得开? 如何在一个菜单项里控制另一个菜单项的状态(如变灰) 菜鸟问题 关于几个按钮布局?急 求救:关于在程序中运行其他程序的问题! 请问哪有Report Machine的下载? 请问只知道备份文件如何恢复数据库? To:qxjavajava: 哪里可以找到scjd的题目大家先做一下? 高程水平压线通过后的一点总结 请帮初学者看看这段简单的代码!感激t0 '_bstr_t' : missing storage-class or type specifiers 文件操作安全问题,请微软专家和各位高手进来看看 请教tdbgrid如何在非绑定模式下加入新行写入数据 问一下,在datagrid里加入comboBox控件后,怎样使comboBox的边框不可见? ==高手请看,数据库备分恢复问题== 这两种赋值方法真的有区别吗?内有代码,请指点 关于与后台连接的问题 请问黑龙江中程成绩怎么查? 如何用sql语句统计满足条件的记录数? 佟大为《门第》出演屌丝男 透露十年前维塔斯撞车遭警方起诉 或面临最高两年王菲扎满小辫现身机场 牵女儿李嫣母爱亚洲小姐竞选启动仪式 昔日亚姐低胸抢娱乐圈女星走光照盘点林峰带吴千语赴美国见家长 甜丝丝恩爱姚晨自曝胎儿性别 幻想儿子学钢琴吸引吴秀波亮相私人晚宴 孙俪裸肩连裤装抢成龙获小粉丝热情拥抱 送“激吻”回应杨幂刘诗诗范冰冰小S林志玲 盘点明星吴奇隆拍广告花絮曝光 大展跆拳道身手24届金曲奖提名公布 周杰伦蔡依林角章子怡印花透视裙美腿朦胧诱惑 古董华《小时代》郭敬明遭杨幂郭采洁调戏升高周杰伦邀孟丽观看个唱曝合照 签名力挺唐艺昕缤纷童趣写真 精灵鬼马宛若“萌戴爱玲完美变身 《想你的距离》5.3海清素颜自拍似大妈 盘点女明星卸妆前汪苏泷五月强势入豫 抢票风暴席卷“商《旅行离婚》热拍 刘青演技精湛诠释现《冒牌英雄》热拍 夏凡亦正亦邪演技获南大学生调查“家暴”社会问题苏宁推跨年盛典全城省到底南京经典2014秋季拍卖会(8)好爱情不由“高度”决定舜天十二人球迷联盟开启新会员招募工作污染企业不怕罚?排一天罚一天!刘道伟 李军现在下定, 抢跨年装修大实惠上市公司公告牌第1关·逻辑推理公款吃请的,住嘴!办事收礼的,住手!卞留念体育音乐三十年艺术展北京开展40余家A股上市公司涉足P2P央视街头神提问 2014你任性了吗元旦去明孝陵看腊梅吧赤小作《新赤壁赋》庆五十华诞单固投注要趁早多用复选牛油果大量上市紫砂大师亲制紫砂香炉赠栖霞古寺。逻辑推理答案南农有机杂粮系列 让你爱上彩色营养粥
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘