动态网页的数据库连接技术

2010-07-30 12:54王逾西
天津商务职业学院学报 2010年1期
关键词:数据库系统服务器端应用程序

王逾西

天津市财贸管理干部学院,天津 300170

在互联网高速发展的今天,企业上网、电子商务、网络查询、网上股票交易等大量的信息等待处理,海量的数据需要存储,急需的资料尚待查询,使网页开发制作成为一个新型的课题。人们不再满足静态网页,开始广泛应用交互动态网页,由此网页制作的技术发展到了一个很高的层次,这些动态网页的出现使得WEB页面可以方便地传播动态信息。在目前,比较流行的有ASP、PHP和JSP程序设计语言所编辑的动态页面。当然这些动态网页的实现,是以大量数据资源为基础的。

动态网页开发技术包含客户端动态网页开发和服务器端的动态网页开发,客户端的动态网页一般是利用Javascript语言进行开发;服务器端的网页开发可以利用CGI、ASP、PHP和JSP脚本语言进行开发,一般所说的动态网页开发指服务器端的动态网页开发。

动态网页开发技术一般是通过脚本语言进行编程在服务器端调用后台数据库,根据客户的不同请求,把相应的数据库数据以HTML的格式发送给客户。由于对网站信息的更新主要是通过数据库完成,网页内容的添加、修改、删除等,都建立在前台和后台数据库连接的基础上。所以连接数据库在网站制作过程中占有很重要的位置。

动态网页技术的核心技术是数据库连接技术和数据库访问技术。动态网页开发技术与数据库紧密相联,必须依靠数据库才能正常运行。更新网页信息都必须从数据库中读取,每打开一个页面就读取数据库一次,访问人多时数据调用将使速度变得缓慢,并对服务器产生极大的运行压力,会增加服务器的负担。如果后台数据库发生故障,整个网站马上瘫痪。因此一些访问量大、规模大以及对稳定性要求高的网站都会采用动态的网页技术。

一、用ASP技术实现网页与数据库互连

ASP(Active Server Page)是一个Web服务器的开发环境,利用它可以产生和运行动态的、交互的、高性能的Web服务应用程序。以ASP方式访问数据库是ASP功能的一部分。主要是在ASP的基本原理的基础上进行扩展,每当Web服务器接收到一个ASP网页的HTTP(超文本传输协议)请求时,就立即解释ASP中的程序代码,进而生成ADO以SQL方式向ODBC发出操作指令,达到存取数据库的目的。由ODBC对数据库进行相应操作,并将结果返回给ADO,由程序生成该部分的HTML文件,经Web服务器将所有的HTML文件送到浏览器,然后由浏览器负责对HTML文件进行解释,并在浏览器窗口显示结果。由于ASP所有的程序都在Web服务器端执行,这样就减轻了客户端浏览器的负担,大大提高了交互的速度。

ASP本身并不是一种脚本语言,它只是为嵌入在HTML页面中的脚本程序提供了运行的环境。使用普通的文本编辑软件即可进行页面的编辑与设计。ASP程序的控制部分,是使用VBScript,JavaScript等脚本语言来设计的,当执行ASP程序时,脚本程序将一整套命令发送给脚本解释器,由脚本解释器进行翻译并将其转换成服务器所能执行的命令。无须编译,可以直接解释执行。ASP所提供的脚本通行环境可支持多种脚本语言如VBScript、JavaScript、Perl等,与多种语言相容,给ASP提供了广泛的发挥余地。

ASP所设计出的是动态网页,可接收用户提交的信息并作出反应,其中的数据可随实际情况而改变,无须人工对网页文件进行更新即可满足应用需要。

1.数据库网页结构

在数据处理能力中,数据一般存储在特定的数据库系统中,其中的数据库有SQLCERVER,Access以及Oracle等,而ADO(Active Data Object)对象是数据库系统和ASP之间数据传送的桥梁,提供了开发数据库功能网页所需要的应用程序接口,可以利用ADO对象直接访问数据库。所以数据库网页结构是由ASP、ADO对象以及数据库系统组成的。其结构如图。

由图中可知计算机上ASP通过ADO对象以不同的方式作特定的数据库系统,在这里ADO应用程序接口起到了桥梁的作用。

2.ODBC的结构

ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构 (WOSA,Windows Open Services Architecture)中有关数据库方面的一个组成部分,它建立了一组规范。该规范为应用程序提供了一组对数据库访问的标准API和基于动态链接库的运行支持环境。开发ODBC接口可以创建与不同数据库系统进行交互的应用程序。在使用ODBC开发的数据库应用程序时,应用程序调用的是标准的ODBC函数和SQL语句,数据库的低层操作由各个数据库的驱动程序完成,而对用户来说,ODBC的驱动程序屏蔽了不同数据库系统间的差异,使得用ODBC编写的数据库应用程序可以运行在不同的数据库环境下。这样应用程序就具有很好可移植性和适应性,从而彻底克服了传统数据库的缺陷。

对于应用者来说,使用方法是通过操作系统提供的ODBC数据源管理器来定义数据源名称即DSN,然后在应用程序中使用DSN来连接和访问具体的数据库。

3.ADO数据库访问技术

在ASP中建立数据库的访问,需要通过ADO来完成。ADO是微软公司提供的面向对象的,与语言无关的通用数据库访问接口。利用ADO可以将任何数据库访问结果连接到Web页面。ADO要想存取数据库的内容,首先要求系统必须安装数据库驱动程序,否则,ADO无法与数据库建立连接。其如图所示。

ADO总共有10个对象以及4个集合。一组使用ADO访问数据库的ASP脚本程序应用使用Connection对象建立并管理与远程数据库的连接;使用Command对象提供灵活的查询;而使用Recordset对象访问数据库查询所返回的结果。这三者是ADO中最基本也最核心的对象,三者之间相互联系、相互依存。ADO通过与ODBC的链接,可以链接各类的数据库。

二、JSP与数据库的互连

JSP(Java Server Pages)实现了动态页面与静态页面的分离、脱离了硬件平台的束缚,以编译后运行等方式,大大提高了其执行效率而逐渐成为因特网上的主流开发工具。JSP应当被看作是一种脚本语言,然而作为一种脚本语言,JSP又显得过于强大了,在JSP中几乎可以使用全部的Java类,具有Java技术的所有好处,包括健壮的存储管理和安全性。

JSP执行速度快。JSP页面在执行时是编译式,而不是解释式的。JSP页面一般是翻译为Servlet的Java源文件,再经编译器译为Servlet的Class文件,其Java代码一直驻留于服务器内存中,在Java虚拟机上解释执行。每次客户机向服务器请求这一个JSP文件的时候,服务器检查是否有改变,若没有就直接执行Servlet,其效率相当高。与Servlet相比,JSP能提供所有Servlet功能。

JSP对数据库的访问主要通过JDBC(Java Data Base Connectivity)的技术来实现。JDBC不使用服务器端的数据源,只要有JDBC驱动程序,Java就可以访问数据库了。如果一个特定的数据库没有JDBC驱动程序,而只支持ODBC的数据库,可以通过JDBC—ODBCBridge将JDBC调用转化为ODBC调用来实现访问,如图所示。所有的Java编译器都带有一个免费的JDBC—ODBCBridge,理论上可以访问常见的数据库。可以跨平台,在其上面的应用(Pure Java)可以在任何操作系统、应用服务器上运行。JSP可以和任何与JDBC兼容的数据库相连,访问数据库,而且还可以使用JDBC—ODBCBridge访问基于ODBC的数据库。这也就意味着JSP可以比ASP(只支持ODBC数据库)访问更多类型的数据库。

JSP是基于平台和服务器的相互独立的,并且JSP标签可扩展性和JSP跨平台组件的重用性将使得JSP为Web数据库应用提出更具竞争力的解决方案。JSP技术依附于一次写入,之后,可以运行在任何具有符合JavaTM语法结构的环境。取而代之过去依附于单一平台或开发商,JSP技术能够运行在任何WEB服务器上并且支持来自多家开发商提供的各种各样工具包。

三、PHP与数据库的互连

PHP(Personal Home Page Tools)是一种 HTML内嵌式跨平台的服务器端脚本语言。PHP可在Unix、Linux的Web服务器上正常运行,还支持IIS、Apache等通用Web服务器,用户更换平台时无需变换PHP代码即可使用,用户只需要很少的编程知识就能使用PHP建立一个真正交互的Web站点。它具有安全、易扩展、执行速度快、免费、简单易学和良好的稳定性等优点。PHP最强大、最有意义的特性是提供了标准的数据库接口,支持大范围的数据库,可直接与Informix、Oracle、Sybase、PostgreSQL、MySQL、Access等直接连接,与数据库连接方便,兼容性强,扩展性强。数据库并非由客户端直接访问,而是通过服务器上PHP代码写成的业务逻辑连接。可以进行面向对象编程,书写一个支持数据库的Web页面非常的简单。PHP还支持ODBC接口的数据库,可顺利地对其操作。PHP可以编译成具有与许多数据库相连接的函数,还可以自己编写外围的函数间接存取数据库。但PHP提供的数据库接口支持彼此不统一,比如对Oracle,MySQL,Sybase的接口,彼此都不一样,这也是PHP的一个弱点。

PHP提供了类和对象。基于Web的编程工作非常需要面向对象编程能力。PHP支持构造器、提取类等。

PHP的运行,是靠它的语言解释器来完成的,在NT下也就是PHP1.EXE,它是一个解释器,其作用是解释后缀为1PHP或1PHP3或1PHTML或其它的文件,根据里边定义的程序来访问数据库,读写文件,并将执行的结果组织成STRING返回给WEBSERVER然后当作HTML格式的文件发送给浏览器读取文件。

四、结束语

从总的方面来说,ASP、PHP和JSP基本上都是把脚本语言嵌入HTML文档中,它们最主要的优点是:ASP学习简单,使用方便;PHP软件免费,运行成本低;JSP多平台支持,转换方便。JSP的真正对手是ASP和PHP以及他们的高级版本ASP.NET和PHP4。但是由于ASP局限于Windows系统和IIS,且在安全上还存在一些问题;PHP对组件支持不够完善等缺陷,有理由认为,在将来的Web开发中,中小型站点将出现JSP、ASP和PHP三分天下的局面,但对于大型的电子商务站点,JSP和J2EE技术将成为首选。

[1]王萍萍,李晓娜.ASP+Dreamweaver动态网站开发[M].北京:清华大学出版社,2008.

[2]魏善沛.Web数据库编程与应用[M].北京:清华大学出版社,2008.

[3]于鹏.VBScript/ASP 网页设计语言教程[M].北京:北京电子工业出版社,2004.

[4]孙媛,赵明茹.动态网页与数据库连接的实现方法[J].计算机时代,2009,(5).

[5]段春梅.动态网页制作技术ASP与JSP的比较[J].福建电脑,2008,(6).

猜你喜欢
数据库系统服务器端应用程序
Linux环境下基于Socket的数据传输软件设计
删除Win10中自带的应用程序
谷歌禁止加密货币应用程序
微细铣削工艺数据库系统设计与开发
江苏省ETC数据库系统改造升级方案探讨
基于Qt的安全即时通讯软件服务器端设计
基于Qt的网络聊天软件服务器端设计
实时数据库系统数据安全采集方案
核反应堆材料数据库系统及其应用
基于C/S架构的嵌入式监控组态外设扩展机制研究与应用