Delphi 6序的设计及其应用开发第7章 创建Web服务器程序_第1页
Delphi 6序的设计及其应用开发第7章 创建Web服务器程序_第2页
Delphi 6序的设计及其应用开发第7章 创建Web服务器程序_第3页
Delphi 6序的设计及其应用开发第7章 创建Web服务器程序_第4页
Delphi 6序的设计及其应用开发第7章 创建Web服务器程序_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第7章章 创建创建web服务器程序服务器程序本章要点本章要点7.1 internet概述概述7.2 web服务器程序简介服务器程序简介7.3 isapi编程编程7.4 cgi编程编程7.5 isapi dll和和cgi之间的相互转化之间的相互转化 本章要点本章要点 在在internet概述的基础上,对概述的基础上,对web服务服务器程序进行阐述。器程序进行阐述。 结合实例说明了结合实例说明了isapi编程。编程。 结合实例说明了结合实例说明了cgi编程。编程。 返回本章首页7.1 internet概述概述7.1.1 术语与标准术语与标准7.1.2 统一资源定位器统一资源定位器7.1.3 超文

2、本标记语言超文本标记语言7.1.4 http服务器活动服务器活动返回本章首页7.1.1 术语与标准术语与标准与与web服务器应用程序相关的几个重要服务器应用程序相关的几个重要rfc标准包括:标准包括: rfc822:arpa lnternet文本报文标准,文本报文标准,描述了报文头标的结构和内容。描述了报文头标的结构和内容。 rfc152l:mime第一部分,描述封装第一部分,描述封装和传递多种格式和多段和传递多种格式和多段internet信息的方信息的方法。法。 rfcl945:超文本传输协议(:超文本传输协议(http协协议),描述了多媒体文档的传输协议。议),描述了多媒体文档的传输协议。

3、 返回本节7.1.2 统一资源定位器统一资源定位器 url对网络资源的位置提供了一种抽对网络资源的位置提供了一种抽象的识别方法,并用这种方法给资源定位。象的识别方法,并用这种方法给资源定位。这里的资源是指这里的资源是指internet上可以被访问的上可以被访问的任何对象,包括文件、文档、图像、声音任何对象,包括文件、文档、图像、声音等等,以及与等等,以及与internet相连的任何形式的相连的任何形式的数据。数据。url是一个字符串,它的一般格式是一个字符串,它的一般格式如下:如下:协议:协议:/主机名主机名/脚本文件名脚本文件名/路径信息路径信息?查询条件。查询条件。返回本节7.1.3 超文

4、本标记语言超文本标记语言 html文档通过标记(文档通过标记(tag)和属性)和属性(attribute)对超文本的语义进行描述。)对超文本的语义进行描述。html虽然本质上并不是编程语言,但它虽然本质上并不是编程语言,但它却是在开发却是在开发html文档时必须遵守的一套文档时必须遵守的一套严格而且简明易懂的语法规则。也就是说,严格而且简明易懂的语法规则。也就是说,如果一个文档是基于如果一个文档是基于html标准的,则可标准的,则可以解释某些标记的含义。以解释某些标记的含义。 返回本节7.1.4 http服务器活动服务器活动web浏览器和浏览器和web服务器之间通过服务器之间通过http协议进

5、行通信。协议进行通信。 http请求分为两请求分为两种类型,一种是种类型,一种是get请求,另一种是请求,另一种是post请求。请求。 web服务器接收到客户请求服务器接收到客户请求之后,将根据配置信息执行一定数量的活之后,将根据配置信息执行一定数量的活动。当动。当web服务器应用程序完成客户请求服务器应用程序完成客户请求之后。必须构造一个之后。必须构造一个html页面或其他页面或其他mime内容,并传输给客户。内容,并传输给客户。返回本节7.2 web服务器程序简介服务器程序简介7.2.1 web服务器程序的种类服务器程序的种类7.2.2 web服务器应用程序的逻辑结构服务器应用程序的逻辑结

6、构7.2.3 调试服务器程序调试服务器程序返回本章首页7.2.1 web服务器程序的种类服务器程序的种类delphi 6中可以创建的中可以创建的web服务器程序包括:服务器程序包括: cgi程序、程序、win-cgi程序和程序和isapi(microsoft server dll)、)、nsapi(netscape server dll)。)。返回本节7.2.2 web服务器应用程序的逻辑结服务器应用程序的逻辑结webserverwebapplicationweb module (dispatcher)webrequestwebresponseactionitemcontentrroducer

7、contentrroducercontentrroduceractionitem图7-1 web服务器程序的逻辑结构返回本节7.2.3 调试服务器程序调试服务器程序不同类型的不同类型的web服务器程序,需要在支持相服务器程序,需要在支持相应的服务器程序的服务器上进行。调试应的服务器程序的服务器上进行。调试isapi或或nsapi类型的程序,则要求在支持这种服务器程类型的程序,则要求在支持这种服务器程序的服务器上进行。可以在服务器中编写一定的序的服务器上进行。可以在服务器中编写一定的代码,作为用户请求直接调用这些服务器程序生代码,作为用户请求直接调用这些服务器程序生成的成的dll;而调试;而调试

8、cgi和和wincgi类型的服务器类型的服务器程序就比较困难一些,需要在服务器上执行这些程序就比较困难一些,需要在服务器上执行这些程序,并且需要编写代码作为用户请求的信息。程序,并且需要编写代码作为用户请求的信息。 返回本节7.3 isapi编程编程7.3.1 返回静态页面返回静态页面7.3.2 返回动态页面返回动态页面7.3.3 接收用户输入的接收用户输入的isapi dll7.3.4 一个完整的一个完整的web数据库应用程序数据库应用程序返回本章首页7.3.1 返回静态页面返回静态页面其步骤(具体制作如图其步骤(具体制作如图7-27-10所示):所示):1新建项目新建项目2程序框架程序框架

9、3创建创建actionitem4为为actionitem编写代码编写代码5设置服务器设置服务器6编译编译isapi动态链接库程序动态链接库程序7调试调试isapi动态链接库动态链接库图图7-2 选择选择web server application图7-3 选择生成web服务器程序的类型图7-4 isapi动态链接库的框架 图7-5 action editor对话框 图7-6 使用对象监视器为actionitem设置属性图7-7 选择存放isapi动态链接库的目录 图7-8 设置scripts目录为可执行的图7-9 设置编译后的文件后缀名为dll图7-10 浏览器中显示由isapi动态链接库生成

10、的静态html页面返回本节7.3.2 返回动态页面返回动态页面其具体的步骤如下:其具体的步骤如下:(1)在)在projectl项目文件中选择项目文件中选择web module部件,激活部件,激活actioneditor对话框。对话框。(2)在)在actioneditor对话框新添加一个对话框新添加一个actionitem。(3)将第二个)将第二个actionitem命名为命名为dynamicdll,pathinfo属性设置为属性设置为datetime。(4)为新建的)为新建的actionitem的的onaction事件编写代码。事件编写代码。图7-11 浏览器中显示由isapi动态链接库生成的

11、动态html页面返回本节7.3.3 接收用户输入的接收用户输入的isapi dll1onaction事件的参数事件的参数(主要属性如表主要属性如表7-1)2创建用户输入的创建用户输入的html页面页面(创建好的创建好的html页面如图页面如图7-12所示所示)3添加添加pageproducer控件控件(具体含义如表具体含义如表7-2)4为项目文件新建一个为项目文件新建一个actionitem5调试程序调试程序(如图如图7-137-15所示所示)表表7-1 twebreques对象的主要属性对象的主要属性属性属性属性的作用属性的作用query由由get方法请求获得全部参数组成的字符串方法请求获得

12、全部参数组成的字符串queryfields一个经过分解的查询字段一个经过分解的查询字段content由由post方法请求获得全部参数组成的字符串方法请求获得全部参数组成的字符串contentfields一个经过分解的一个经过分解的content字段字段图7-12 创建好的用户输入界面 表表7-2 methodtype方法的参数值及其含义方法的参数值及其含义参数值参数值具体含义具体含义mtget采用采用get方法接收用户请求方法接收用户请求mtpost采用采用post方法接收用户请求方法接收用户请求mtput用用content的值代替的值代替url属性确定的资源的用户请求属性确定的资源的用户请求

13、mthead要求获得有关要求获得有关http服务器响应信息种类的请求服务器响应信息种类的请求mtany任何其他形式的用户请求任何其他形式的用户请求图7-13 在用户输入界面中输入数据图7-14 使用get方式得到的服务器响应信息 图图7-15 使用使用post方式得到的服务器响应信息方式得到的服务器响应信息返回本节7.3.4 一个完整的一个完整的web数据库应用程数据库应用程1将数据表作为服务器程序的响应信息将数据表作为服务器程序的响应信息(如图(如图7-16所示)所示)2增加查询功能增加查询功能(query控件和控件和querytableproducer控件控件的属性设置如表的属性设置如表7

14、-3所示所示)图7-16 作为服务器响应信息输出的数据表表7-3 控件的属性设置控控 件件属性设置属性设置query1databasename:dbdemosquerytableproducer1query:query1rowattributes.align:hacentertableattributes.border:1返回本节7.4 cgi编程编程7.4.1 一个时间显示程序一个时间显示程序7.4.2 命令行处理命令行处理7.4.3 cgi环境变量环境变量7.4.4 cgi数据库编程数据库编程返回本章首页7.4.1 一个时间显示程序一个时间显示程序 单击单击“project”主菜单下的主菜

15、单下的“remove from project”选项,将选项,将unit单元从项目文件中单元从项目文件中移走,然后按下移走,然后按下ctrl+f12键,选择项目文件,键,选择项目文件,使它在代码编辑器中显示出来。在它的使它在代码编辑器中显示出来。在它的program保留字后加入一个保留字后加入一个¥apptype console编辑器指令,将它转换成控制台应编辑器指令,将它转换成控制台应用程序,最后删除大部分项目源代码,如果直用程序,最后删除大部分项目源代码,如果直接在接在delphi环境中运行该程序,则它会打开一环境中运行该程序,则它会打开一个终端窗口,并输出个终端窗口,并输出writeln

16、语句的内容,如图语句的内容,如图7-19所示。所示。 图7-19 在delphi环境中执行的结果返回本节7.4.2 命令行处理命令行处理cgi应用程序接收用户输入的方法有两种:应用程序接收用户输入的方法有两种:(1)使用它的命令行参数识别页面(激)使用它的命令行参数识别页面(激活应用程序)的活应用程序)的url,而,而url通常在应用通常在应用程序名后面包括附加的参数。程序名后面包括附加的参数。(2)系统使用一系列环境变量向)系统使用一系列环境变量向cgi应用应用程序进一步传递信息。在程序进一步传递信息。在win_cgi中,同中,同样通过样通过ini文件来传递,而没有使用环境文件来传递,而没有

17、使用环境变量。变量。返回本节7.4.3 cgi环境变量环境变量表7-4 cgi环境变量环境变量环境变量含义含义server_nameweb服务器主机名服务器主机名server_protocolhttp请求的协议请求的协议server_softwareweb服务器软件的名称和版本服务器软件的名称和版本gateway_interfacecgi支持的版本支持的版本request_method请求使用的对象方法,可以是请求使用的对象方法,可以是get或者或者postdocument_root目录主机文档或者目录主机文档或者web服务器服务器path_translates与服务器有关的物理路径与服务器有

18、关的物理路径http_peferer激活激活cgi应用程序的文档应用程序的文档urlscript_name被执行的被执行的cgi应用程序相关的路径(基于服务器地址)应用程序相关的路径(基于服务器地址)path_info向向cgi应用程序传递的路径,位置在应用程序名和查应用程序传递的路径,位置在应用程序名和查询字符串之间询字符串之间query_string向程序传递的查询,当请求对象的方法是向程序传递的查询,当请求对象的方法是get时,该时,该字符串用问号追加到字符串用问号追加到url中中返回本节7.4.4 cgi数据库编程数据库编程(1)依次单击)依次单击“file”“new”“other”选

19、选项,然后在项,然后在business页面中选择页面中选择db web application wizard,如图,如图7-24所示。单击所示。单击“ok”按钮,则出现选择按钮,则出现选择web数据库应用程数据库应用程序类型对话框,如图序类型对话框,如图7-25所示。所示。 (2)单击)单击“next”按钮,将出现选择数据表按钮,将出现选择数据表对话框,如图对话框,如图7-26所示。选择好数据表后,单所示。选择好数据表后,单击击“next”按钮,将出现选择要显示的字段对按钮,将出现选择要显示的字段对话框,如图话框,如图7-27所示。所示。 选择完需要显示的字段后,单击选择完需要显示的字段后,单击“next”按钮,则出现设置按钮,则出现设置web页面对话框,如图页面对话框,如图7-28所示。所示。 (3)所有的设置都完成后,则出现确认对话)所有的设置都完成后,则出现确认对话框,如图框,如图7-29所示。单击所示。单击“finish”按钮,就完按钮,就完成了创建一个成了创建一个web项目文件的工作。项目文件的工作。 向导为我们生成了向导为我们生成了webmodule1模块,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论