6.3 Intranet基于 Web的数据库应用
6.3.1 Web数据库应用的三层体系结构
6.3.2 数据库与 Web的交互
第 6章 Intranet与 Extranet
第 6章 Intranet与 Extranet
6.3.1 Web数据库应用的三层体系结构
Intranet中利用 Web三层结构可以比较圆满地解决基于 C/S
系统存在的问题。 Web三层体系结构,即客户端浏览器 /Web服
务器 /数据库服务器( B/W/D,Browser/Web Server/Database
Server)结构,该体系结构就是所谓的 B/S模式。 B/W/D三层体
系结构如图 6.3所示。
数据库服务器客户端浏览器 W e b 服务器
图 6.3 B/W/D三层体系结构
第 6章 Intranet与 Extranet
6.3.1 Web数据库应用的三层体系结构
1,客户端 浏览器
从 Web的观点可看出, 任何事物都是由文件和关联构成的 。
客户端浏览器是客户机程序进入 Web的窗口, 它的工作是读取
文件和跟着用户选择的关联走 。 其任务是:
?为用户定制一个请求
?将用户的请求发送给 Web服务器
?接收 Web服务器发出的信息, 并将其呈现给用户
目前浏览器主要有 Netscape的 Communicator,Microsoft
的 Internet Explorer、基于文本的 Lynx,Opera等。
第 6章 Intranet与 Extranet
6.3.1 Web数据库应用的三层体系结构
2,Web服务器
Web服务器提供 HTTP服务, 它接受客户的请求, 并把静态
和动态内容组装成 Web页面, 然后传递给客户 。 Web服务器通
常具有连接数据库的功能, 并能提供其它一些服务 。
Web服务器的任务是:
?接收用户的请求
?检查用户请求的合法性
? 针对用户请求获取并制作数据, 包括对数据进行前期处
理和后期处理
?把信息发送给提出请求的客户机
第 6章 Intranet与 Extranet
6.3.1 Web数据库应用的三层体系结构
Web服务器与客户端浏览器之间的信息交互过程是这样的,
浏览器将用户的输入(如 http://www.pku.edu.cn)进行分解,
分为主机名和文件名两部分。如果客户没有提供文件名,则由
主机( Web服务器)提供默认文件(如 index.html)。 Web服务
器与客户端连接后,检查客户端的请求,如果是一个文件,则
将文件的内容传给客户端,由浏览器显示出来;如果客户端的
请求是一个程序,则生成一个新的进程,提供相应的参数后运
行这个程序,并将程序的输出结果传输给客户端,如同这个输
出是一个已存在的文件。
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
管理信息系统的核心是对数据库中的数据进行加工, 处理, 从而
获得有用的管理信息 。 数据库的访问 均可大致分为两大过程:
? 产生并提交用结构化查询语言 SQL书写的查询或数据请求语句
到数据库引擎中 。
?执行查询并处理查询所得结果 。
Web访问数据库也涉及这两个过程, 但其中有着重要的不同之处:
? 用户按照浏览器上用 HTML编写的表格来输入查询和数据请求 。
? 接口程序将输入到表格中的信息提取出来并组织称为有效的
SQL查询或处理语句, 随后将其发送到数据库后台 。
? 接口程序在数据库引擎对数据进行处理后之后接收结果, 并以
HTML格式将其传回到用户的浏览器上显示给用户阅读 。
可见, Web访问数据库必须利用接口程序 。
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
1,CGI
通用数据网关接口 ( CGI,Common Gateway Interface)是
Web服务器与外部扩展程序交互的一个接口标准。 Web服务器通
用调用 CGI程序实现和 Web浏览器的交互,也就是 CGI程序接收
Web浏览器发送给 Web服务器的信息,进行处理,将响应结果再
回送给 Web服务器及 Web浏览器。 CGI程序一般完成 Web网页中
表单( Form)数据的处理、数据库查询和实现与传统应用系统的
集成等工作。
CGI的 优点 是:跨平台性能好,几乎可在任何操作系统上实现。
缺点 是,CGI程序一般都是一个独立的可执行程序,与 Web服务
器各自占据不同的进程,且一个 CGI程序只能处理一个请求。
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
2,服务器 API
服务器 API的作用类似于 CGI,用于扩展服务器的功能, 它以
动态链接库 DLL的形式提供, 是 驻留在 Web服务器上的本机代码 。
服务器 API可以实现 CGI程序所能提供的全部功能,其原理和
CGI大体相同,都是通过交互式页面获得用户的输入信息,然后交
服务器后台处理,但二者的实现机制却不相同。
?在服务器 API下创建的程序以动态链接库的形式存在,而
CGI程序一般是可执行程序;
?在服务器 API的调用方式中被用户请求激活的 DLL和 Web服
务器处于同一进程中,在处理完某个用户请求后并不马上消失,
而是和 Web服务器一起继续驻留于内存中,等待处理其他用户
的 HTTP请求,直到过了指定时间后一直没有用户请求为止;
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
?基于服务器 API的所有进程均可获得服务器上的任何资
源,而且当它调用外部 CGI程序时,需要的开销也较单纯
的 CGI少,因此服务器 API的运行效率明显高于 CGI。
3,IDC
因特网数据库连接器 ( IDC,Internet Database
Connector)是 Microsoft的 Web服务器 IIS( Internet
Information Server)的一个动态链接库 Httpodbc.dll,它是建
立在 ISAPI基础之上,通过开放数据库互连 ODBC接口访问各
种数据库。
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
4,ADC
同前几种方案中对数据库的操作都是在服务器端进行的不
同,先进数据库连接器 ( ADC,Advanced Database
Connector)提供的是一个处理数据库的 ActiveX控件,它的主
要特点是 在浏览器上实现数据库访问操作 。 ADC在客户端使用
支持 AcitveX的浏览器,可访问所有支持 ODBC的数据库。
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
5,ASP+ADO模式
ASP( Active Server Pages)是 IIS提供的一种动态网页技
术,它能够将 HTML文本、脚本命令及 ActiveX组件混合在一起
构成 ASP页,实现对 Web数据库的访问。当用户使用浏览器访
问 ASP网页时,Web服务器响应,调用 ASP引擎来执行 ASP文
件,并解释其中的脚本语言,通过 ODBC连接数据库,由数据
库访问组件 ADO( ActiveX Data Objects)完成数据库操作,最
后 ASP生成包含有数据库查询结果的 HTML页面并返回用户端。
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
ADO组件由七个对象和四个集合组成 。 其中, 最重要的是
Connection,Command和 Recordset三个对象 。 Connection对象用
于创建应用程序和数据库之间的连接, Command对象用于定义数
据库的操作, 而 Recordset对象则包含了从数据库中查询到的结果
集合 。
在 ASP中通过 ADO访问数据库, 一般要通过以下 四个步骤,
?创建一个到数据库的 Connection;
?查询一个数据集合, 即执行 SQL,产生一个 Recordset;
?对数据集合进行需要的操作;
?关闭 Connection。
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
6,JSP+JDBC模式
?J2EE
J2EE是由 SUN公司领导, 多家公司共同参与制定的一个企业应用程
序开发标准 。 近年来, Java技术已经发展成为适用于多个领域需求的
Java 2平台 。 目前, Java 2平台根据其应用领域的不同有三个版本 。
J2SE( Java 2 Platform Standard Edition) 适用于桌面系统 。
J2ME( Java 2 Platform Micro Edition) 适用于小型设备和智能
卡系统 。
J2EE( Java 2 Platform Enterprise Edition) 适用于建立服务器
应用程序和服务 。
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
J2EE的体系结构可以分为四层, 如下图 6.4所示 。
J2EE拥有 Java固有的跨平台特性, 它具有以下 优势,立足于
企业信息系统的基础之上开发新的系统, 可以充分利用用户原有
的投资;允许企业开发人员把一些通用, 烦琐的服务器端任务交
给中间件供应商完成, 把自己的精力集中在商业逻辑上, 可以大
大提高开发效率;支持异构环境, 用 J2EE开发的应用程序能非常
方便地部署在不同平台上, 具备良好的可扩展性 。
图 6.4 J2EE的体系结构
应用程序客户端 W eb 浏览器
J S P /S er v let
E n ter p r ise J av a B ea n
数据库、文件系统、企业已有系统等
E n ter p r ise J av a B ea n
企业信息系统层
EJB 层
W eb 组件层
客户端层
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
?JSP
JSP( Java Server Pages) 是由 Sun Microsystems公司倡
导, 许多公司参与一起建立的一种开放的, 可扩展的动态网页
技术标准, 目前有 1.0和 1.1两个版本 。 在 HTML网页文件中加入
Java程序片断 ( Scriptlet) 和 JSP标记 ( tag), 就构成了 JSP
网页 。 作为 Java平台的一部分, JSP拥有 Java编程语言, 一次
编写, 到处运行, 的特点 。 它还具有 Java技术的所有优点, 包
括, 健壮, 的存储管理和安全性 。
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
?JDBC
JDBC( Java Database Connectivity) 是 Java应用程序与
数据库的通用接口 ( Java API), 它规定了 Java如何与数据库
进行交互作用 。 JDBC由一组用 Java语言写的类和接口组成 。
JDBC与 Java结合, 使用户容易对数据库进行操作 。 用 Java和
JDBC编写的数据库应用软件具有与平台无关的特性, 可在各种
数据库系统上运行 。
JDBC访问数据库的过程 是:首先由用户的浏览器连接到
Web服务器上, 下载含有 Java小程序的 HTML页, Java小程序
在客户端运行并使用 JDBC接口, 直接与数据库服务器交互, 并
直接把查询结果的 HTML页返回给浏览器 。
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
?JSP应用模型
① 简单模型
在简单模型中, 浏览器直接调用 JSP页面, JSP页面自己生成被请
求的内容 。 JSP页面可以调用 JDBC等组件来生成结果, 创建 HTML,并
将结果发送回浏览器 。 图 6.5说明了这种简单的 JSP访问模型 。
图 6.5 简单的 JSP访问模型
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
② 使用 Servlet
基于 Web客户机直接对 Servlet提出请求, 由 Servlet生成动
态的内容, 再将结果捆绑到一个结果对象中 。 JSP页面从该对象
中访问动态内容, 并且将结果返回给浏览器 。 如图 6.6所示 。 采
用这种方式, 可以在应用程序之间创建共享的, 可重用的组件,
并且作为更大应用的一部分来实现 。
图 6.6 JSP和 Servlet结合使用
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
③ 采用 EJB技术的可扩展处理 。
Java Bean是一种可重用的 Java组件, 它可以被 Applet,
Servlet,JSP等 Java程序调用 。 JSP页面可以作为企业版的
Java Bean( EJB,Enterprise Java Bean) 体系结构中的一个
中间层次, 在这种情况下, JSP页面和后端数据源之间通过 EJB
组件进行交互 。 如图 6.7所示 。
图 6.7 采用 EJB技术的可扩展处理
浏览器 J S P 页面
H T M L / X M L R M I / I I O P
E J B
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
7,ASP.NET+ADO.NET模式
?.NET
Microsoft公司的,NET体系结构是 Windows分布式网络应用程序
体系结构的演进,Microsoft公司对,NET的描述是:,.NET是一个革
命性的新平台,它建立在开放的 Internet协议和标准之上,采用许多
新的工具和服务用于计算和通信。,简单地说,.NET是一个开发和
运行软件的新环境。
图 6.8为,NET的基本层次结构。,NET框架的基本模块包括以下
几个部分,Web服务( Web Services)、通用语言运行时环境
( common language runtime)、服务框架类库( class library)、
数据访问服务 ADO.NET、表单应用模板和 Web应用程序模板
ASP.NET。
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
C o m m o n L a n g u a g e R u n t i m e
C l a s s L i b r a r y
A D O, N E T ( D a t a & X M L )
A S P, N E T ( W e b F o r m s & W e b S e r v i c e s ) W i n d o w s F o r m s
C o m m o n L a n g u a g e S p e c i f i c a t i o n
V B, N E T C# C + + J S c r i p t ……
图 6.8,NET框架的基本层次结构
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
?ASP.NET
ASP.NET是一种建立在通用语言上的程序架构。 ASP.NET向
后兼容 ASP,运行在,NET平台上,以前的 ASP脚本几乎不经修改
就可在,NET平台上运行,从而保护了企业先前的相关投资。
?ADO.NET
ASP.NET中的 ADO.NET和 ASP中的 ADO相对应,它是 ADO的
改进版本。在 ASP.NET中通过 Managed Provider所提供的应用程
序编程接口( API),可以轻松地访问各种数据源的数据,包括
OLE DB所支持的数据库和 ODBC支持的数据库。
为了将数据访问和数据操纵分离,ADO.NET使用了两种组件:
DataSet对象和,NET Data Provider。
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
DataSet对象是一个存在于内存中的数据库, 在 ADO.NET
中处于核心地位, 它提供了一种与数据库来源无关的数据表示
方式, 可以表示, 存储和管理来自远程或本地的数据库, XML
文件或数据流甚至应用程序的局部数据 。
由于有了 DataSet,所以 ADO.NET访问数据库 的 步骤 变为:
?创建一个数据库连接 ;
?请求一个记录集合;
?把记录集合暂存到 DataSet;
? 如果需要, 返回第二步, DataSet可以容纳多个数据集合;
?关闭数据库连接;
?在 DataSet上做所需要的操作 。
6.3.1 Web数据库应用的三层体系结构
6.3.2 数据库与 Web的交互
第 6章 Intranet与 Extranet
第 6章 Intranet与 Extranet
6.3.1 Web数据库应用的三层体系结构
Intranet中利用 Web三层结构可以比较圆满地解决基于 C/S
系统存在的问题。 Web三层体系结构,即客户端浏览器 /Web服
务器 /数据库服务器( B/W/D,Browser/Web Server/Database
Server)结构,该体系结构就是所谓的 B/S模式。 B/W/D三层体
系结构如图 6.3所示。
数据库服务器客户端浏览器 W e b 服务器
图 6.3 B/W/D三层体系结构
第 6章 Intranet与 Extranet
6.3.1 Web数据库应用的三层体系结构
1,客户端 浏览器
从 Web的观点可看出, 任何事物都是由文件和关联构成的 。
客户端浏览器是客户机程序进入 Web的窗口, 它的工作是读取
文件和跟着用户选择的关联走 。 其任务是:
?为用户定制一个请求
?将用户的请求发送给 Web服务器
?接收 Web服务器发出的信息, 并将其呈现给用户
目前浏览器主要有 Netscape的 Communicator,Microsoft
的 Internet Explorer、基于文本的 Lynx,Opera等。
第 6章 Intranet与 Extranet
6.3.1 Web数据库应用的三层体系结构
2,Web服务器
Web服务器提供 HTTP服务, 它接受客户的请求, 并把静态
和动态内容组装成 Web页面, 然后传递给客户 。 Web服务器通
常具有连接数据库的功能, 并能提供其它一些服务 。
Web服务器的任务是:
?接收用户的请求
?检查用户请求的合法性
? 针对用户请求获取并制作数据, 包括对数据进行前期处
理和后期处理
?把信息发送给提出请求的客户机
第 6章 Intranet与 Extranet
6.3.1 Web数据库应用的三层体系结构
Web服务器与客户端浏览器之间的信息交互过程是这样的,
浏览器将用户的输入(如 http://www.pku.edu.cn)进行分解,
分为主机名和文件名两部分。如果客户没有提供文件名,则由
主机( Web服务器)提供默认文件(如 index.html)。 Web服务
器与客户端连接后,检查客户端的请求,如果是一个文件,则
将文件的内容传给客户端,由浏览器显示出来;如果客户端的
请求是一个程序,则生成一个新的进程,提供相应的参数后运
行这个程序,并将程序的输出结果传输给客户端,如同这个输
出是一个已存在的文件。
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
管理信息系统的核心是对数据库中的数据进行加工, 处理, 从而
获得有用的管理信息 。 数据库的访问 均可大致分为两大过程:
? 产生并提交用结构化查询语言 SQL书写的查询或数据请求语句
到数据库引擎中 。
?执行查询并处理查询所得结果 。
Web访问数据库也涉及这两个过程, 但其中有着重要的不同之处:
? 用户按照浏览器上用 HTML编写的表格来输入查询和数据请求 。
? 接口程序将输入到表格中的信息提取出来并组织称为有效的
SQL查询或处理语句, 随后将其发送到数据库后台 。
? 接口程序在数据库引擎对数据进行处理后之后接收结果, 并以
HTML格式将其传回到用户的浏览器上显示给用户阅读 。
可见, Web访问数据库必须利用接口程序 。
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
1,CGI
通用数据网关接口 ( CGI,Common Gateway Interface)是
Web服务器与外部扩展程序交互的一个接口标准。 Web服务器通
用调用 CGI程序实现和 Web浏览器的交互,也就是 CGI程序接收
Web浏览器发送给 Web服务器的信息,进行处理,将响应结果再
回送给 Web服务器及 Web浏览器。 CGI程序一般完成 Web网页中
表单( Form)数据的处理、数据库查询和实现与传统应用系统的
集成等工作。
CGI的 优点 是:跨平台性能好,几乎可在任何操作系统上实现。
缺点 是,CGI程序一般都是一个独立的可执行程序,与 Web服务
器各自占据不同的进程,且一个 CGI程序只能处理一个请求。
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
2,服务器 API
服务器 API的作用类似于 CGI,用于扩展服务器的功能, 它以
动态链接库 DLL的形式提供, 是 驻留在 Web服务器上的本机代码 。
服务器 API可以实现 CGI程序所能提供的全部功能,其原理和
CGI大体相同,都是通过交互式页面获得用户的输入信息,然后交
服务器后台处理,但二者的实现机制却不相同。
?在服务器 API下创建的程序以动态链接库的形式存在,而
CGI程序一般是可执行程序;
?在服务器 API的调用方式中被用户请求激活的 DLL和 Web服
务器处于同一进程中,在处理完某个用户请求后并不马上消失,
而是和 Web服务器一起继续驻留于内存中,等待处理其他用户
的 HTTP请求,直到过了指定时间后一直没有用户请求为止;
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
?基于服务器 API的所有进程均可获得服务器上的任何资
源,而且当它调用外部 CGI程序时,需要的开销也较单纯
的 CGI少,因此服务器 API的运行效率明显高于 CGI。
3,IDC
因特网数据库连接器 ( IDC,Internet Database
Connector)是 Microsoft的 Web服务器 IIS( Internet
Information Server)的一个动态链接库 Httpodbc.dll,它是建
立在 ISAPI基础之上,通过开放数据库互连 ODBC接口访问各
种数据库。
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
4,ADC
同前几种方案中对数据库的操作都是在服务器端进行的不
同,先进数据库连接器 ( ADC,Advanced Database
Connector)提供的是一个处理数据库的 ActiveX控件,它的主
要特点是 在浏览器上实现数据库访问操作 。 ADC在客户端使用
支持 AcitveX的浏览器,可访问所有支持 ODBC的数据库。
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
5,ASP+ADO模式
ASP( Active Server Pages)是 IIS提供的一种动态网页技
术,它能够将 HTML文本、脚本命令及 ActiveX组件混合在一起
构成 ASP页,实现对 Web数据库的访问。当用户使用浏览器访
问 ASP网页时,Web服务器响应,调用 ASP引擎来执行 ASP文
件,并解释其中的脚本语言,通过 ODBC连接数据库,由数据
库访问组件 ADO( ActiveX Data Objects)完成数据库操作,最
后 ASP生成包含有数据库查询结果的 HTML页面并返回用户端。
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
ADO组件由七个对象和四个集合组成 。 其中, 最重要的是
Connection,Command和 Recordset三个对象 。 Connection对象用
于创建应用程序和数据库之间的连接, Command对象用于定义数
据库的操作, 而 Recordset对象则包含了从数据库中查询到的结果
集合 。
在 ASP中通过 ADO访问数据库, 一般要通过以下 四个步骤,
?创建一个到数据库的 Connection;
?查询一个数据集合, 即执行 SQL,产生一个 Recordset;
?对数据集合进行需要的操作;
?关闭 Connection。
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
6,JSP+JDBC模式
?J2EE
J2EE是由 SUN公司领导, 多家公司共同参与制定的一个企业应用程
序开发标准 。 近年来, Java技术已经发展成为适用于多个领域需求的
Java 2平台 。 目前, Java 2平台根据其应用领域的不同有三个版本 。
J2SE( Java 2 Platform Standard Edition) 适用于桌面系统 。
J2ME( Java 2 Platform Micro Edition) 适用于小型设备和智能
卡系统 。
J2EE( Java 2 Platform Enterprise Edition) 适用于建立服务器
应用程序和服务 。
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
J2EE的体系结构可以分为四层, 如下图 6.4所示 。
J2EE拥有 Java固有的跨平台特性, 它具有以下 优势,立足于
企业信息系统的基础之上开发新的系统, 可以充分利用用户原有
的投资;允许企业开发人员把一些通用, 烦琐的服务器端任务交
给中间件供应商完成, 把自己的精力集中在商业逻辑上, 可以大
大提高开发效率;支持异构环境, 用 J2EE开发的应用程序能非常
方便地部署在不同平台上, 具备良好的可扩展性 。
图 6.4 J2EE的体系结构
应用程序客户端 W eb 浏览器
J S P /S er v let
E n ter p r ise J av a B ea n
数据库、文件系统、企业已有系统等
E n ter p r ise J av a B ea n
企业信息系统层
EJB 层
W eb 组件层
客户端层
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
?JSP
JSP( Java Server Pages) 是由 Sun Microsystems公司倡
导, 许多公司参与一起建立的一种开放的, 可扩展的动态网页
技术标准, 目前有 1.0和 1.1两个版本 。 在 HTML网页文件中加入
Java程序片断 ( Scriptlet) 和 JSP标记 ( tag), 就构成了 JSP
网页 。 作为 Java平台的一部分, JSP拥有 Java编程语言, 一次
编写, 到处运行, 的特点 。 它还具有 Java技术的所有优点, 包
括, 健壮, 的存储管理和安全性 。
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
?JDBC
JDBC( Java Database Connectivity) 是 Java应用程序与
数据库的通用接口 ( Java API), 它规定了 Java如何与数据库
进行交互作用 。 JDBC由一组用 Java语言写的类和接口组成 。
JDBC与 Java结合, 使用户容易对数据库进行操作 。 用 Java和
JDBC编写的数据库应用软件具有与平台无关的特性, 可在各种
数据库系统上运行 。
JDBC访问数据库的过程 是:首先由用户的浏览器连接到
Web服务器上, 下载含有 Java小程序的 HTML页, Java小程序
在客户端运行并使用 JDBC接口, 直接与数据库服务器交互, 并
直接把查询结果的 HTML页返回给浏览器 。
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
?JSP应用模型
① 简单模型
在简单模型中, 浏览器直接调用 JSP页面, JSP页面自己生成被请
求的内容 。 JSP页面可以调用 JDBC等组件来生成结果, 创建 HTML,并
将结果发送回浏览器 。 图 6.5说明了这种简单的 JSP访问模型 。
图 6.5 简单的 JSP访问模型
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
② 使用 Servlet
基于 Web客户机直接对 Servlet提出请求, 由 Servlet生成动
态的内容, 再将结果捆绑到一个结果对象中 。 JSP页面从该对象
中访问动态内容, 并且将结果返回给浏览器 。 如图 6.6所示 。 采
用这种方式, 可以在应用程序之间创建共享的, 可重用的组件,
并且作为更大应用的一部分来实现 。
图 6.6 JSP和 Servlet结合使用
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
③ 采用 EJB技术的可扩展处理 。
Java Bean是一种可重用的 Java组件, 它可以被 Applet,
Servlet,JSP等 Java程序调用 。 JSP页面可以作为企业版的
Java Bean( EJB,Enterprise Java Bean) 体系结构中的一个
中间层次, 在这种情况下, JSP页面和后端数据源之间通过 EJB
组件进行交互 。 如图 6.7所示 。
图 6.7 采用 EJB技术的可扩展处理
浏览器 J S P 页面
H T M L / X M L R M I / I I O P
E J B
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
7,ASP.NET+ADO.NET模式
?.NET
Microsoft公司的,NET体系结构是 Windows分布式网络应用程序
体系结构的演进,Microsoft公司对,NET的描述是:,.NET是一个革
命性的新平台,它建立在开放的 Internet协议和标准之上,采用许多
新的工具和服务用于计算和通信。,简单地说,.NET是一个开发和
运行软件的新环境。
图 6.8为,NET的基本层次结构。,NET框架的基本模块包括以下
几个部分,Web服务( Web Services)、通用语言运行时环境
( common language runtime)、服务框架类库( class library)、
数据访问服务 ADO.NET、表单应用模板和 Web应用程序模板
ASP.NET。
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
C o m m o n L a n g u a g e R u n t i m e
C l a s s L i b r a r y
A D O, N E T ( D a t a & X M L )
A S P, N E T ( W e b F o r m s & W e b S e r v i c e s ) W i n d o w s F o r m s
C o m m o n L a n g u a g e S p e c i f i c a t i o n
V B, N E T C# C + + J S c r i p t ……
图 6.8,NET框架的基本层次结构
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
?ASP.NET
ASP.NET是一种建立在通用语言上的程序架构。 ASP.NET向
后兼容 ASP,运行在,NET平台上,以前的 ASP脚本几乎不经修改
就可在,NET平台上运行,从而保护了企业先前的相关投资。
?ADO.NET
ASP.NET中的 ADO.NET和 ASP中的 ADO相对应,它是 ADO的
改进版本。在 ASP.NET中通过 Managed Provider所提供的应用程
序编程接口( API),可以轻松地访问各种数据源的数据,包括
OLE DB所支持的数据库和 ODBC支持的数据库。
为了将数据访问和数据操纵分离,ADO.NET使用了两种组件:
DataSet对象和,NET Data Provider。
第 6章 Intranet与 Extranet
6.3.2 数据库与 Web的交互
DataSet对象是一个存在于内存中的数据库, 在 ADO.NET
中处于核心地位, 它提供了一种与数据库来源无关的数据表示
方式, 可以表示, 存储和管理来自远程或本地的数据库, XML
文件或数据流甚至应用程序的局部数据 。
由于有了 DataSet,所以 ADO.NET访问数据库 的 步骤 变为:
?创建一个数据库连接 ;
?请求一个记录集合;
?把记录集合暂存到 DataSet;
? 如果需要, 返回第二步, DataSet可以容纳多个数据集合;
?关闭数据库连接;
?在 DataSet上做所需要的操作 。