ch.13Internet环境下的数据库技术_第1页
ch.13Internet环境下的数据库技术_第2页
ch.13Internet环境下的数据库技术_第3页
ch.13Internet环境下的数据库技术_第4页
ch.13Internet环境下的数据库技术_第5页
已阅读5页,还剩95页未读 继续免费阅读

下载本文档

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

文档简介

1、第四部分 新技术篇 ch.13 Internet环境下的数据库技术 1.网络基本概念 2. WWW与数据库访问接口 3. Java和JDBC 4 .XML技术 8/16/20221数据库教程(沈-06.8)ch.13 1.网络基本概念(1)网络协议模型(2) Internet与WWW8/16/20222数据库教程(沈-06.8)ch.13 1.网络基本概念(1)网络协议模型为了保证计算机网络的开放性与兼容性,网络协议必须遵循标准化的体系结构,目前主要有两个标准:ISOOSI标准和TCPIP协议组标准。1). ISOOSI网络协议层次模型国际标准化组织(1SO) 于1983年提出了开放系统互连参

2、考模型(Open Systems Interconnection Reference Model,缩写为OSIRM),为网络协议的层次划分建立起了一个标准的框架,在网络发展史上发挥了重要作用。8/16/20223数据库教程(沈-06.8)ch.13 1.网络基本概念 物理层(Physcial Layer):物理层考虑的是如何正确的在物理信道上传输二进制数据。它负责两个数据实体所在的物理连接的开始,维持和停止操作。例如网络适配器就是物理层的一部分。 数据链路层(Data Link):数据链路层的主要任务是通过一定数据单元格式及误码控制来保证信息以帧(Frame)为单位在链路上的可靠传送;保证网络

3、层收到正确的数据。这样数据链路层将误码和差错向上“屏蔽”起来,使得网络层以下是一条理想的无差错线路。在OSI模型中,数据链路层的作用是建立、维持和释放数据链路,进行差错控制及流量控制。 网络层(Network):网络层关系到通信子网的运行控制。其基本传送单位是包(Packet)。网络层的关键问题是如何选择包从远端到目的端的路由传输。网络层相当于Internett中的IP部分,它解释IP地址。同时,网络层还负责拥塞控制。 传送层(Transport):传送层完成数据的传送。确保较高层上的数据以可靠、高效的方式传送。传送层相当于Internett中的TCP部分。该层负责端对端的数据传送控制和网络资

4、源的最佳使用。会话层(Session):会话层提供了一种管理和同步较高层的数据交换的机制。由于不同的计算机在位和字节级存储数据的方法不同,为了在两种使用不同存储机制的计算机之间正确传送数据,必须进行转换,转换的工作通常由会话层完成。即会话层负责会话控制和同步。表示层(Presentation):表示层提供一套格式服务,如代码转换、文本压缩、加密和解密以及文件传输协议等。表示层关心的是所传送信息的语法和语义。 应用层(Application):应用层包括面向用户服务的各种软件。例如HTTP协议,电子邮件(e-mail)协议等。另外,任何用户接口的实现也可能属于这一层。8/16/20224数据库教

5、程(沈-06.8)ch.13 1.网络基本概念2). 实用的协议模型在网络技术开发实践中,人们发现OSlRM中上面三个层次(会话层、表示层、应用层)的划分十分繁琐。再加上,这三层的ISO标准制定的工作相对滞后,跟不上应用的需要。因此,目前实用的网络协议中一般都把这三层含混地包括在“应用层”这一层协议内,如上图(b)所示。3). TCPIP协议组TCPIP协议组起源于美国国防部ARPANET网络有关的研究与开发。Internett的迅速发展使TCPIP体系结构成为事实上的工业标准。TCPIP协议组把网络协议看成五层的层次模型,如上图(c)所示。8/16/20225数据库教程(沈-06.8)ch.

6、13 1.网络基本概念 最底层为物理层。 网络接口层(即数据链路层)。 事实上,这两层并不属于TCP/IP,因为任何网络协议都把这两层作为标准的网络接口。比如可以是局域网(LAN)中的以太网或令牌环网,也可以是x.25分组交换网的最底下的两层。 互联网层(即网络层) 用于方便地连接各种通信子网,负责路由选择合适的通信节点,使数据能从源主机发到目的地主机。在这一层有IP协议、ICMP协议、ARP协议与RARP协议。其中IP协议 (Internett Protocol,互联网协议或网际协议)是最重要的协议。 在TCPIP网络中,每一台计算机都有惟一的IP地址,IP协议使用IP地址来确定发送端(源主

7、机)和接收端(目的地主机),提供端到端(主机到主机)的“数据报”传递。 传输层 传输层提供主机之间的进程与进程的有效数据传输。这一层中有TCP协议与UDP协议。TCP协议(Transmission Control Protocol,传输控制协议)提供了面向连接的可靠的数据流传输服务规则和约定,具备较强的纠错功能,可以设置优先级和安全级别,以及具有流量控制、复用同步等功能。UDP协议(User Datagram Protocol,用户数据包协议)是与TCP在同一层次上的,但它是非连接、不可靠的,也不进行确认、排序和流量控制。应用层 提供了各种应用程序使用的协议,已有不少应用广泛的协议正在不断发展

8、。如远程登录、文件传输、电子邮件、查找文件、查找人员、浏览信息、自动查找等。 8/16/20226数据库教程(沈-06.8)ch.13 1.网络基本概念(2 )Internet与WWW1). Internet的定义Internet是目前世界上最大的计算机互联网络,同时也是全球性的信息网络。Internet起源于1969年美国国防部发起的ARPANET(Advanced Research Project Agency Network)项目,其目的是提供一个快速、方便的主干网将不同的网络在一起,成为一个“网间网”(即Interconnect Networks)。Internet的定义应从通信协议、

9、物理链接、资源共享、相互联系、相互通信的角度综合考虑。一般认为,Internet的定义应包含下面三个方面内容: Internet是一个基于TCPIP协议簇的网络; Internet是一个网络用户的团体,用户使用网络资源,同时也为 其发展贡献力量; Internet是所有可被访问和利用的信息资源的集合。 8/16/20227数据库教程(沈-06.8)ch.13 1.网络基本概念2). Intranet和ExtranetIntranet即内联网,是属于某一组织的Web站点或一组Web站点,只能由该组织的成员访问。在Intranet上可以广泛使用Internet技术,它通过“防火墙”实现与外部公共I

10、nternet的相互隔离。Extranet即外联网,是对外部提供授权访问的Internet,它对外来者提供不同层次的访问能力,以实现企业之间的信息交换。8/16/20228数据库教程(沈-06.8)ch.13 1.网络基本概念3). IP地址和域名在采用TCPIP协议互联Internet时,常见的基本概念是IP地址和域名。连接到Internet上的每台计算机都必须有惟一地址。Internet的地址用数字来表示,称为IP地址。IP地址含有4个字节,32个二进制位。在书写时,通常每个字节都用十进制表示,而字节之间用小圆点“.”分隔开来。例如,IP地址可以是或8。 某台接人Internet的计算机要

11、和另一台计算机通信就必须确切地知道其IP地址。要记住这些枯燥的数字不是容易的事,因此大多数计算机都有一个便于记忆的别名(称为“域名”)与IP地址相连系。在连接某个目标时只要给出该目标的域名,与之相连的域名服务器就能够将域名翻译成IP地址。8/16/20229数据库教程(沈-06.8)ch.13 1.网络基本概念4). WWWWWW是Word Wide Web的英文缩写,译为“万维网”或“全球信息网”,是Internet上的一种基于超文本的服务形式。WWW服务的基础是Web页面,每个服务站点都包括若干个相互关联的页面,每个Web页即可展示文本、图形、图像和声音等多媒体信息,又可提供一种特殊的链接

12、点。这种链接点指向一种资源,可以是另一个Web页面、另一个文件、另一个Web站点,这样可使全球范围的WWW服务连成一体。这就是所谓的超文本和超链接技术。8/16/202210数据库教程(沈-06.8)ch.13 1.网络基本概念5). 统一资源定位符URL 统一资源定位器(Uniform Resource Locator)是文件名的扩展。一个URL包括了以上所有的信息,构成格式为:protocol:/ :portdirectoryfilename protocol是访问该资源所采用的协议,即访问该资源的方法,它可以是:HTTP:超文本传输协议,该资源是HTML文件;FTP:文件传输协议,用ft

13、p访问该资源MAILTO:采用简单邮件管理传输协议SMTP,提供电子邮件服务 是存放资源主机的IP地址,通常以域名出现,如 port(端口号)是服务器在其主机所使用的端口号。一般情况下端口号不需要指定,因为通常这些端口号都有一个默认值,只有当服务器所使用的端口号不是默认的端口号时才需要指定 directory和filename:是该资源的路径和文件名 8/16/202211数据库教程(沈-06.8)ch.13 1.网络基本概念6). 超文本与超媒体 在WWW中的超文本,实际上是一种解决菜单与信息分离的机制,把可选菜单项嵌入文本中的概念称为“超文本”。超文本技术采用指针连结的网状交叉索引方式,对

14、不同来源的信息加以链接。也就是说,一个超文本文件,含有多个指针,而指针可以指向任何形式的文件。正是这些指针指向的“纵横交错”,使得分布在本地的和远程的服务器上的文本文件连接在一起。超媒体是超文本的自然扩展,是超文本与多媒体的组合。在超媒体中,链接的除了文本文件以外,还有音像和动画等。当一个超文本系统包含了针对非文本信息的参照项(也称为“信息链接”)时,该系统便称为“超媒体系统”。 8/16/202212数据库教程(沈-06.8)ch.13 1.网络基本概念7). 超文本标记语言HTML “超文本标记语言”HTML(Hyper Text Markup Language),使用户能够将文档中的词和

15、图像与其他文档链接起来,不论这些文档存放在何处,只需用鼠标点击一下那些醒目的词汇(嵌入的链接项),就可以将Internet上与其相关联的文档查找出来并显示在屏幕上。 HTML采用标准的位ASCII码文件形式,通过一系列格式化方法表示各种超链接(hyperlink)和信息。用HTML编写的文档采用“.html”作为后缀。当WWW浏览器读取到HTML文件时,就以超文本方式显示给用户。 8/16/202213数据库教程(沈-06.8)ch.13 1.网络基本概念8). 超文本传输协议(HTTP)超文本传输协议HTTP(Hyper Text Transfer Protocol)它可以简单地被看成是浏览

16、器和Web服务器之间的会话。为了从服务器上把用户需要的信息发送回来,HTTP定义了简单事务处理程序,由下个步骤组成: 客户机与服务器建立连接 客户机向服务器递交请求,在请求中指明所要求的特定文件 如果请求被接纳,那么服务器便发回一个应答。在应答中至少应当包括状态编号和该文件内容 客户机与服务器断开连接 8/16/202214数据库教程(沈-06.8)ch.13 1.网络基本概念9). 主页(Home Page)主页就是用户在访问Internet网上某个站点时,首先显示的页面,也称为WWW的“初始页”。从信息查询的角度来看,主页就是用户本次通过WWW在连接访问超文本各类信息资源的根。从信息提供的

17、角度来看,由于各个开发WWW服务器的机构在组织WWW信息时是以信息页为单位的,这些信息页被组织成树状结构以便检索,那个代表“树根”信息页的超文本就是该WWW服务器的初始页(主页) 8/16/202215数据库教程(沈-06.8)ch.13 2。 WWW与数据库访问接口随着InternetIntranet的兴起与发展,WWW与数据库的结合显得越来越重要。由于人们不断推出新技术、新产品,使得WWW与数据库的连接更加简洁、迅速和方便。传统的数据库访问方式一般是字符方式的用户界面或通过编程来实现,但无论哪种方式都较难使用。虽然近年来推出了一些快速应用开发(Rapid Application Devel

18、opment,RAD)工具,如Visual Basic、Delphi、Power Bulider。通过它们可以方便的开发出具有图形用户界面的数据库访问软件。但是这些开发工具需要开发者具有一定的编程经验,并且开发的程序不能跨平台运行。这样软件的更新或移植都会遇到很多困难。与传统方式相比,通过WWW访问数据库有很多好处。首先,我们可以借用统一的浏览器,无需开发数据库前端。其次,所使用的标准统一,开发过程简单,HTML是WWW信息组织方式,是一种国际标准,现有的WWW服务器与浏览器均遵循这个标准。使用WWW的另一个优点在于交叉平台对它的支持,几乎每种操作系统上都有可供使用的浏览器。同时数据库也可以作

19、为WWW上的后台工具,为WWW提供更加有效的数据组织和管理。由于数据库系统采用了索引技术、查询优化技术,通过数据库可以快速准确地访问大量数据。面对WWW上的大量信息,数据库无疑是管理它们的最好方式。无论是数据库为WWW服务,还是WWW为数据库服务。我们可以看出两者结合带给我们的将是一种更为有效、便利的信息管理和展示方式。 8/16/202216数据库教程(沈-06.8)ch.13 2。 WWW与数据库访问接口 (1)公共网关接口CGI (2) ASP技术 (3) JSP技术 (4) PHP技术8/16/202217数据库教程(沈-06.8)ch.13 2。 WWW与数据库访问接口(1)公共网关

20、接口CGICGI(Common Gateway Interface,公共网关接口)程序是运行在WWW服务器上的外部程序,可以被WWW服务器调用响应用户的HTTP请求产生动态内容,同时还可以通过数据库的API与数据库服务器等外部数据源进行通信。几乎所有的WWW服务器软件都支持CGI。开发者可以使用任何一种WWW服务器内置语言编写CGI,其中包括流行的Perl语言、C、C+、VB和Delphi等。1).CGI程序的功能CGI是一个用于定义Web服务器与外部程序之间通信方式的标准,使得外部程序能够动态生成HTML页面、图像或者其他内容。使用CGI的原因在于它是一个定义良好并被广泛使用的标准,在一定意

21、义上可以说没有CGI就没有动态Web页面。8/16/202218数据库教程(沈-06.8)ch.13 2。 WWW与数据库访问接口图13-2 CGI程序的工作过程SQL语句CGI程序结果浏览器CGI数据库程序数据库用户输入WWW服务器8/16/202219数据库教程(沈-06.8)ch.13 2。 WWW与数据库访问接口2).CGI与数据库的集成CGI数据库网关就是将CGI程序同数据库集成起来的关键。编写CGI数据库网关的方法有如下几种:使用数据库厂商提供的应用程序编程接口(API)。但是这种方法只能用于某种特定的数据库,因此对其他类型的数据库不具有程序的可移植性。在HTML语言中直接插入SQ

22、L语言。HTML文件被传送到CGI程序并被CGI程序读取。当结果返回到浏览器时,CGI程序的实际结果会取代SQL命令。使用CGI来调用存储在数据库中的例程。这些SQL命令被存储在数据库内部,可被外部程序调用,并将结果返回到浏览器页面上。使用ODBC连接。这种方法使同一个应用程序可以连接到几种数据库中。CGI程序调用ODBC,使用HTML页面获取用户输入信息,并且使用CGI程序将数据请求传递给各种数据库。 由于ODBC的开放性,使用ODBC可以通过统一的界面连接到多种数据库。这样,很容易创建与各种数据库交互的程序。在实际操作中,只需要编写一个CGI程序就可以访问所有的ODBC数据库。 8/16/

23、202220数据库教程(沈-06.8)ch.13 2。 WWW与数据库访问接口(2) ASP技术ASP(Active Server Pages)是微软公司开发的服务器端脚本环境。ASP被内置在IIS 3.0和IIS 4.0之中。通过ASP我们可以结合HTML网页、ASP指令和Active X控件建立动态、交互且高效的Web服务器应用程序。有了ASP就不必担心客户端浏览器是否能运行自己所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。 8/16/20

24、2221数据库教程(沈-06.8)ch.13 2。 WWW与数据库访问接口1).ASP的特点使用VBscript、JScript等脚本语言,结合HTML代码,即可快速地编写出网站应用程序。无需Compiler编译,可在服务器端直接执行。使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计。 浏览器无关性(Browser Independency)。客户端只要使用可执行HTML的浏览器,即可浏览ASP所设计的网页内容。ASP所使用的脚本语言(VBScript、JScript)均在Web服务器端执行,用户端的浏览器不需要执行这些脚本语言。ASP能与任何Active X 脚本语言相兼容。

25、除了可使用VB script或JScript语言设计外,还可通过plug-in的方式,使用由第三方所提供的其他脚本语言,例如REXX、Perl、Tel等。脚本引擎是处理脚本程序的COM(Component Object Model)组件。 ASP的源程序不会被传递到客户端,因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。可使用服务器端的脚本来产生客户端的脚本。具有面向对象的开发特点。Active X Server Components(Active X服务器组件)具有无限可扩充性。可以使用Visual Basic、Java、Visual C十十、COBOL等语言编写所需要的Activ

26、e X服务器组件。8/16/202222数据库教程(沈-06.8)ch.13 2。 WWW与数据库访问接口2). ASP服务器端程序要编写ASP应用程序,必须要熟悉至少一门ASP脚本语言,如VB Script。所谓脚本就是由一系列的脚本命令所组成的,如同一般的程序,脚本可以将一个值赋给一个变量,可以命令Web服务器发送一个值到客户浏览器,还可以将一系列命令定义成一个过程。ASP脚本语言是一种介乎于HTML和诸如JAVA、Visual Basic、C+等编程语言之间的一种特殊的语言,但却不具有编程语言复杂、严谨的语法和规则。如前所述,ASP所提供的脚本运行环境可支持多种脚本语言,例如:JScri

27、pt、 REXX、Perl等,在同一个.asp文件中也可以使用不同的脚本语言,而只需在.asp中作声明即可。这无疑给ASP程序设计者提供了广泛的发挥余地。8/16/202223数据库教程(沈-06.8)ch.13 2。 WWW与数据库访问接口应当说明的是,ASP本身并不是一种脚本语言,它只是提供了一种使嵌入在HTML页面中的脚本程序得以运行的环境。与一般的程序不同,ASP程序无需编译,它的控制部份是使用VBscript、JScript等脚本语言设计的,当执行ASP程序时,脚本程序将一整套命令发送给脚本解释器(即脚本引擎),由脚本解释器进行翻译并将其转换成服务器所能执行的命令。当然,同其他编程语

28、言一样,编写ASP程序也必须遵循一定的规则。如果使用自己熟悉的脚本语言编写ASP程序,那么,在服务器上必须要有能解释这种脚本语言的脚本解释器。当安装ASP时,系统提供了两种脚本语言:VB srcipt和JScript,而VB script则被作为系统默认的脚本语言。也可以根据自己的喜好改变系统默认的脚本语言。ASP程序以扩展名为.asp的纯文本形式存储在Web服务器上,允许用任何文本编辑器打开它,ASP程序中可以包含纯文本、HTML标记以及脚本命令。只需将.asp程序放在Web服务器的虚拟目录下(该目录必须要有可执行权限),就可以通过WWW的方式访问ASP程序了。8/16/202224数据库教

29、程(沈-06.8)ch.13 2。 WWW与数据库访问接口3). ADO存取方法在ASP中,用来存取数据库的对象统称ADO(Active Data Objects)。ADO主要含有:连接(Connection)、记录集(Record set)和命令(Command)三种对象。其中Connection负责打开或连接数据库;Record set负责存取数据表;Command负责对数据库执行行动查询(Action Query)命令和执行SQL Server的存储过程(Stored Procedure)。但是只依靠这三个对象还无法存取数据库,还必须具有数据库存取的驱动程序:OLE DB 驱动程序和OD

30、BC驱动程序。 对于任何一种数据库都必须有相对应的OLE DB 驱动程序和ODBC驱动程序,ADO才能对数据库进行存取,ADO对象必须与各种驱动程序结合才能存取各种类型数据库,不同的数据库需要不同的驱动程序。8/16/202225数据库教程(沈-06.8)ch.13 2。 WWW与数据库访问接口下面,我们分别给出两个用VBScript 编写的连接Mdb数据库和打开数据表的程序片断程序片断(1):建立MdbRecordset对象,Mdb 数据库是一个完整的数据库,内部可能含有若干个数据表,在此函数中,Connection的作用是连接数据库,Recordset的作用是打开数据表。Function

31、CreateMdbRecordset(数据库文件名,数据表名或Select 语句)Dim conn,Provider,DBPath Set conn = Server.CreateObject(ADODB.Connection) 建立Connection对象Provider = ”Provider=Microsoft.Jet.OLEDB.4.0;”DBPath =Data Source=& Server.MapPath(数据库文件名) conn.Open Provider&DBPath 打开数据库Set CreateMdbRecordset=Server.CreateObject(ADODB.

32、Recordset)CreateMdbRecordset.Open数据表名,conn,2,2 打开数据表,第二个参数为Connection对象End Function8/16/202226数据库教程(沈-06.8)ch.13 2。 WWW与数据库访问接口程序片断(2):建立带口令的Mdb数据库的Recordset 对象,它的建立方式与建立不带口令的Mdb数据库Recordset对象类似的,只是多了一个口令参数,即在与数据库连接时,必须给出口令信息。Function CreateSecuredMdbRecordset(数据库文件名,数据表名或Select语句,password)Dim conn,

33、 Provider, DBPathSet conn=Server. CreateObject(ADODB. Connection) 建立Connection对象Provider=Provider=Microsoft.Jet.OLEDB.4.0;DBPath=Data Source=&Server. MapPath(数据库文件名)连接数据库,注意下面一行带有口令参数conn.Open Provider & DBPath&Jet OLEDB: Database Password=&asswordSet CreateSecuredMdbRecordset=Server. CreateObject(A

34、DODB. Recordset) CreateSecuredMbdRecordset.Open 数据表名,conn,2,2 打开数据表,第二个参数为 Connection对象End Funnction利用上面的函数就可以打开数据库,然后利用ADO的 Recordset对象的增加记录、删除记录、修改记录等功能就可以对数据库进行操作。8/16/202227数据库教程(沈-06.8)ch.13 2。 WWW与数据库访问接口(3) JSP技术JSP的英文全称为Java Server Pages,是由Sun公司推出的一种动态网页技术标准。JSP是开发动态网页的常用工具之一。JSP网页(*.jsp)的构造

35、方法是在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(Tag)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送E-mail等。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果。JSP主要包含脚本语言,JSP指令及内置对象等三个部分。8/16/202228数据库教程(沈-06.8)ch.13 2。 WWW与数据库访问接口1).JSP脚本语言JSP脚本语言也就是嵌入页面内的Java代码,分为三种:声明(Declarat

36、ions)、Scriptlet、表达式(Expression)。 声明(Declarations)声明的语法结构是:声明实体可以是变量,也可以是方法。声明过的变量和方法就可以在Scrlptlet中使用。声明部分不会在输出流中产生任何输出结果。 ScriptletScriptlet中可以包含任意行的合法脚本语言语句,其脚本语言通过page中的 language属性定义。Scriptlet的语法结构是:一个JSP页面中可以包含多个Scriptlet代码段。如果需要在Scriptlet代码段中使用符号“,”,那么应该使用“,”代替。8/16/202229数据库教程(沈-06.8)ch.13 2。 W

37、WW与数据库访问接口 表达式(Expressions)语句表达式语句的语法是:表达式的值如果是字符串,则直接输出到JSP的输出流;否则表达式的值将转化为字符串,然后输出到页面中;如果表达式不能转化为字符串,将出现一个ClassCastException异常。同一般的编程语言相同,JSP中也提供了注释语句。注释语句的语法是:任何嵌入其中的脚本元素、指令语法、动作语法等都会被认为是注释。实际上,由于在JSP的“脚本代码”部分中,直接使用“”包含起来的部分中可以使用Java的语法,所以也可以用下面两种方式来注释: 8/16/202230数据库教程(沈-06.8)ch.13 2。 WWW与数据库访问接

38、口2). JSP指令指令是JSP的另一个重要的内容。指令提供了该页的全局信息,例如,重要的状态,错误处理,是否是session的一部分等等。这些指令包括:include指令、page指令、taglib指令以及动作指令(包括forward指令、useBean指令和plugin指令)。Include指令Include指令用于在JSP编译时插入一个包含文本或代码的文件,这个包含的文件可以是JSP文件、HTML文件或文本文件。如果包含的是JSP文件,这个包含的JSP的文件中代码将会被执行。 page指令page指令用于定义整个JSP文件都要使用的属性值,并在JSP程序进行编译时将这些文件属性传递给JS

39、P引擎。8/16/202231数据库教程(沈-06.8)ch.13 2。 WWW与数据库访问接口3). JSP内置对象(Implicit Objects)由于JSP的脚本使用面向对象的编程语言Java,为了开发的方便,在JSP中已经预先定义好了一些常用的对象,在Java脚本中不用声明就可以直接使用这些对象,称之为内置对象。通过在Java脚本中使用这些对象,可以方便地实现特定的功能。这些对象以及它们的功能说明如图13-3所示。对象功能 request对象 用户端请求,此请求会包含来自GET/POST请求的参数 response对象 网页传回用户端的回应 pageContext对象 网页的属性是在

40、这里管理 session对象 与请求有关的通话期 application对象 Servlet正在执行的内容 config对象 用来传送回应的输出资料流 out对象 Servlet的构架物件 page对象 JSP网页本身 8/16/202232数据库教程(沈-06.8)ch.13 2。 WWW与数据库访问接口每一个内置对象都有一个Java核心技术或者Servlet API定义了类或者接口。具体的对应关系如图13-4所示。request Javax.servlet.ServletRequestresponseJavex.servlet.ServletResponse pageContext对象 J

41、avex.servlet.jsp.PageContext session Javex.servlet.Http.HttpSession application Javex.servlet.ServletContextout Javex.servlet.jsp.JspWriter config Javex.servlet.ServletConfig page Jave.lang.Object 8/16/202233数据库教程(沈-06.8)ch.13 2。 WWW与数据库访问接口(4) PHP技术1).PHP简介PHP的英文全称是Personal Home Page,是近年来发展起来的一种服务器

42、端HTML嵌入脚本描述语言。PHP特色在于对数据库操作的方便性。近年来,基于数据库网页非常流行,特别是数据库MySQL的出现和发展,使得PHP发展的速度进一步加快。PHP是一种服务器端HTML嵌入脚本描述语言。其最大的特色是数据库层操作功能强大。例如,与Perl、ASP、JSP等语言相比, PHP对数据库的操作要简单得多。而且使用PHP语言编写的程序可以方便地进行系统之间的移植,从而保证了PHP更为广阔的使用范围。简单地说,PHP具有下述特点:支持多种系统平台。这包括微软的Windows 9x,WindowsNT,Windows2000 Professional,Windows 2000 Se

43、rver平台,以及各种Unix系统,包括Linux、SQLars和SCO Unix平台。具有自由软件的特点。PHP遵守自由软件GNU通用公共许可协议。不需要对用PHP编写的程序付版税,并且可以自行加入使用者所需的功能。 版本更新速度快。与微软数年才更新一次地ASP相比,数周就更新一版是PHP独特的活力。 PHP容易和HTML网页融合,执行效率高。PHP内嵌在HTML里修改成本低,开发速度快。 PHP具有丰富的函数接口。PHP可以进行几乎所有流行数据库的数据库操作。PHP具有丰富的功能。从结构化的特性,对象式的设计,数据库处理,网络接口使用,到安全编码机制等,几乎完整地囊括所有网站所需的功能。

44、PHP具有很高的安全性。8/16/202234数据库教程(沈-06.8)ch.13 2。 WWW与数据库访问接口2).PHP连接数据库的方法访问数据库是实现基于Web的应用程序和动态生成的Web页面的关键部分,PHP的创建者让这种语言在这个领域变得特别有效。实际上,PHP语言已经提供了用于数据库操作的许多命令,但它还在继续扩展对数据库的支持。数据库支持PHP以不同的方式提供对数据库的支持。首先,它提供对一些数据库的本地支持。PHP支持的流行的数据库有DBM(Berkeley)、Informix、MS SQL(Microsoft)、MySQL(Open Sourse)、Oracle 8、Post

45、greSQL(Berkeley-open source)和Sybase等。其次,如果数据库不是PHP本地支持的数据库,那么可以使用基于访问协议的函数进行连接。目前,这些包括DBM风格、LDAP和ODBC等。为了在一个单一的系统上提供不同数据库的功能,PHP还提供了实验性的模块dbx。这个函数集允许连接到PHP配置支持的任何数据库。8/16/202235数据库教程(沈-06.8)ch.13 2。 WWW与数据库访问接口(2) PHP连接ODBC数据源开放数据库连接(ODBC)是由微软主导的数据库连接标准,ODBC和数据库的查询采用SQL语言,从而使得系统可以很容易和各种数据库沟通。ODBC已成为

46、一种与数据库进行通信的工业标准。由于本书第11章已对ODBC作过详细介绍,这里不再赘述。PHP提供了对标准ODBC接口的支持,使得PHP能够方便的访问Access、SQL Server等数据库。在PHP提供的接口中,有如下几个常用的函数: int odbc_connect(string dsn,string user,string password)连接到一个ODBC数据库源上。 int odbc_exec(int connection_id,string query)本函数用来执行SQL的query指令。参数connection_id为0DBC连接代号ID值;参数query为欲执行的指令;返

47、回值为Result ID值。 boolean odbc_fetch_row(int result,int row)从一个结果集中获取一行数据。Row参数是可选的,若为空缺,则返回下一个有效行。在结果集中不再剩余行时返回false。 boolean odbc _close(integer connection)关闭一个数据库的连接。若在该连接上有打开的事务,则返回一个错误,而且连接不会被关闭。8/16/202236数据库教程(沈-06.8)ch.13 2。 WWW与数据库访问接口 string odbc _result(int result_id,mixed field);本函数用来取得返回的资

48、料。参数result_id为ODBC返回ID值。参数field可以是数字类型,代表指定的宇段序号(从1开始);也可以是字符串类型,为指定的字段名称。 int odbc_result_all(intresult记,stnng format);本函数用来将取得的资料转成HT饥L的表格(table)格式。参数result 词为ODBC返回ID值;参数format可省略,为表格的特殊配置值;返回值为资料列数。 int odbc_num_rows(int result_id);本函数用来取得返回行的数目。参数result_id为ODBC返回ID值。若有错误发生则返回-1。 int odbc_num_fi

49、elds(int result_id);本函数用来取得返回资料的字段数目。参数result_id为ODBC返回ID值。若发生错误则返回-1。 string odbc_fieldname(int result_id,int field_number);本函数用来取得Query返回的资料的字段名称。参数result_id为ODBC返回ID值;参数field _number为指定的字段,起始值为1。8/16/202237数据库教程(沈-06.8)ch.13 3.Java和JDBC(1)Java简介 (2) JDBC的提出(3) JDBC的基本功能(4) JDBC数据库设计方法 (5) JDBC AP

50、I(6) JDBC应用程序的流程8/16/202238数据库教程(沈-06.8)ch.13 3.Java和JDBC(1)Java简介1) Java概述Java是sun公司推出的一种基于网络的通用型面向对象编程语言,它既可以作为一种通用的编程语言,也可以用来创建各种可通过网络发布的、动态的二进制内容。Java不仅仅指Java编程语言本身,而且还包括一个在网络客户机/服务器(C/S)或浏览器/服务器(B/S)模式下的开发编程环境。从某种意义上来讲,Java就是一个WWW应用开放环境。在Java出现以前,Internet主要用于信息共享,信息访问和传递方式也只是简单的链接。目前,Java已经成为In

51、ternet应用的主要开发语言,将信息共享的方式往前推进了一大步,使通过Web提供完全交互式的应用程序成为可能。8/16/202239数据库教程(沈-06.8)ch.13 3.Java和JDBC Java源程序采用半编译、半解释的方式运行于Java虚拟机(VM)上。Java虚拟机实际上是虚拟的并不存在的平台。Java源代码先通过Java编译器产生Java虚拟机字节代码(Byte Codes)。字节代码文件称为类文件(Class Files)。字节代码在本地或通过网络下载到客户机,再经Java解释器将字节代码转换成实际系统的机器代码去执行。所以开发人员在编写源程序时,不必担心程序运行的实际平台。

52、当程序一旦编成,便可以不经修改直接运行于各种不同的平台上。图13-5说明了Java源程序的运行顺序。Java源程序Java编译译器Java字节代码Filename.classJava编译译器在实际系统平台上运行图13-5 Java运行顺序8/16/202240数据库教程(沈-06.8)ch.13 3.Java和JDBC2)Java的特性 简单性 Java被设计得简单而又高效,相应的可执行代码也短小精悍。这是因为Java是从C+发展来的,而又除去了C+中复杂的部分,所以在使用上比c+要简便。 可移植性 从Java的工作方式可以看出,如图13-5所示,Java有效地克服了传统的解释型语言的性能瓶颈

53、,实现了Java运行环境与平台无关,所以Java语言的可移植性很强。Java的这一特点给未来的软件设计带来了新思路,对网络分布式数据库的发展有深远的影响,同时也促成了动态技术的发展。 面向对象 Java几乎是一种完全面向对象的程序设计语言。Java代码以类的形式组成。Java源于C+,但抛弃了C+中非面向对象的部分。Java具有可重用、可扩展和可维护方式的编写软件方法。 分布式和动态结构 Java支持Web CS计算模式,很适合在分布式环境中应用。另一方面Java利用动态库,可以从盘上获取类文件的同时还可以从网络上获取存并改进了软件的模块化程度,使得Java具有动态性。 安全性 Java不支持

54、指针数据类型,也不允许直接对内存进行操作。另外,Java严格限制了Java程序对客户端文件系统的访问。这些措施提高了Java程序的安全性。8/16/202241数据库教程(沈-06.8)ch.13 3.Java和JDBC3)Java应用程序和小程序 一般可以把Java程序分成两类:应用程序(Application)和小应用程序(Applet)。简单的说,小应用程序就是嵌入式Web文档的程序,而应用程序则是所有其他类型的程序。 小应用程序是从Web文档进来的Java程序,也就是从HTML文件进来的程序。而应用程序则是从命令行上运行的程序。小应用程序需要来自Web浏览器的大量信息(包括何时启动、何

55、时激活或关闭等)。而应用程序可能运行在最简单的环境中,它来自外部世界的惟一输入就是命令行参数。8/16/202242数据库教程(沈-06.8)ch.13 3.Java和JDBC(2) JDBC的提出Java数据库连接(Java DataBase Connectivity,简记为JDBC)是执行SQL语句的JavaAPl。JDBC原来是JavaSoft公司设计的Java语言的数据库访问APl。最初的Java语言本身并没有访问DB的能力,JDBC是第一个支持Java语言的标准的数据库APl。1996年,Sun公司推出了JDBC工具。现在JDBC驱动程序已经被大多数主流数据库所采用 JDBC由一组用

56、Java语言编写的类与接口组成。JDBC已成为一种供数据库开发者使用的标准APl,用户可以用纯JavaAPl来编写数据库应用。8/16/202243数据库教程(沈-06.8)ch.13 3.Java和JDBC使用JDBC可以很容易地把SQL语句传递到任何关系型数据库中,不必考虑RDBMS的型号。Java与JDBC的结合,使程序员可以只写一次数据库应用软件,就能在各种数据库系统上运行。JDBC扩充了Java的应用范围,用Java与JDBC API可以发布一种包含远程数据库信息的Applet(小应用程序)的WWW页面。企业使用JDBC可以把它的所有雇员信息通过Intranet连接到一个或多个内部数

57、据库中。MIS管理员通过Java与JDBC结合可以更容易、更经济地发布企业信息。今后,随着Java应用程序的不断增加,对Java数据库的访问需求也会越来越迫切。8/16/202244数据库教程(沈-06.8)ch.13 3.Java和JDBC(3) JDBC的基本功能Java与JDBC的结合使程序员可以只写一次数据库应用软件便能在各种数据库系统上运行。JDBC的基本功能包括: 建立与数据库的连接; 发送SQL语句; 处理结果。 JDBC是最低级的API,它直接调用SQL命令,但它又可以作为构造高级接口和工具的基础。高级接口是更加“友好”、更易理解和更为方便的API。在执行时,高级API将首先被

58、翻译成如JDBC这样的低级接口。目前有两种基于JDCB的高级API正在开发之中。8/16/202245数据库教程(沈-06.8)ch.13 3.Java和JDBC一种是嵌入SQL语句的Java。嵌入SQL的预处理程序可让程序员直接混合使用SQL与Java。例如,在SQL语句中可用Java变量接受或提供SQL值。嵌入SQL与处理程序将把这种混合的JavaSQL翻译成带JDBC调用的Java。另一种是把关系数据库表直接映射成Java类。在“对象关系”的映射中,表中的每一行变成类的一个实例,每一列的值对应于该实例的一个属性。然后程序员可直接操作Java对象,并自动生成存取数据的SQL调用。目前Mic

59、rosoft的ODBCAPI是访问关系型数据库中应用最广的编程接口,它几乎能将所有平台上的数据库连接起来。Java不能直接使用ODBC,但可以利用JDBC中的JDBCODBC桥方式来实现。因为ODBC使用C语言接口,如果让Java来调用本机的C语言代码便会破坏Java的安全性、健壮型、可移植性。同时,Java也取消了指针使用,而是通过JDBC把ODBC转化成具有Java风格面向对象的接口来实现。 JDBC的Java API提供“纯Java的解决办法,当使用ODBC时,ODBC驱动器管理程序与驱动器必须手工的装入到每台客户机上。而JDBC驱动器全部使用Java编写,JDBC代码则在所有Java平

60、台(从网络计算机到主机)上都可自动安装,并且是可移植和安全的。 JDBC API是一种基于SQL的抽象与概念的Java接口,它是基于ODBC的。熟悉ODBC的程序员可以很容易地学习JDBC。JDBC保留了ODBC的基本设计功能。而且这两种接口都是基于XOpen SQL CLI。8/16/202246数据库教程(沈-06.8)ch.13 3.Java和JDBC(4) JDBC数据库设计方法Java应用有:应用程序(Application)和小程序(Applet) 两种形式。小程序是Java应用于网络的一种方式。JDBC API支持这两种应用方式。这两种方式分别在两层应用模型和三层应用模型中实现。

温馨提示

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

评论

0/150

提交评论