网站建设| 数据库类| 图形图象| 程序设计| 现代办公| 操作系统| 考试认证| 网络技术| 软件工程| 电脑相关| 文学作品
网站开发| 网页制作| 操作系统| 图象图形| 考试认证| 数据库类| 程序设计| 硬件技术| 现代办公| 网络技术| 笑话频道
 
您的位置: 电脑书库首页-> 电脑文摘-> 程序设计-> Delphi/Pascal-> CGI技术及其开发(二)

CGI技术及其开发(二)
作者:佚名 来源:InterNet 加入时间:2004-11-22
相关文章
  • CGI技术及其开发(一)
  • 相关书籍:

    CGI技术及其开发(二)

    发信人: strayli (stray), 信区: Delphi 
    标  题: 用 Delphi 编 写 CGI 程 序 (二)(转) 
    发信站: BBS 水木清华站 (Sat Oct 24 18:07:09 1998) WWW-POST 
     
    作者 : 戚 文 敏   
     
    教 学 纲 要  
     
    在 上 一 讲 中, 我 们 设 置 了 用 于 开 发 CGI 程 序 的 系 统。 今 天, 我 们 
     进 入: 第 二 部 分、 CGI 程 序 设 计 的 概 念 ……  
      
    第 二 部 分、 CGI 程 序 设 计 的 概 念    
    1.0 、 CGI 程 序 的 功 能:   
     
        首 先, 什 么 是 公 共 网 关 接 口( CGI ) 呢? CGI 是 一 个 用 于 定  
    义 WEB 服 务 器 与 外 部 程 序 之 间 通 信 方 式 的 标 准, 使 得 外 部 程 序  
    能 生 成 HTML 、 图 象 或 者 其 他 内 容, 而 服 务 器 处 理 的 方 式 与 那 些 
     非 外 部 程 序 生 成 的 HTML 、 图 象 或 者 其 他 内 容 的 处 理 方 式 是 相  
    同 的。 因 此, CGI 程 序 不 仅 使 你 能 生 成 静 态 内 容, 而 且 能 生 成 动 
     态 内 容。 使 用 CGI 的 原 因 在 于 它 是 一 个 定 义 良 好 并 被 广 泛 支 持 
     的 标 准。 虽 然, Java 、 ActiveX 等 可 以 完 成 CGI 程 序 的 功 能, 但 并  
    不 是 所 有 浏 览 器 都 支 持 它 们。 相 反, 所 有 浏 览 器 都 支 持 CGI ,  
    如: Lynx 、 IE 、 Netscape 等。   
     
        然 而, 和 其 他 技 术 一 样, CGI 也 有 它 的 局 限 性。 本 节 我 就 讲 
     述 CGI 程 序 的 功 能、 优 点 与 不 足。    
     
    1.1 、 CGI 功 能   
     
        有 许 多 任 务, CGI 是 最 佳 的 是 唯 一 的 选 择, 这 些 任 务 可 分  
    为 三 类: 初 级 任 务、 中 级 任 务 和 高 级 任 务。 初 级 任 务 是 一 些 不  
    用 怎 么 编 程 的 任 务, 如:    
     
    文 本 型 计 数 器   
    生 成 简 单 的 HTML 的 程 序   
    少 于 50 行 用 Perl 语 言、 Shell 脚 本、 C 语 言 或 C++ 语 言 编 写 的 程 序  
     
        这 样 的 任 务 用 CGI 来 写 至 少 有 三 点 好 处: 第 一、 CGI 运 行 最  
    快, 而 Java 等 开 销 太 大; 第 二、 CGI 标 准 于 当 前 浏 览 器 最 兼 容,  
    这 一 点 在 前 面 已 经 提 到; 第 三、 CGI 资 源 丰 富, 您 在 Internet 上 可 
     以 找 到 成 千 上 万 的 CGI 代 码。    
        中 级 任 务 是 包 括 图 象 映 象 和 其 他 一 些 稍 复 杂 的 程 序 设 计  
    任 务。 在 中 级 任 务 中, 用 CGI 和 Java 来 编 写 程 序 的 难 易 程 度 差 别 
     不 大。   
     
        此 类 任 务 包 括:   
     
    图 象 映 象   
    生 成 整 页 的 HTML 的 CGI 脚 本    
    动 画   
        很 有 特 点 的 是, 对 于 高 级 任 务, 用 CGI 比 用 Java 编 程 要 简 单 
     得 多。 此 类 任 务 有:   
    后 端 数 据 库 操 作   
    搜 索 引 擎   
    多 重 动 态 页 面   
        其 中, 后 端 数 据 库 操 作( 存 取 数 据 库 的 应 用 程 序) 体 现 了  
    CGI 的 优 越 性。 CGI 有 一 定 的 历 史, 其 中 很 多 有 用 的 功 能 都 在  
    CGI 的 库 中 由 别 人 做 好 了; 同 时, 许 多 大 公 司 提 供 了 用 CGI 承 虿  
    僮 髌 涫  菘 獾 姆 椒ā6  遥琂 ava 是 一 种 程 序 设 计 语 言, 而 CGI 是 
     网 关 程 序 的 功 能 规 范。 如 果 Java 有 较 大 改 变, 您 得 重 写 整 个 程 
     序; 而 CGI 有 较 大 变 化 的, 您 只 要 升 级 CGI 库 程 序 即 可。    
        然 而, CGI 在 有 些 方 面 还 是 有 局 限 性 的。    
     
    1.2 、 CGI 的 局 限 性   
     
        在 图 象 映 象 和 动 画 方 面, CGI 程 序 不 如 Java 程 序 开 发 方 便。 
     现 在 Java 越 来 越 流 行, CGI 程 序 则 越 来 越 适 合 编 写 简 短 杂 乱 的  
    程 序 和 数 据 库 应 用 程 序。    
     
    1.3 、 CGI 程 序 功 能   
     
        CGI 程 序 的 最 大 特 点 是 可 以 用 任 何 一 种 语 言 编 制, 可 运 行  
    在 任 何 一 种 平 台 上, 只 要 它 符 合 CGI 的 规 范 即 可。 下 表 是 一 个  
    比 较: 任 务   
     CGI+HTML  
     HTML  
       
    处 理 表 单   
     Yes  
     No  
       
    创 建 WEB 页 面 上 非 静 态 内 容    
     Yes  
     No  
       
    处 理 图 象 映 象 文 件   
     Yes  
     Yes  
       
    在 WEB 页 面 和 文 档 中 搜 索    
     Yes  
     No  
       
    创 建 表 单   
     Yes  
     Yes  
       
    创 建 平 台 无 关 的 文 档   
     Yes  
     Yes  
       
    创 建 聊 天 室 等 交 互 应 用 程 序    
     Yes  
     No  
       
    页 面 动 态 生 成   
     Yes  
     No  
       
    按 用 户 需 要 进 行 页 面 文 档 裁 剪    
     Yes  
     No  
       
     
     
        下 面, 我 们 用 一 系 列“ Hello World ” 程 序 结 束 本 讲:    
    Perl :   
    Require "cgi-lib.pl";  
     
    print &PrintHeader;  
    print "\n";  
    print "Hello World\n";  
    print &PrintEnv;  
    exit;   
     
        此 文 件 存 储 在 C:\HTTPD\CGI-BIN 目 录 下, 文 件 名 为 2_1.pl 。 在  
    浏 览 器 中 用 地 址 http://localhost/cgi-bin/2_1.pl 调 用。 注 意, 此 时  
    OmniHTTPD 应 在 运 行。 如 果 一 切 正 常, 您 可 以 在 浏 览 器 中 看 见“  
    Hello World ” 和 环 境 变 量。   
     
    C : #include   
    #include "html-lib.h"  
    #include "cgi-lib.h"  
     
    int main()  
    {   
        html_header();   
        html_begin("Test CGI");   
        h1("CGI Program");   
        printf("  
     
     
    ------------------------------------------------------------------------------ 
    --  
    \n");   
        h2("CGI Environment Variables");   
        print_cgi_env();   
        html_end();   
        return 0; }   
        编 译 后 将 可 执 行 文 件 复 制 到 C:\HTTPD\CGI-BIN 下, 改 名 为  
    2_1.cgi , 用 地 址 http://localhost/cgi-bin/2_1.cgi 调 用。    


    [文章录入员:fightter]

    相关文章
  • CGI技术及其开发(一)
  • 相关书籍:
    本站推荐内容

    近期主机类热搜关键词:
    美国服务器 美国服务器租用 海外服务器租用 国外服务器租用

    Delphi/Pascal
    C/C++/VC
    C++Builder
    Basic/VB类
    Delphi/Pascal
    Java编程
    FORTRAN
    其它
    电脑教程阅读排行
    ·DELPHI下的多线程程序设计(...
    ·Delphi与Excel的亲密接...
    ·Delphi实现串口通信的常用的...
    ·Delphi中初始化.Ini文件...
    ·Delphi中用于读写(I/O)...
    ·谈谈Delphi中的类和对象
    ·Delphi编译错误中文手册
    ·Delphi中关于TApplic...
    ·OPENGL图形程序设计
    ·SQL的基本操作