Delphi数据库程序设计教程 教学课件 ppt 作者 刘瑞新-电子教案 第17章 Web数据库编程

上传人:E**** 文档编号:89187996 上传时间:2019-05-20 格式:PPT 页数:29 大小:5.01MB
返回 下载 相关 举报
Delphi数据库程序设计教程 教学课件 ppt 作者 刘瑞新-电子教案 第17章  Web数据库编程_第1页
第1页 / 共29页
Delphi数据库程序设计教程 教学课件 ppt 作者 刘瑞新-电子教案 第17章  Web数据库编程_第2页
第2页 / 共29页
Delphi数据库程序设计教程 教学课件 ppt 作者 刘瑞新-电子教案 第17章  Web数据库编程_第3页
第3页 / 共29页
Delphi数据库程序设计教程 教学课件 ppt 作者 刘瑞新-电子教案 第17章  Web数据库编程_第4页
第4页 / 共29页
Delphi数据库程序设计教程 教学课件 ppt 作者 刘瑞新-电子教案 第17章  Web数据库编程_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《Delphi数据库程序设计教程 教学课件 ppt 作者 刘瑞新-电子教案 第17章 Web数据库编程》由会员分享,可在线阅读,更多相关《Delphi数据库程序设计教程 教学课件 ppt 作者 刘瑞新-电子教案 第17章 Web数据库编程(29页珍藏版)》请在金锄头文库上搜索。

1、第17章 Web数据库编程,使用客户/服务器版本的Delphi可以快速、迅捷的进行Web数据库的开发,比如开发像CGI(Common Gateway Interface,即通用网关接口)、DLL(Dynamic-Link Libraries,即动态链接库)等的服务器程序。这些服务器程序通常会包括一些不对见部件,Delphi的Internet部件组提供了许多这种部件,从而使编写服务器程序不再困难。Delphi中的Internet部件组提供的部件可以用于获得来自某个URI(Uniform Resource Identifier)的请求,然后触发一定的事件对请求进行处理,最后通过编程创建HTML页面

2、将对客户请求处理的结果返回给客户。本章将主要介绍的内容有:Web数据库的基本概念及Delphi中Web服务器程序简介;ISAPI动态链接库的编写;WIN-CGI编写方法以及和ISAPI DLL之间的转换。 17.1 Web数据库编程中的基本概念 17.2 使用Delphi编写ISAPI DLL 17.3 编写Win-CGI和标准CGI的服务器程序,17.1 Web数据库编程中的基本概念,随着网络技术的发展,新的技术层出不穷,往往一个问题有多种解决方案。比如Web服务器程序包括ISAPI动态链接库、NSAPI动态链接库、标准CGI、WIN-CGI等,但是又不局限于这几种方式,使用ActiveX技

3、术同样可以完成Web服务器程序的功能。 17.1.1 Web数据库的基本结构 17.1.2 HTML在Web数据库编程中的作用 17.1.3 Web服务器程序,17.1.1 Web数据库的基本结构,典型的Web数据库有一个Web浏览器作为用户界面、一个数据库服务器用作信息存储和数据的采集和一个连接两者的Web服务器。Web软件出色的将数据陈述简化和标准化,DBMS(数据库管理系统)则组织和标准化数据的接收与存储。Web浏览器通过TCP/IP(Translation Control Protocol/Internet Protocol,传输控制协议/网际协议)和Web服务器相连,Web服务器把来

4、自Web浏览器的请求或数据传给数据库服务器,然后数据库服务器在数据库中进行相应的操作。这其中对客户请求和有关数据的处理都是由Web服务器程序完成的,Web服务器程序是存在于服务器上的。Web数据库系统简化的结构如图所示。,17.1.1 Web数据库的基本结构,在这种Web数据库系统中,Web浏览器把Web页请求与数据请求送到Web服务器,Web服务器接收请求并把数据请求送到Web服务器程序。Web服务器程序接受请求,将其转化成数据库服务器能够接受的形式(如ODBC SQL),然后执行数据库操作,诸如查询或插入,并把结果送回服务器扩展程序。最后,Web服务器程序将结果转化成Web浏览器能够接受的

5、形式(如HTML),把它们送给Web服务器。Web服务器则把数据库结果送回到Web浏览器。 用户唯一需要在机器上安装的程序是Web浏览器,并且唯一需要学会用的也是Web浏览器。用户通过Web页上显示的表格和数据库进行交互操作。典型的交互操作包括读取页、单击链接、在列表框中进行选择以及查询和输入数据域。从数据库获取的信息能以文本、图像、表、图形或者多媒体对象的形式在Web页上显示。用户在Web页上的表格内输入要查询的内容接收邮件所消耗的机时;然后,数据库在Web页上用表显示出所要查询的内容。,17.1.2 HTML 在Web数据库编程中的作用,Web数据库的建立基于几种不同的技术,并且编写Web

6、数据库应用程序的人们有着各种不同的背景,这里讲解的是HTML在Web数据库编程中的作用。Web工具和数据库是分开发展的两种不同的技术。 HTML(超文本语言)在Web数据库中利用表格(Form)接收用户的输入,利用JavaScript进行输入合法性检查,并用表显示数据库查询结果。,17.1.3 Web服务器程序,Web服务器程序的存在扩展了Web服务器的功能和能力。Web服务器程序接收从Web服务器传输来的请求,根据这些请求进行一系列的操作,然后将操作的结果返回给Web服务器。当然,这些请求都是通过HTTP协议传输来的。这里所说到的HTTP协议和TCP/IP协议并不矛盾,因为HTTP协议是在T

7、CP/IP协议上工作的应用层协议。 1. Web服务器程序的种类 这里所说的Web服务器程序的种类是指通常使用的一些,也就是Delphi可以创建的服务器程序:Microsoft Server DLL(ISAPI);Netscape Server DLL(NSAPI);标准CGI程序;Windows CGI程序。,17.1.3 Web服务器程序,2. 创建Web服务器程序的基本步骤 在Delphi中可以创建上面介绍的四种形式的Web服务器程序。可供选择的种类是:ISAPI and NSAPI、CGI、Win-CGI。 选择ISAPI and NSAPI后将项目文件设置成一个动态链接库,并且在这个

8、动态链接库中带有服务器支持的方法。在项目文件中将自动加入有关库(即library)的标题,以标志在动态链接库中引用的库的种类。 选择CGI将把项目文件设置成为控制台类型的应用程序,并且在项目文件的uses子句中加入必需的条款。 选择Win-CGI将把项目文件设置成为Windows类型的应用程序,并且也在项目文件的uses子句中加入必需的条款。这些加入到uses子句中的条款都是表明Web服务器程序种类的。,17.1.3 Web服务器程序,3. Delphi中Web服务器程序的结构 在Delphi中当Web服务器程序接收到一个用户请求时,将产生一个TWebRequest对象用于代替用户请求信息,产

9、生一个TWebResponse对象来代替处理用户请求的结果。程序然后将这两个对象传送给Web Dispatcher部件。程序的结构如图所示。 图中所示的Web Dispatcher是用来控制整个程序正确执行的。如图包含在Web Dispatcher中的Action Items用来获得有关用户请求的信息。Dispatcher确定应该采取何种行动来获得信息,以及应该触发何种事件来处理用户请求。触发的这种事件通常可以读取用户请求的细节,然后产生回应信息给出服务器对用户请求处理的结果。特定的一些Cement Producer部件可以产生回应信息,回应信息的格式通常是采用HTML或者其它MIME(Mul

10、tipurpose Internet Mail Extension protocol,多用途的国际邮件扩充协议)格式的文档。,17.1.3 Web服务器程序,4. 调试服务器程序 编写完程序后必须对程序进行调试,才能保证编译后的服务器程序可以正常运行。调试服务器程序有一些特殊的步骤,这是因为它们的执行必须要先接收到用户请求的信息。在Delphi的IDE(即集成开发环境)里并不能执行这些服务器程序,它们的执行必须要有Web服务器的支持。离开Web服务器后的服务器程序将一无是处。 调试ISAPI和NSAPI类型的服务器程序必须在支持这种服务器程序的服务器上进行。可以在服务器中编写一定的代码作为用户

11、请求直接调用由这些服务器程序生成的DLL。调试CGI、Win-CGI类型的服务器程序就比较困难一些,需要在服务器上执行这些程序,并且需要编写代码作为用户请求的信息。,17.2 使用Delphi编写ISAPI DLL,这里虽然讲的是ISAPI类型的动态链接库的编写力法,们是对于NSAPI同样适用。这是因为Netscape已经宣布支持ISAPI标准,这就意味着ISAPI已经成为Windows平台下的通用标准,NSAPI将逐渐消失。 17.2.1 返回静态页面 17.2.2 返回动态页面 17.2.3 接收用户输入的ISAPI DLL,17.2.1 返回静态页面,这里所说的静态页面,就是针对用户不同

12、的请求返回的是同样的HTML页面,即HTML页面的内容不变。 【例17-1】按照下面的步骤编写一个能够返回一个静态页面的ISAPI类型的动态链接库。 1. 新建一个项目 在主菜单中选择New,并在出现的对话框中选择Web Server Application选项。 2. 选择创建ISAPI动态链接库 在选择服务器程序类型的对话框中选择ISAPI/NSAPI选项。 3. 程序框架 这时将得到一个ISAPI动态链接库的框架,整个框架就包括一个Web Module部件。这个部件和Data Module部件没有多大区别。利用它们,用户可以方便地拖放部件。开发ISAPI动态链接库时可以输出许多函数,这些

13、函数可以生成回应信息。函数的生成是通过Web Dispatcher Action Items实现的,这在后面就会提到。,17.2.1 返回静态页面,4. 创建ActionItem 每个Web Module中包含一个缺省的Web Dispatcher部件。这个Web Dispatcher部件在Web服务器程序中起着举足轻重的作用:每个从Web浏览器向ISAPI DLL发出的用户请求都是由Web Dispatcher接收,并且确定由哪一个ActionItem来执行;程序中所有可用的ActionItem都由Web Dispatcher记录,由Web Dispatcher确定是否执行某个ActionI

14、tem的onAction事件。这里创建一个ActionItem帮助返回一个响应用户请求的静态页面。 双击Web Module部件,激活Action Editor对话框。 在Action Editor对话框中单击Add按钮,为程序创建一个ActionItem。 在Action Editor对话框中选中新建的ActionItem,在Object Inspector中编辑它的属性。 改变ActionItem的Name属性,命名为dllStatic。 为这个ActionItem指定一个URI(即Universal Resource Identifier,在Internet上用于标识某个特殊实体的通用资

15、源标识符),可以通过修改PathInfo属性来实现。这里将这个ActionItem的PathInfo属性设置为first。,17.2.1 返回静态页面,5. 为ActionItem编写代码 为ActionItem指定URI如同命名一个方法,这样根据URI就可以调用动态链接库中的这个ActionItem来响应用户的请求。至于ActionItem响应用户的请求后要完成什么操作就取决于ActionItem的OnAction事件。这个ActionItem的0nAction事件代码如下: procedure TWebModule1.dllStaticAction(Sender:TObject;Reque

16、st:TWebRequest; Response:TWebResponse;var Handle:Boolean) var HTML:String; begin 下面的语句都是用来产生HTML页面 HTML:=; HTML:=HTML+; HTML:=HTML+HELLO WORLD WIDE WEB; HTML:=HTML+这是个ISAPI类型的动态链接库例子; HTML:=HTML+; HTML:=HTML+; Response.Content:=HTML; end;,17.2.1 返回静态页面,6. 设置服务器 用户调试编写好的ISAPI动态链接库首先需要一个与ISAPI兼容的HTTP服务器来使用编写好的服务器程序。如果用户的HTTP服务器支持ISAPI,它就会在安装时创建一个目录,专门用于存放ISAPI的动态链接库(以.dll为文件后缀名),用户还需要将这个目录设置为允许动态链接库从这个目录执行。 这里使用的HTTP服务器是Windows 2000系统自带的IIS(即Internet Information Serve

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号