ch.13Internet环境下的数据库技术

上传人:美*** 文档编号:243157722 上传时间:2024-09-17 格式:PPT 页数:100 大小:507.50KB
返回 下载 相关 举报
ch.13Internet环境下的数据库技术_第1页
第1页 / 共100页
ch.13Internet环境下的数据库技术_第2页
第2页 / 共100页
ch.13Internet环境下的数据库技术_第3页
第3页 / 共100页
点击查看更多>>
资源描述
Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,打哆嗦,*,数据库教程(沈-06.8),*,第四部分 新技术篇,ch.13 Internet,环境下的数据库技术,1.,网络基本概念,2. WWW,与数据库访问接口,3. Java,和,JDBC,4 .XML,技术,9/17/2024,1,数据库教程(沈-06.8),ch.13,1.,网络基本概念,(1),网络协议模型,(2) Internet,与,WWW,9/17/2024,2,数据库教程(沈-06.8),ch.13,1.,网络基本概念,(1),网络协议模型,为了保证计算机网络的开放性与兼容性,网络协议必须遵循标准化的体系结构,目前主要有两个标准:,ISO,OSI,标准和,TCP,IP,协议组标准。,1). ISO,OSI,网络协议层次模型,国际标准化组织,(1SO),于,1983,年提出了开放系统互连参考模型,(Open Systems Interconnection Reference Model,,缩写为,OSI,RM),,为网络协议的层次划分建立起了一个标准的框架,在网络发展史上发挥了重要作用。,9/17/2024,3,数据库教程(沈-06.8),ch.13,1.,网络基本概念,物理层,(,Physcial,Layer),:物理层考虑的是如何正确的在物理信道上传输二进制数据。它负责两个数据实体所在的物理连接的开始,维持和停止操作。例如网络适配器就是物理层的一部分。,数据链路层,(Data Link),:数据链路层的主要任务是通过一定数据单元格式及误码控制来保证信息以帧,(Frame),为单位在链路上的可靠传送;保证网络层收到正确的数据。这样数据链路层将误码和差错向上“屏蔽”起来,使得网络层以下是一条理想的无差错线路。在,OSI,模型中,数据链路层的作用是建立、维持和释放数据链路,进行差错控制及流量控制。,网络层,(Network),:网络层关系到通信子网的运行控制。其基本传送单位是包,(Packet),。网络层的关键问题是如何选择包从远端到目的端的路由传输。网络层相当于,Internett,中的,IP,部分,它解释,IP,地址。同时,网络层还负责拥塞控制。,传送层,(Transport),:传送层完成数据的传送。确保较高层上的数据以可靠、高效的方式传送。传送层相当于,Internett,中的,TCP,部分。该层负责端对端的数据传送控制和网络资源的最佳使用。,会话层,(Session),:会话层提供了一种管理和同步较高层的数据交换的机制。由于不同的计算机在位和字节级存储数据的方法不同,为了在两种使用不同存储机制的计算机之间正确传送数据,必须进行转换,转换的工作通常由会话层完成。即会话层负责会话控制和同步。,表示层,(Presentation),:表示层提供一套格式服务,如代码转换、文本压缩、加密和解密以及文件传输协议等。表示层关心的是所传送信息的语法和语义。,应用层,(Application),:应用层包括面向用户服务的各种软件。例如,HTTP,协议,电子邮件,(e-mail),协议等。另外,任何用户接口的实现也可能属于这一层。,9/17/2024,4,数据库教程(沈-06.8),ch.13,1.,网络基本概念,2).,实用的协议模型,在网络技术开发实践中,人们发现,OSl,RM,中上面三个层次,(,会话层、表示层、应用层,),的划分十分繁琐。再加上,这三层的,ISO,标准制定的工作相对滞后,跟不上应用的需要。因此,目前实用的网络协议中一般都把这三层含混地包括在“应用层”这一层协议内,如上图,(b),所示。,3,),. TCP,IP,协议组,TCP,IP,协议组起源于美国国防部,ARPANET,网络有关的研究与开发。,Internett,的迅速发展使,TCP,IP,体系结构成为事实上的工业标准。,TCP,IP,协议组把网络协议看成五层的层次模型,如上图,(c),所示。,9/17/2024,5,数据库教程(沈-06.8),ch.13,1.,网络基本概念,最底层为,物理层,。,网络接口层,(,即数据链路层,),。,事实上,这两层并不属于,TCP/IP,,因为任何网络协议都把这两层作为标准的网络接口。比如可以是局域网,(LAN),中的以太网或令牌环网,也可以是,x.25,分组交换网的最底下的两层。,互联网层,(,即网络层,),用于方便地连接各种通信子网,负责路由选择合适的通信节点,使数据能从源主机发到目的地主机。在这一层有,IP,协议、,ICMP,协议、,ARP,协议与,RARP,协议。其中,IP,协议,(,Internett,Protocol,,互联网协议或网际协议,),是最重要的协议。,在,TCP,IP,网络中,每一台计算机都有惟一的,IP,地址,,IP,协议使用,IP,地址来确定发送端,(,源主机,),和接收端,(,目的地主机,),,提供端到端,(,主机到主机,),的“数据报”传递。,传输层,传输层提供主机之间的进程与进程的有效数据传输。这一层中有,TCP,协议与,UDP,协议。,TCP,协议,(Transmission Control Protocol,,传输控制协议,),提供了面向连接的可靠的数据流传输服务规则和约定,具备较强的纠错功能,可以设置优先级和安全级别,以及具有流量控制、复用同步等功能。,UDP,协议,(User Datagram Protocol,,用户数据包协议,),是与,TCP,在同一层次上的,但它是非连接、不可靠的,也不进行确认、排序和流量控制。,应用层,提供了各种应用程序使用的协议,已有不少应用广泛的协议正在不断发展。如远程登录、文件传输、电子邮件、查找文件、查找人员、浏览信息、自动查找等。,9/17/2024,6,数据库教程(沈-06.8),ch.13,1.,网络基本概念,(,2,),Internet,与,WWW,1,),. Internet,的定义,Internet,是目前世界上最大的计算机互联网络,同时也是全球性的信息网络。,Internet,起源于,1969,年美国国防部发起的,ARPANET,(,Advanced Research Project Agency Network,)项目,其目的是提供一个快速、方便的主干网将不同的网络在一起,成为一个“网间网”(即,Interconnect Networks,)。,Internet,的定义应从通信协议、物理链接、资源共享、相互联系、相互通信的角度综合考虑。一般认为,,Internet,的定义应包含下面三个方面内容:,Internet,是一个基于,TCP,IP,协议簇的网络;,Internet,是一个网络用户的团体,用户使用网络资源,同时也为 其发展贡献力量;,Internet,是所有可被访问和利用的信息资源的集合。,9/17/2024,7,数据库教程(沈-06.8),ch.13,1.,网络基本概念,2,),. Intranet,和,Extranet,Intranet,即内联网,是属于某一组织的,Web,站点或一组,Web,站点,只能由该组织的成员访问。在,Intranet,上可以广泛使用,Internet,技术,它通过“防火墙”实现与外部公共,Internet,的相互隔离。,Extranet,即外联网,是对外部提供授权访问的,Internet,,它对外来者提供不同层次的访问能力,以实现企业之间的信息交换,。,9/17/2024,8,数据库教程(沈-06.8),ch.13,1.,网络基本概念,3,),. IP,地址和域名,在采用,TCP,IP,协议互联,Internet,时,常见的基本概念是,IP,地址和域名。,连接到,Internet,上的每台计算机都必须有惟一地址。,Internet,的地址用数字来表示,称为,IP,地址。,IP,地址含有,4,个字节,,32,个二进制位。在书写时,通常每个字节都用十进制表示,而字节之间用小圆点“,.”,分隔开来。例如,,IP,地址可以是,128.5.1.0,或,35.1.7.48,。,某台接人,Internet,的计算机要和另一台计算机通信就必须确切地知道其,IP,地址。要记住这些枯燥的数字不是容易的事,因此大多数计算机都有一个便于记忆的别名,(,称为“域名”,),与,IP,地址相连系。在连接某个目标时只要给出该目标的域名,与之相连的域名服务器就能够将域名翻译成,IP,地址。,9/17/2024,9,数据库教程(沈-06.8),ch.13,1.,网络基本概念,4,),. WWW,WWW,是,Word Wide Web,的英文缩写,译为“万维网”或“全球信息网”,是,Internet,上的一种基于超文本的服务形式。,WWW,服务的基础是,Web,页面,每个服务站点都包括若干个相互关联的页面,每个,Web,页即可展示文本、图形、图像和声音等多媒体信息,又可提供一种特殊的链接点。这种链接点指向一种资源,可以是另一个,Web,页面、另一个文件、另一个,Web,站点,这样可使全球范围的,WWW,服务连成一体。这就是所谓的超文本和超链接技术。,9/17/2024,10,数据库教程(沈-06.8),ch.13,1.,网络基本概念,5,),.,统一资源定位符,URL,统一资源定位器(,Uniform Resource Locator,)是文件名的扩展。一个,URL,包括了以上所有的信息,构成格式为,:protocol:/ machine.name:port,directory,filename,protocol,是访问该资源所采用的协议,即访问该资源的方法,它可以是:,HTTP,:超文本传输协议,该资源是,HTML,文件;,FTP,:文件传输协议,用,ftp,访问该资源,MAILTO,:采用简单邮件管理传输协议,SMTP,,提供电子邮件服务,machine.name,是存放资源主机的,IP,地址,通常以域名出现,如,port,(端口号)是服务器在其主机所使用的端口号。一般情况下端口号不需要指定,因为通常这些端口号都有一个默认值,只有当服务器所使用的端口号不是默认的端口号时才需要指定,directory,和,filename:,是该资源的路径和文件名,9/17/2024,11,数据库教程(沈-06.8),ch.13,1.,网络基本概念,6,),.,超文本与超媒体,在,WWW,中的超文本,实际上是一种解决菜单与信息分离的机制,把可选菜单项嵌入文本中的概念称为“超文本”。,超文本技术采用指针连结的网状交叉索引方式,对不同来源的信息加以链接。也就是说,一个超文本文件,含有多个指针,而指针可以指向任何形式的文件。正是这些指针指向的“纵横交错”,使得分布在本地的和远程的服务器上的文本文件连接在一起。超媒体是超文本的自然扩展,是超文本与多媒体的组合。在超媒体中,链接的除了文本文件以外,还有音像和动画等。当一个超文本系统包含了针对非文本信息的参照项(也称为“信息链接”)时,该系统便称为“超媒体系统”。,9/17/2024,12,数据库教程(沈-06.8),ch.13,1.,网络基本概念,7,),.,超文本标记语言,HTML,“,超文本标记语言”,HTML,(,Hyper Text Markup Language,),使用户能够将文档中的词和图像与其他文档链接起来,不论这些文档存放在何处,只需用鼠标点击一下那些醒目的词汇(嵌入的链接项),就可以将,Internet,上与其相关联的文档查找出来并显示在屏幕上。,HTML,采用标准的位,ASCII,码文件形式,通过一系列格式化方法表示各种超链接(,hyperlink,)和信息。用,HTML,编写的文档采用“,.html”,作为后缀。当,WWW,浏览器读取到,HTML,文件时,就以超文本方式显示给用户。,9/17/2024,13,数据库教程(沈-06.8),ch.13,1.,网络基本概念,8,),.,超文本传输协议,(,HTTP,),超文本传输协议,HTTP,(,Hyper Text Transfer Protocol,)它可以简单地被看成是浏览器和,Web,服务器之间的会话。为了从服务器上把用户需要的信息发送回来,,HTTP,定义了简单事务处理程序,由下个步骤组成:,客户机与服务器建立连接, 客户机向服务器递交请求,在请求中指明所要求的特定文件,如果请求被接纳,那么服务器便发回一个应答。在应答中至少应当包括状态编号和该文件内容,客户机与服务器断开连接,9/17/2024,14,数据库教程(沈-06.8),ch.13,1.,网络基本概念,9,),.,主页,(Home Page),主页就是用户在访问,Internet,网上某个站点时,首先显示的页面,也称为,WWW,的“初始页”。从信息查询的角度来看,主页就是用户本次通过,WWW,在连接访问超文本各类信息资源的根。从信息提供的角度来看,由于各个开发,WWW,服务器的机构在组织,WWW,信息时是以信息页为单位的,这些信息页被组织成树状结构以便检索,那个代表“树根”信息页的超文本就是该,WWW,服务器的初始页(主页),9/17/2024,15,数据库教程(沈-06.8),ch.13 2,。,WWW,与数据库访问接口,随着,Internet,Intranet,的兴起与发展,,WWW,与数据库的结合显得越来越重要。由于人们不断推出新技术、新产品,使得,WWW,与数据库的连接,更加简洁、迅速和方便。,传统的数据库访问方式,一般是字符方式的用户界面或通过编程来实现,但无论哪种方式都较难使用。虽然近年来推出了一些快速应用开发,(Rapid Application Development,,,RAD),工具,如,Visual Basic,、,Delphi,、,Power,Bulider,。通过它们可以方便的开发出具有图形用户界面的数据库访问软件。但是这些开发工具需要开发者具有一定的编程经验,并且开发的程序不能跨平台运行。这样软件的更新或移植都会遇到很多困难。,与传统方式相比,,通过,WWW,访问数据库,有很多好处。首先,我们可以借用统一的浏览器,无需开发数据库前端。其次,所使用的标准统一,开发过程简单,,HTML,是,WWW,信息组织方式,是一种国际标准,现有的,WWW,服务器与浏览器均遵循这个标准。,使用,WWW,的另一个优点在于交叉平台对它的支持,几乎每种操作系统上都有可供使用的浏览器。,同时数据库也可以作为,WWW,上的后台工具,为,WWW,提供更加有效的数据组织和管理。由于数据库系统采用了索引技术、查询优化技术,通过数据库可以快速准确地访问大量数据。面对,WWW,上的大量信息,数据库无疑是管理它们的最好方式。,无论是,数据库为,WWW,服务,还是,WWW,为数据库服务。我们可以看出两者结合带给我们的将是一种更为有效、便利的信息管理和展示方式。,9/17/2024,16,数据库教程(沈-06.8),ch.13 2,。,WWW,与数据库访问接口,(,1,)公共网关接口,CGI,(,2,),ASP,技术,(,3,),JSP,技术,(,4,),PHP,技术,9/17/2024,17,数据库教程(沈-06.8),ch.13 2,。,WWW,与数据库访问接口,(,1,)公共网关接口,CGI,CGI(Common,Gateway Interface,,公共网关接口,),程序是运行在,WWW,服务器上的外部程序,可以被,WWW,服务器调用响应用户的,HTTP,请求产生动态内容,同时还可以通过数据库的,API,与数据库服务器等外部数据源进行通信。几乎所有的,WWW,服务器软件都支持,CGI,。开发者可以使用任何一种,WWW,服务器内置语言编写,CGI,,其中包括流行的,Perl,语言、,C,、,C+,、,VB,和,Delphi,等。,1).CGI,程序的功能,CGI,是一个用于定义,Web,服务器与外部程序之间通信方式的标准,使得外部程序能够动态生成,HTML,页面、图像或者其他内容。使用,CGI,的原因在于它是一个定义良好并被广泛使用的标准,在一定意义上可以说没有,CGI,就没有动态,Web,页面。,9/17/2024,18,数据库教程(沈-06.8),ch.13 2,。,WWW,与数据库访问接口,图,13-2 CGI,程序的工作过程,SQL,语句,CGI,程序,结果,浏览器,CGI,数据库,程序,数据库,用户输入,WWW,服务器,9/17/2024,19,数据库教程(沈-06.8),ch.13 2,。,WWW,与数据库访问接口,2).CGI,与数据库的集成,CGI,数据库网关就是将,CGI,程序同数据库集成起来的关键。编写,CGI,数据库网关的方法有如下几种:,使用数据库厂商提供的应用程序编程接口,(API),。但是这种方法只能用于某种特定的数据库,因此对其他类型的数据库不具有程序的可移植性。,在,HTML,语言中直接插入,SQL,语言。,HTML,文件被传送到,CGI,程序并被,CGI,程序读取。当结果返回到浏览器时,,CGI,程序的实际结果会取代,SQL,命令。使用,CGI,来调用存储在数据库中的例程。这些,SQL,命令被存储在数据库内部,可被外部程序调用,并将结果返回到浏览器页面上。,使用,ODBC,连接。这种方法使同一个应用程序可以连接到几种数据库中。,CGI,程序调用,ODBC,,使用,HTML,页面获取用户输入信息,并且使用,CGI,程序将数据请求传递给各种数据库。,由于,ODBC,的开放性,使用,ODBC,可以通过统一的界面连接到多种数据库。这样,很容易创建与各种数据库交互的程序。在实际操作中,只需要编写一个,CGI,程序就可以访问所有的,ODBC,数据库。,9/17/2024,20,数据库教程(沈-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,中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。,9/17/2024,21,数据库教程(沈-06.8),ch.13 2,。,WWW,与数据库访问接口,1).ASP,的特点,使用,VBscript,、,JScript,等脚本语言,结合,HTML,代码,即可快速地编写出网站应用程序。,无需,Compiler,编译,可在服务器端直接执行。,使用普通的文本编辑器,如,Windows,的记事本,即可进行编辑设计。,浏览器无关性,(Browser Independency),。客户端只要使用可执行,HTML,的浏览器,即可浏览,ASP,所设计的网页内容。,ASP,所使用的脚本语言,(VBScript,、,JScript,),均在,Web,服务器端执行,用户端的浏览器不需要执行这些脚本语言。,ASP,能与任何,Active X,脚本语言相兼容。除了可使用,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,等语言编写所需要的,Active X,服务器组件。,9/17/2024,22,数据库教程(沈-06.8),ch.13 2,。,WWW,与数据库访问接口,2). ASP,服务器端程序,要编写,ASP,应用程序,必须要熟悉至少一门,ASP,脚本语言,如,VB Script,。所谓脚本就是由一系列的脚本命令所组成的,如同一般的程序,脚本可以将一个值赋给一个变量,可以命令,Web,服务器发送一个值到客户浏览器,还可以将一系列命令定义成一个过程。,ASP,脚本语言是一种介乎于,HTML,和诸如,JAVA,、,Visual Basic,、,C+,等编程语言之间的一种特殊的语言,但却不具有编程语言复杂、严谨的语法和规则。如前所述,,ASP,所提供的脚本运行环境可支持多种脚本语言,例如:,JScript,、,REXX,、,Perl,等,在同一个,.asp,文件中也可以使用不同的脚本语言,而只需在,.asp,中作声明即可。这无疑给,ASP,程序设计者提供了广泛的发挥余地。,9/17/2024,23,数据库教程(沈-06.8),ch.13 2,。,WWW,与数据库访问接口,应当说明的是,,ASP,本身并不是一种脚本语言,它只是提供了一种使嵌入在,HTML,页面中的脚本程序得以运行的环境。与一般的程序不同,,ASP,程序无需编译,它的控制部份是使用,VBscript,、,JScript,等脚本语言设计的,当执行,ASP,程序时,脚本程序将一整套命令发送给脚本解释器,(,即脚本引擎,),,由脚本解释器进行翻译并将其转换成服务器所能执行的命令。当然,同其他编程语言一样,编写,ASP,程序也必须遵循一定的规则。如果使用自己熟悉的脚本语言编写,ASP,程序,那么,在服务器上必须要有能解释这种脚本语言的脚本解释器。当安装,ASP,时,系统提供了两种脚本语言:,VB,srcipt,和,JScript,,而,VB script,则被作为系统默认的脚本语言。也可以根据自己的喜好改变系统默认的脚本语言。,ASP,程序以扩展名为,.asp,的纯文本形式存储在,Web,服务器上,允许用任何文本编辑器打开它,,ASP,程序中可以包含纯文本、,HTML,标记以及脚本命令。只需将,.asp,程序放在,Web,服务器的虚拟目录下,(,该目录必须要有可执行权限,),,就可以通过,WWW,的方式访问,ASP,程序了。,9/17/2024,24,数据库教程(沈-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,驱动程序和,ODBC,驱动程序。,对于任何一种数据库都必须有相对应的,OLE DB,驱动程序和,ODBC,驱动程序,,ADO,才能对数据库进行存取,,ADO,对象必须与各种驱动程序结合才能存取各种类型数据库,不同的数据库需要不同的驱动程序。,9/17/2024,25,数据库教程(沈-06.8),ch.13 2,。,WWW,与数据库访问接口,下面,我们分别给出两个用,VBScript,编写的连接,Mdb,数据库和打开数据表的程序片断,程序片断,(1),:建立,MdbRecordset,对象,,Mdb,数据库是一个完整的数据库,内部可能含有若干个数据表,在此函数中,,Connection,的作用是连接数据库,,Recordset,的作用是打开数据表。,Function,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.Recordset,),CreateMdbRecordset.Open,数据表名,,,conn,,,2,,,2,打开数据表,第二个参数为,Connection,对象,End Function,9/17/2024,26,数据库教程(沈-06.8),ch.13 2,。,WWW,与数据库访问接口,程序片断,(2),:建立带口令的,Mdb,数据库的,Recordset,对象,它的建立方式与建立不带口令的,Mdb,数据库,Recordset,对象类似的,只是多了一个口令参数,即在与数据库连接时,必须给出口令信息。,Function,CreateSecuredMdbRecordset,(,数据库文件名,数据表名或,Select,语句,,password),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&Jet,OLEDB: Database Password=&,assword,Set,CreateSecuredMdbRecordset,=Server.,CreateObject(ADODB,.,Recordset,),CreateSecuredMbdRecordset.Open,数据表名,,,conn,,,2,,,2,打开数据表,第二个参数为,Connection,对象,End,Funnction,利用上面的函数就可以打开数据库,然后利用,ADO,的,Recordset,对象的增加记录、删除记录、修改记录等功能就可以对数据库进行操作。,9/17/2024,27,数据库教程(沈-06.8),ch.13 2,。,WWW,与数据库访问接口,(3) JSP,技术,JSP,的英文全称为,Java Server Pages,,是由,Sun,公司推出的一种动态网页技术标准。,JSP,是开发动态网页的常用工具之一。,JSP,网页,(*.,jsp,),的构造方法是在传统的网页,HTML,文件,(*.,htm,,*,.html),中加入,Java,程序片段,(,Scriptlet,),和,JSP,标记,(Tag),。,Web,服务器在遇到访问,JSP,网页的请求时,首先执行其中的程序片段,然后将执行结果以,HTML,格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送,E-mail,等。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果。,JSP,主要包含脚本语言,,JSP,指令及内置对象等三个部分。,9/17/2024,28,数据库教程(沈-06.8),ch.13 2,。,WWW,与数据库访问接口,1).JSP,脚本语言,JSP,脚本语言也就是嵌入页面内的,Java,代码,分为三种:声明,(Declarations),、,Scriptlet,、表达式,(Expression),。,声明,(Declarations),声明的语法结构是:,声明实体可以是变量,也可以是方法。声明过的变量和方法就可以在,Scrlptlet,中使用。声明部分不会在输出流中产生任何输出结果。,Scriptlet,Scriptlet,中可以包含任意行的合法脚本语言语句,其脚本语言通过,page,中的,language,属性定义。,Scriptlet,的语法结构是:,一个,JSP,页面中可以包含多个,Scriptlet,代码段。如果需要在,Scriptlet,代码段中使用符号“,”,那么应该使用“,”代替。,9/17/2024,29,数据库教程(沈-06.8),ch.13 2,。,WWW,与数据库访问接口,表达式,(Expressions),语句,表达式语句的语法是:,表达式的值如果是字符串,则直接输出到,JSP,的输出流;否则表达式的值将转化为字符串,然后输出到页面中;如果表达式不能转化为字符串,将出现一个,ClassCastException,异常。同一般的编程语言相同,,JSP,中也提供了注释语句。注释语句的语法是:,任何嵌入其中的脚本元素、指令语法、动作语法等都会被认为是注释。,实际上,由于在,JSP,的“脚本代码”部分中,直接使用“,”,包含起来的部分中可以使用,Java,的语法,所以也可以用下面两种方式来注释:,9/17/2024,30,数据库教程(沈-06.8),ch.13 2,。,WWW,与数据库访问接口,2). JSP,指令,指令是,JSP,的另一个重要的内容。指令提供了该页的全局信息,例如,重要的状态,错误处理,是否是,session,的一部分等等。这些指令包括:,include,指令、,page,指令、,taglib,指令以及动作指令,(,包括,forward,指令、,useBean,指令和,plugin,指令,),。,Include,指令,Include,指令用于在,JSP,编译时插入一个包含文本或代码的文件,这个包含的文件可以是,JSP,文件、,HTML,文件或文本文件。如果包含的是,JSP,文件,这个包含的,JSP,的文件中代码将会被执行。,page,指令,page,指令用于定义整个,JSP,文件都要使用的属性值,并在,JSP,程序进行编译时将这些文件属性传递给,JSP,引擎。,9/17/2024,31,数据库教程(沈-06.8),ch.13 2,。,WWW,与数据库访问接口,3). JSP,内置对象(,Implicit Objects,),由于,JSP,的脚本使用面向对象的编程语言,Java,,为了开发的方便,在,JSP,中已经预先定义好了一些常用的对象,在,Java,脚本中不用声明就可以直接使用这些对象,称之为内置对象。通过在,Java,脚本中使用这些对象,可以方便地实现特定的功能。这些对象以及它们的功能说明如图,13-3,所示。,对象功能,request,对象,用户端请求,此请求会包含来自,GET/POST,请求的参数,response,对象,网页传回用户端的回应,pageContext,对象,网页的属性是在这里管理,session,对象,与请求有关的通话期,application,对象,Servlet,正在执行的内容,config,对象,用来传送回应的输出资料流,out,对象,Servlet,的构架物件,page,对象,JSP,网页本身,9/17/2024,32,数据库教程(沈-06.8),ch.13 2,。,WWW,与数据库访问接口,每一个内置对象都有一个,Java,核心技术或者,Servlet,API,定义了类或者接口。具体的对应关系如图,13-4,所示。,request,Javax.servlet.ServletRequest,response,Javex.servlet.ServletResponse,pageContext,对象,Javex.servlet.jsp.PageContext,session,Javex.servlet.Http.HttpSession,application,Javex.servlet.ServletContext,out,Javex.servlet.jsp.JspWriter,config,Javex.servlet.ServletConfig,page,Jave.lang.Object,9/17/2024,33,数据库教程(沈-06.8),ch.13 2,。,WWW,与数据库访问接口,(4) PHP,技术,1).PHP,简介,PHP,的英文全称是,Personal Home Page,,是近年来发展起来的一种服务器端,HTML,嵌入脚本描述语言。,PHP,特色在于对数据库操作的方便性。近年来,基于数据库网页非常流行,特别是数据库,MySQL,的出现和发展,使得,PHP,发展的速度进一步加快。,PHP,是一种服务器端,HTML,嵌入脚本描述语言。其最大的特色是数据库层操作功能强大。例如,与,Perl,、,ASP,、,JSP,等语言相比,,PHP,对数据库的操作要简单得多。而且使用,PHP,语言编写的程序可以方便地进行系统之间的移植,从而保证了,PHP,更为广阔的使用范围。简单地说,,PHP,具有下述特点:,支持多种系统平台。这包括微软的,Windows 9x,,,WindowsNT,,,Windows2000 Professional,,,Windows 2000 Server,平台,以及各种,Unix,系统,包括,Linux,、,SQLars,和,SCO Unix,平台。,具有自由软件的特点。,PHP,遵守自由软件,GNU,通用公共许可协议。不需要对用,PHP,编写的程序付版税,并且可以自行加入使用者所需的功能。,版本更新速度快。与微软数年才更新一次地,ASP,相比,数周就更新一版是,PHP,独特的活力。,PHP,容易和,HTML,网页融合,执行效率高。,PHP,内嵌在,HTML,里修改成本低,开发速度快。,PHP,具有丰富的函数接口。,PHP,可以进行几乎所有流行数据库的数据库操作。,PHP,具有丰富的功能。从结构化的特性,对象式的设计,数据库处理,网络接口使用,到安全编码机制等,几乎完整地囊括所有网站所需的功能。,PHP,具有很高的安全性。,9/17/2024,34,数据库教程(沈-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,、,PostgreSQL(Berkeley,-open source),和,Sybase,等。,其次,如果数据库不是,PHP,本地支持的数据库,那么可以使用基于访问协议的函数进行连接。目前,这些包括,DBM,风格、,LDAP,和,ODBC,等。,为了在一个单一的系统上提供不同数据库的功能,,PHP,还提供了实验性的模块,dbx,。这个函数集允许连接到,PHP,配置支持的任何数据库。,9/17/2024,35,数据库教程(沈-06.8),ch.13 2,。,WWW,与数据库访问接口,(2) PHP,连接,ODBC,数据源,开放数据库连接,(ODBC),是由微软主导的数据库连接标准,,ODBC,和数据库的查询采用,SQL,语言,从而使得系统可以很容易和各种数据库沟通。,ODBC,已成为一种与数据库进行通信的工业标准。由于本书第,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,为欲执行的指令;返回值为,Result ID,值。,boolean,odbc_fetch_row(int,result,,,int,row),从一个结果集中获取一行数据。,Row,参数是可选的,若为空缺,则返回下一个有效行。在结果集中不再剩余行时返回,false,。,boolean,odbc,_,close(integer,connection),关闭一个数据库的连接。若在该连接上有打开的事务,则返回一个错误,而且连接不会被关闭。,9/17/2024,36,数据库教程(沈-06.8),ch.13 2,。,WWW,与数据库访问接口,string,odbc,_,result(int,result_id,,,mixed field),;,本函数用来取得返回的资料。参数,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_fields(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,。,9/17/2024,37,数据库教程(沈-06.8),ch.13 3.Java,和,JDBC,(1)Java,简介,(2) JDBC,的提出,(3) JDBC,的基本功能,(4) JDBC,数据库设计方法,(5) JDBC API,(6) JDBC,应用程序的流程,9/17/2024,38,数据库教程(沈-06.8),ch.13 3.Java,和,JDBC,(1)Java,简介,1) Java,概述,Java,是,sun,公司推出的一种基于网络的通用型面向对象编程语言,它既可以作为一种通用的编程语言,也可以用来创建各种可通过网络发布的、动态的二进制内容。,Java,不仅仅指,Java,编程语言本身,而且还包括一个在网络客户机,/,服务器(,C/S,)或浏览器,/,服务器,(B/S),模式下的开发编程环境。从某种意义上来讲,,Java,就是一个,WWW,应用开放环境。,在,Java,出现以前,,Internet,主要用于信息共享,信息访问和传递方式也只是简单的链接。目前,,Java,已经成为,Internet,应用的主要开发语言,将信息共享的方式往前推进了一大步,使通过,Web,提供完全交互式的应用程序成为可能。,9/17/2024,39,数据库教程(沈-06.8),ch.13 3.Java,和,JDBC,Java,源程序采用半编译、半解释的方式运行于,Java,虚拟机,(VM),上。,Java,虚拟机实际上是虚拟的并不存在的平台。,Java,源代码先通过,Java,编译器产生,Java,虚拟机字节代码,(Byte Codes),。字节代码文件称为类文件,(Class Files),。字节代码在本地或通过网络下载到客户机,再经,Java,解释器将字节代码转换成实际系统的机器代码去执行。所以开发人员在编写源程序时,不必担心程序运行的实际平台。当程序一旦编成,便可以不经修改直接运行于各种不同的平台上。图,13-5,说明了,Java,源程序的运行顺序。,Java,源程序,Java,编译译器,Java,字节代码,Filename.class,Java,编译译器,在实际系统,平台上运行,图,13-5 Java,运行顺序,9/17/2024,40,数据库教程(沈-06.8),ch.13 3.Java,和,JDBC,2),Java,的特性,简单性,Java,被设计得简单而又高效,相应的可执行代码也短小精悍。这是因为,Java,是从,C+,发展来的,而又除去了,C+,中复杂的部分,所以在使用上比,c+,要简便。,可移植性,从,Java,的工作方式可以看出,如图,13-5,所示,,Java,有效地克服了传统的解释型语言的性能瓶颈,实现了,Java,运行环境与平台无关,所以,Java,语言的可移植性很强。,Java,的这一特点给未来的软件设计带来了新思路,对网络分布式数据库的发展有深远的影响,同时也促成了动态技术的发展。,面向对象,Java,几乎是一种完全面向对象的程序设计语言。,Java,代码以类的形式组成。,Java,源于,C+,,但抛弃了,C+,中非面向对象的部分。,Java,具有可重用、可扩展和可维护方式的编写软件方法。,分布式和动态结构,Java,支持,Web C,S,计算模式,很适合在分布式环境中应用。另一方面,Java,利用动态库,可以从盘上获取类文件的同时还可以从网络上获取存并改进了软件的模块化程度,使得,Java,具有动态性。,安全性,Java,不支持指针数据类型,也不允许直接对内存进行操作。另外,,Java,严格限制了,Java,程序对客户端文件系统的访问。这些措施提高了,Java,程序的安全性。,9/17/2024,41,数据库教程(沈-06.8),ch.13 3.Java,和,JDBC,3,),Java,应用程序和小程序,一般可以把,Java,程序分成两类:应用程序,(Application),和小应用程序,(Applet),。简单的说,小应用程序就是嵌入式,Web,文档的程序,而应用程序则是所有其他类型的程序。,小应用程序是从,Web,文档进来的,Java,程序,也就是从,HTML,文件进来的程序。而应用程序则是从命令行上运行的程序。,小应用程序需要来自,Web,浏览器的大量信息,(,包括何时启动、何时激活或关闭等,),。而应用程序可能运行在最简单的环境中,它来自外部世界的惟一输入就是命令行参数。,9/17/2024,42,数据库教程(沈-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,由一组用,Java,语言编写的类与接口组成。,JDBC,已成为一种供数据库开发者使用的标准,APl,,用户可以用纯,JavaAPl,来编写数据库应用。,9/17/2024,43,数据库教程(沈-06.8),ch.13 3.Java,和,JDBC,使用,JDBC,可以很容易地把,SQL,语句传递到任何关系型数据库中,不必考虑,RDBMS,的型号。,Java,与,JDBC,的结合,使程序员可以只写一次数据库应用软件,就能在各种数据库系统上运行。,JDBC,扩充了,Java,的应用范围,用,Java,与,JDBC API,可以发布一种包含远程数据库信息的,Applet(,小应用程序,),的,WWW,页面。企业使用,JDBC,可以把它的所有雇员信息通过,Intranet,连接到一个或多个内部数据库中。,MIS,管理员通过,Java,与,JDBC,结合可以更容易、更经济地发布企业信息。今后,随着,Java,应用程序的不断增加,对,Java,数据库的访问需求也会越来越迫切。,9/17/2024,44,数据库教程(沈-06.8),ch.13 3.Java,和,JDBC,(,3,),JDBC,的基本功能,Java,与,JDBC,的结合使程序员可以只写一次数据库应用软件便能在各种数据库系统上运行。,JDBC,的基本功能包括:,建立与数据库的连接;,发送,SQL,语句;,处理结果。,JDBC,是最低级的,API,,它直接调用,SQL,命令,但它又可以作为构造高级接口和工具的基础。高级接口是更加“友好”、更易理解和更为方便的,API,。在执行时,高级,API,将首先被翻译成如,JDBC,这样的低级接口。目前有两种基于,JDCB,的高级,API,正在开发之中。,9/17/2024,45,数据库教程(沈-06.8),ch.13 3.Java,和,JDBC,一种是嵌入,SQL,语句的,Java,。嵌入,SQL,的预处理程序可让程序员直接混合使用,SQL,与,Java,。例如,在,SQL,语句中可用,Java,变量接受或提供,SQL,值。嵌入,SQL,与处理程序
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!