




已阅读5页,还剩93页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第11章Web数据库 11 1Web数据库概述11 2Web开发新技术11 3Web数据库访问技术11 4web数据管理 11 1Web数据库概述 11 1 1静态网页与动态网页11 1 2Web数据库应用的三层体系结构 11 1 1静态网页与动态网页 1 静态网页静态网页的 静态 指的是网页内容 固定不变 无论谁访问都显示相同的内容 缺乏交互性 缺乏人性化及个性化 当用户浏览器通过HTTP协议向Web服务器请求提供网页内容时 服务器仅仅是将原已设计好的HTML文档传送给用户浏览器 其页面的内容使用的仅仅是标准的HTML代码 不易维护是静态网页的致命弱点 若网站维护者要更新网页的内容 就必须手动更新其HTML文档 随着网站内容和信息量的日益增长 网站维护工作量大得出乎想象 在Internet应用初期 Web网页多为静态网页 随着Internet的逐步普及 出现了动态网页 11 1 1静态网页与动态网页 2 动态网页动态网页的 动态 指的是网页的内容不是固定不变的 而是在文件中加入了程序 使得同一页面对于不同的人或在不同的时间是变化的 动态网页具有如下特点 1 动态内容 DynamicContent 网页的内容 可 动态 地随时插入 修改 或删除网页的元件 譬如文字 标记等 2 动态排版样式 DynamicStylesSheets 通过W3C WorldWideWebConsortium 万维网联盟 的 CascadingStyleSheets 串联式排版样式 简称CSS1或CSS 提供了设定HTML标记的字体大小 字型 粗细 字型样式 行高度 文字颜色 加底线或加中间横线 与边缘距离 靠左右或置中 缩排 背景图片或颜色等排版功能 并且可以 动态 地随时地改变排版样式 11 1 1静态网页与动态网页 3 动态定位 DynamicPositioning 通过W3C的 WorkingDraftonPositioningHTMLwithCascadingStyleSheets 提供HTML元件在X Y Z轴的定位功能 让设计者可以放置影像 控件 文字等在网页上的任何位置上 而放置在不同的Z轴上 设计者就可以产生重叠的效果 4 内建资料处理 DataAwareness 无须复杂的程序 无须花费服务器太多资源 即可让网页设计者即时处理文档 5 内建多媒体支援 IE4 0结合CSS与内建的ActiveXControls 提供多媒体支持的功能 包括转换特效 滤镜特效 路径控制 顺序控制 动画 制图 播放声音和影像等多媒体功能 11 1 2Web数据库应用的三层体系结构 在动态网页的设计中 常用数据库向Web服务器提供数据 采用一种三层客户端 服务器的体系结构 即客户端浏览器 Web服务器 数据库服务器 Browser WebServer DatabaseServer 简称B W D 结构 它是一种随着Internet技术的兴起 由传统的二层Client Server 简称C S 结构变化或改进而来的三层Client Server结构在Web上应用的特例 11 1 2Web数据库应用的三层体系结构 B W D三层体系结构如图11 1所示 用户通过URL向Web服务器请求页面 Web服务器运行脚本程序并通过SQL查询调用数据库服务器中存储的数据 数据库服务器执行查询后将查询结果返回到Web服务器 脚本程序产生特定格式的HTML文件 客户端接收到HTML文件后由浏览器将结果显示出来 11 1 2Web数据库应用的三层体系结构 B W D三层体系结构与C S体系结构相比具有以下优势 开放的标准 C S所采用的标准只要在内部统一就可 它的应用往往是专用的 B W D所采用的标准都是开放的 非专用的 是经过标准化组织所确定的而非单一厂商所制定 保证了其应用的通用性和跨平台性 1 较低的开发和维护成本 C S的应用必须开发出专用的客户端软件 无论是安装 配置还是升级都需要在所有的客户机上实施 极大地浪费了人力和物力 B W D的应用只需在客户端装有通用的浏览器即可 维护和升级工作都在服务器端进行 不需对客户端进行任何改变 故而大大降低了开发和维护的成本 2 使用简单 界面友好 C S用户的界面是由客户端软件所决定的 其使用的方法和界面各不相同 B W D用户的界面都统一在浏览器上 浏览器易于使用 界面友好 不须再学习使用其他的软件 一劳永逸的解决了用户的使用问题 11 1 2Web数据库应用的三层体系结构 3 客户端消肿 C S的客户端具有显示与处理数据的功能 对客户端的要求很高 是一个 胖 客户机 B W D的客户端不再负责数据库的存取和复杂数据计算等任务 这样大大的降低了对客户端的要求 客户端变得非常 瘦 4 系统灵活 C S系统的模块中有一部分需改变就要关联到其他模块的变动 使系统极难升级 B W D系统的三部分模块各自相对独立 其中一部分模块改变时其他模块不受影响 系统改进变得非常容易 且可以用不同厂家的产品来组成性能更佳的系统 5 保障系统的安全性 在C S系统中由于客户机直接与数据库服务器进行连接 用户可以改变服务器上的数据 无法保证系统的安全性 B W D系统在客户机与数据库服务器之间增加了一层Web服务器 使两者不再直接相连 客户机无法直接操纵数据库 可以有效地防止非法入侵 11 2Web开发新技术 11 2 1PHP11 2 2ASP11 2 3 NET11 2 4JSP 11 2 1PHP PHP是一种易于学习和使用的服务器端脚本语言 只需要很少的编程知识就能使用PHP来建立一个真正交互的WEB站点 PHP是一种动态网页的开发工具 PHP网页文件被当作一般HTML网页文件来处理 并且可以用编辑HTML的常规方法编写PHP PHP代表超文本预处理器 PHP HypertextPreprocessor PHP完全免费 可以从PHP官方站点 自由下载 PHP遵守GNU公共许可 GPL 在这一许可下诞生了许多流行的软件 如Linux Emacs等 可以不受限制的获得源码 甚至可以从中加进自己需要的特色 PHP在大多数Unix平台 GUN Linux和微软Windows平台上均可运行 在Windows环境下的PC机器或Unix机器上安装PHP 过程简单 11 2 1PHP 1 PHP工作环境PHP的核心用途是网站的建设与开发 熟悉PHP开发环境是初学者学习PHP所必须了解 1 操作系统 MicrosoftWindows系列 Windows98 WindowsNT4 0 Windows2000 Linux FreeBSD或Solaris 2 Web服务器 IIS PWS 3 数据库 Oracle dBase Informix SQLServer Sysbase和MySQL等 最常用的数据库为MySQL 11 2 1PHP 2 PHP工作原理PHP的所有应用程序都是通过WEB服务器 如IIS或Apache 和PHP引擎程序解释执行完成的 工作过程 1 当用户在浏览器地址中输入要访问的PHP页面文件名 然后回车就会触发这个PHP请求 并将请求传送给支持PHP的WEB服务器 2 WEB服务器接受这个请求 并根据其后缀进行判断 如果是一个PHP请求 WEB服务器从硬盘或内存中取出用户要访问的PHP应用程序 并将其发送给PHP引擎程序 3 PHP引擎程序将会对WEB服务器传送过来的文件从头到尾进行扫描 并根据命令从后台读取 处理数据 并动态地生成相应的HTML页面 4 PHP引擎将生成HTML页面返回给WEB服务器 WEB服务器再将HTML页面返回给客户端浏览器 11 2 1PHP 3 PHP的优点 1 数据库连接方便 PHP可以编译成具有与许多数据库连接的函数 PHP与MySQL是目前最佳组合 用户还可以编写外围的函数去间接存取数据库 通过这样的途径 当用户更换使用数据库时 可以轻松地修改编码以适用这样的变化 PHPLIB提供一系列基库 2 可伸缩性 传统上网页的交互作用是通过CGI来实现的 CGI程序的伸缩性不很理想 因为它为每一个正在运行的CGI程序开一个独立进程 而内嵌的PHP可以具有更高的可伸缩性 3 支持面向对象编程 PHP提供了类和对象 基于Web的编程工作非常需要面向对象编程能力 PHP支持构造器 提取类等 11 2 2ASP ASP ActiveServerPages 是由Microsoft推出的动态Web设计技术 是一个基于Web服务器端的开发和脚本运行环境 利用它可以产生和运行动态的 交互的 高性能的Web服务应用程序 与常见的在客户端实现动态主页的技术如Javaapplet ActiveXControl VBScript JavaScript等不同 ASP中的脚本程序是由服务器来解释执行的 执行结果以HTML主页形式返回浏览器 而客户端技术的脚本程序则是由浏览器来解释执行的 利用ASP 可以把HTML文本 脚本命令及ActiveX组件混合在一起构成ASP页 实现对Web数据库的访问 当用户使用浏览器访问ASP网页时 Web服务器响应 调用ASP引擎来执行ASP文件 并解释其中的脚本语言 通过ODBC连接数据库 由数据库访问组件ADO ActiveXDataObjects 完成数据库操作 最后ASP生成包含有数据查询结果的HTML主页并返回用户端 11 2 2ASP ASP的程序代码简单 通用 文件名由 asp结尾 ASP文件通常由四部分构成 1 标准的HTML标记 所有的HTML标记均可使用 2 ASP语法命令 位于标签内的ASP代码 3 服务器端的include语句 可用 include语句调入其他ASP代码 增强了编程的灵活性 4 脚本语言 脚本语言 scriptinglanguage 是介于HTML和Java C 以及VisualBasic等编程语言之间的一种语言 它与编程语言之间最大的区别是后者的语法和规则更为严格和复杂一些 ASP自带VBScript Jscript和JavaSript等脚本语言 用户也可安装其他脚本语言 如Perl Rexx等 11 2 2ASP 1 ASP的运行环境ASP是服务器端的应用程序 目前 Microsoft公司推出支持ASP的服务器有 1 MicrosoftInternetInformationServer3 0 4 0 IIS3 0 4 0 onWindowsNTserver4 0 2 MicrosoftInternetInformationServer5 0 IIS5 0 onWindows2000server 3 MicrosoftPersonalWebServer4 0 PWS4 0 onWindows95 98 4 MicrosoftPeerServer3 0onWindowsNTWorkstation 11 2 2ASP 要运行一个ASP程序 必须先安装Web服务器 设置好虚拟目录 在浏览器的地址栏中使用虚拟目录 否则ASP程序就不能正常运行 一个ASP文件相当于一个可执行文件 因此必须放在Web服务器上有执行权限的目录下 当浏览器向WebServer请求调用ASP文件时 就启动了ASP Web服务器开始调用ASP 按顺序读取被请求的 asp文件内容 执行每一个命令 然后动态生成一个HTML页面并送到浏览器 通过ASP内置的对象 服务器组件可以完成非常复杂的任务 而且用户还可以开发或利用其它服务器组件完成专门的任务 11 2 2ASP 2 ASP的工作模式ASP的工作模式如下 1 用户将一个ASP文件的URL输入到浏览器的地址栏 2 浏览器向Web服务器发送ASP请求 3 服务器根据扩展名 asp识别请求并读取相应的ASP文件 4 服务器向特定的名为ASP dll的程序发送文件 5 执行所有的服务器端脚本 并将执行结果与HTML代码进行合并 6 HTML文件返回到浏览器 7 浏览器将结果展示给用户 11 2 2ASP 3 ASP的优点 1 使用VBScript Javascript等简单易懂的脚本语言 结合HTML代码 可快速地完成网站的应用程序 2 除了Frontpage VisualInterdev等开发环境外 使用普通的文本编辑器即可进行编辑设计 3 无需编译 在服务器端直接执行 4 运行结果与浏览器无关 ASP使用的脚本语言在Web服务器端执行后 输出HTML代码 客户端的浏览器只需能识别HTML代码即可 5 支持广泛 ASP除支持VBScript JavaScript外 还能以插件形式支持第三方语言 如Perl Rexx Tcl等 11 2 2ASP 6 安全性好 ASP的源程序不会被传送到客户端 因而可避免源程序被他人截获 提高了程序的安全性 7 可使用服务器端的脚本来产生客户端脚本 快速灵活地在客户端完成交互 8 ActiveX服务器组件具有很好的扩充性 除了ASP自带的组件外 还可以使用支持组件对象模型 COM 的语言如C C Java VisualBasic等编写组件或从第三方开发者处获得满足自己需要的组件 以提高系统的扩充能力 11 2 3 NET Microsoft公司的 NET体系结构是Windows分布式网络应用程序体系结构的演进 Microsoft公司对 NET的描述是 NET是一个革命性的新平台 它建立在开放的Internet协议和标准之上 采用许多新的工具和服务用于计算和通信 简单地说 NET是一个开发和运行软件的新环境 Net环境中的突破性改进在于 使用统一的Internet标准 如XML 将不同的系统对接 是Internet上首个大规模的高度分布式应用服务架构 使用了一个名为 联盟 的管理程序 这个程序能全面管理平台中运行的服务程序 并且为它们提供强大的安全保护后台 11 2 3 NET NET框架 Framework 是 NET平台最重要的部分 亦即以前所谓的NGWS NextGenerationWindowsServices 它的目标是成为新一代基于Internet的分布式应用开发平台 其基本模块包括以下几个部分 Web服务 WebServices 通用语言运行时环境 CommonLanguageRuntime 服务框架类库 ClassLibrary 数据访问服务ADO NET 表单应用模板和Web应用程序模板ASP NET 其基本层次结构如图11 2 11 2 3 NET 1 ASP NET概述ASP NET并不是ASP的升级版本 而是MicroSoft推出的用于Web开发的全新框架 是 NET框架的重要组成部分 ASP NET是一种建立在通用语言上的程序架构 包含了许多新的特性 ASP NET整合了许多语言的开发环境 如C C VB NET 让程序员可以选择熟悉的开发环境进行组件和应用程序的开发 提供了更易于编写 结构更清晰的代码 这些代码很容易进行再利用和共享 ASP NET使用编译后的语言 从而提升性能和伸缩性 ASP NET使用Web表单使开发更直观 完全支持面向对象技术 有利于组件的重复利用 ASP NET改进了配置 伸缩性 安全性和可靠性 ASP NET对各种不同的浏览器提供了更好的支持 另外 ASP NET中还包括有页面事件 Web控件 缓冲技术以及服务器控件和对数据捆绑的改进 ASP NET向后兼容ASP 运行在 NET平台上 以前的ASP脚本几乎不经修改就可在 NET平台上运行 从而保护了企业先前的相关投资 11 2 3 NET ASP的文件类型只有一种 其扩展名是 asp文件 ASP NET的文件类型则有多种 如表11 1 11 2 3 NET 2 ASP NET的运行环境如果只运行ASP NET的应用程序 可以安装 NETFrameworkRedist软件包 如果要开发 部署和运行ASP NET应用程序 则需要安装ASP NETPremiumEdition NETFrameworkSDK SoftwareDevelopmentKit 或者VisualStudio NET中的任何一个 其中VisualStudio NET是开发 NET应用程序的推荐平台 能为开发ASP NET应用程序带来很多方便 但体积较大 对性能要求较高 1 以 NETFrameworkSDK为例 运行ASP NET应用程序的环境要求如下 2 WindowsXP Windows2000或WindowsNT4 带NT4ServicePack6a 3 IIS5 0或IIS4 0 带NT4ServicePack6a 4 IE5 5以上版本 5 MDAC MicrosoftDataAccessComponent 2 6以上版本 6 NetFrameworkSDK 11 2 3 NET 3 ASP NET的工作模式ASP与ASP NET的运行引擎其实不过是两个DLL文件 分别为asp dll和xspisapi dll 当客户端传送一个要求到服务器时 由所要求的网页的扩展名来判断需要交给哪个运行引擎处理 尽管ASP和ASP NET都是用来开发Web应用程序 但其工作模式差别很大 当用户发出一个ASPX网页的请求后 ASP NET引擎xspisapi dll会先将ASPX的网页转换成源程序代码 然后编译成一个DLL文件 接着将此网页当成一个类 在内存中建立此对象的实体 并进行初始化操作 最后才将执行结果返回到客户端 如果每一个ASPX网页每次执行都必须经过上述转换 编译过程 则效率低下 为此 ASP NET提供了一些特殊的机制来改进网页的执行效率 11 2 3 NET 1 首次存取客户端从浏览器发出一个ASPX网页的请求到ASP NET服务器 Web服务器会交由xspisapi dll处理 服务器先检查输出缓存 OutputCache 中是否有此网页 或者此网页是否已被编译成DLL 如果找不到此网页的输出缓存或编译过的DLL 此时便启动解释器 Parser 将网页转换成源程序代码 然后有编译器 Compiler 将其编译成DLL 编译器载入解释过的网页后 将源程序代码编译成中间语言 IntermediateLanguage IL xspisapi dll从编译过的程序代码产生对象 并适时地回存网页与控制项的状态信息 处理事件 然后将执行的结果返回到客户端 11 2 3 NET 2 第二次存取当客户端再次发出请求执行同一个网页时 服务器再次从输出缓存中查找此网页 或查找编译过的DLL 若找到了编译过的DLL 便省略掉编译的步骤 直接从编译过的DLL建立对象 接着保存网页与控制项的状态信息 处理事件 将执行的结果返回到客户端 3 输出缓存当用户在第二次以后存取网页 发现输出缓存中已有此网页时 便省略掉上述所有步骤 直接将输出缓存中的内容返回到客户端 11 2 3 NET 4 ASP NET的优势 1 简化开发操作 ASP虽然容易使用 但在网页程序过多时会显得相当复杂 HTML标注和程序代码混杂 以致会有杂乱无章的感觉 ASP NET使用事件驱动与数据绑定的开发方式 允许分离程序代码和显示内容 让网页代码更容易撰写 程序代码看起来更简单 2 新的数据存取方式 相对于ASP的数据存取方式ADO ASP NET使用ADO NET 由此带来了更快速的数据库连接能力 3 新的语言特性 ASP网页中撰写程序代码只限于Script语言 ASP NET则允许使用面向对象的VB NET C C Jscript等语言 能提供更好的执行效率与跨语言兼容性 4 更高的执行效率 ASP NET的程序代码不再是解释型代码 可以经由JIT编译器编译后运行 并且引入了页面缓冲机制 有效地缩短了服务器的应答时间 11 2 3 NET 5 简化部署与配置的操作 若在ASP网页中调用到组件 则部署组件是需要复杂的注册操作 同时此组件在使用中经常会被锁定而无法更新版本 在ASP NET中不需要考虑到组件注册的问题 只要以XCOPY的方式将相关文件复制到目的机器就可以 简化了部署操作 在配置方面 ASP使用IIS的嵌入式管理单元 而ASP NET采用容易阅读的XML配置文件config web 只要将此文件放在Web应用程序的相关目录中就可以完成配置的操作 6 更好的可用性 ASP NET解决应用程序故障 内存漏失的情况 能自动重新启动进程 从来不死机 7 更好的伸缩性 ASP的Session状态信息只限于单机上使用 当用户数逐渐增加时 单凭一台服务器不能服务所有的用户 ServerFarm便应运而生 ServerFarm是将许多主机组织在一起 提供一个一致的影像给用户 ASP NET的Session状态信息可以在不同机器的不同进程上维护 解决了ServerFarm的Session维护问题 8 更先进的安全性能 在ASP中 唯一能使用的是Windows登录验证方式 而ASP NET则可使用Windows Passport和Cookie等多种验证方式 能提供更好的安全性能 更多的支持工具 ASP NET提供丰富的 以组件为基础的程序化模型 使开发Web应用程序的操作就像是开发传统应用程序一样 11 2 4JSP JSP JavaServerPages 是由SunMicrosystems公司倡导 许多公司参与一起建立的一种开放的 可扩展的动态网页技术标准 目前有1 0和1 1两个版本 在HTML网页文件中加入Java程序片段 Scriptlet 和JSP标记 tag 就构成了JSP网页 作为Java平台的一部分 JSP拥有Java编程语言 一次编写 到处运行 的特点 具有Java技术的所有优点 包括健壮的存储管理和安全性 Java中连接数据库的技术是JDBC JavaDatabaseConnectivity 很多数据库系统均带有JDBC驱动程序 Java程序就通过JDBC驱动程序与数据库相连 执行查询 提取数据等操作 Sun公司还开发了JDBC ODBCbridge 用此技术Java程序可以访问带有ODBC驱动程序的数据库 目前大多数数据库系统都带有ODBC驱动程序 所以Java程序能访问诸如Oracle Sybase MSSQLServer和MSAccess等数据库 11 2 4JSP JSP文件名由 jsp结尾 一般由三部分组成 1 静态的HTML或XML的组件 2 特殊的JSP标签 包括指令 directive 标签和动作 action 标签 3 脚本元素 scriptingelement 即一些直接嵌入的Java程序 此项是可选的 JSP和ASP从形式上非常相似 但它们之间还存在以下区别 ASP的编程语言是VBScript之类的脚本语言 JSP使用的是Java JSP的效率和安全性更高 JSP的组件方式更方便 JSP的适应平台更广 11 2 4JSP 1 JSP的运行环境JSP的运行环境包括两个部分 1 Java运行环境 Java2SDK Java2SoftwareDevelopmentKit 或简称JDK JavaDevelopmentKit 是Java2平台上进行应用开发所需的开发环境 Java2SDK中包括JavaAPI JavaCompiler JavaDebugger JavaPlug in JVM JavaVirtualMachine Java虚拟机 Java2RE Java2RuntimeEnvironment 等 其中Java2RE是一个标准Java应用程序的执行环境 2 支持JSP引擎的Web服务器或JSP引擎 JSP引擎是安装在Web服务器或Web应用服务器上的 现在许多服务器都提供对JSP的支持 较为常用的是Tomcat服务器与Resin服务器 其中 Tomcat必须配合其他的Web服务器才能运作 Resin除了可以与各种常见的Web服务器配合执行外 还可以单独执行 11 2 4JSP 2 JSP的实现方式在JSP的实现方式中 从一段纯文本代码到一个动态的Web页面的过程 取决于所使用的JSP运行系统 也就是JSP引擎的工作方式 各种不同的引擎中共同的一步就是把JSP代码翻译为以 java结尾的Servlet代码 然后再调用Java编译器 把它编译成可执行的Java代码 class文件 JSP引擎安装在Web服务器或使用JSP的应用服务器上 它可以接收客户端对JSP页面的请求 并且生成JSP页面响应客户端请求 一般来讲 JSP引擎都构建于Servlet引擎之上 以Servlet的形式存在 当JSP页面第一次被调用时 JSP引擎首先把源代码编译成一个JavaServlet类存储在服务器的内存中 因而第一次执行JSP页面比较费时 但这样避免了cgi bin为每一个HTTP请求生成一个新进程的问题 也避免了服务器端引用所引起的运行时语法分析 以后再执行此JSP页面时 JSP引擎会先检查它是否比已编译好的JSP 这实际上已经是Servlet 如果是的话才需要重新执行翻译和编译的过程 否则 其执行速度与执行Servlet相同 11 2 4JSP 3 JSP的应用模型 1 简单模型 在简单模型中 浏览器直接调用JSP页面 JSP页面自己生成被请求的内容 JSP页面可以调用JDBC等组件来生成结果 创建标准的HTML 并将结果发送回浏览器 图11 3说明了这种简单的JSP访问模型 11 2 4JSP 2 使用Servlet基于Web的客户机直接对Servlet提出请求 由Servlet生成动态的内容 再将结果捆绑到一个结果对象中 JSP页面从该对象中访问动态内容 并且将结果返回给浏览器 如图11 4所示 11 2 4JSP 3 采用EJB技术的可扩展处理 JavaBean是一种可重用的Java组件 它可以被Applet Servlet JSP等Java应用程序调用 JSP页面可以作为企业版的JavaBean EnterpriseJavaBean EJB 体系结构中的一个中间层次 在这种情况下 JSP页面和后端数据资源之间通过EJB组件进行交互 如图11 5所示 11 2 4JSP 4 JSP的优点JSP具有以下优点 1 将内容生成和显示分离 使用JSP技术 Web页面开发人员可以使用HTML或者XML标记来设计和格式化最终页面 同时使用JSP标记或者脚本来生成页面上的动态内容 生成内容的逻辑被封装在标记和JavaBean组件中 并且捆绑在脚本中 所有的脚本在服务器端运行 由于生成内容的核心逻辑被封装在JavaBean组件中 这样Web管理人员和页面设计者 能够编辑和使用JSP页面 而不会影响到内容的生成 同时 这也有利于进行分工 Web页面人员编写HTML Servlet程序员在预留的地方插入动态部分即可 在服务器端 JSP引擎解释JSP标记和脚本 生成所请求的内容 并且将结果以HTML或者XML页面的形式传送给浏览器 这有助于保护代码 又可保证基于HTML的Web浏览器的完全可用性 11 2 4JSP 2 生成可重用的组件 绝大多数JSP页面依赖于可重用的 跨平台的组件 JavaBean或者EnterpriseJavaBean组件 来执行应用程序所要求的更为复杂的处理 开发人员能够共享和交换执行普通操作的组件 使得这些组件为更多的使用者或者客户团体所使用 这些组件有助于将网页和程序相互分离 节约了开发时间 同时充分发挥了Java和其他脚本语言的跨平台的能力和灵活性 3 采用标记简化页面的开发 Web页面开发人员不会都是熟悉脚本语言的编程人员 JSP技术封装了许多功能 提供了一系列的JSP标记 使用他们 能够完成访问JavaBean组件 设置或查询组件的属性以及下载Applet等功能 并且可以通过开发定制化标记库扩展JSP的功能 4 一次编写 到处运行 由于JSP页面的内置脚本语言是基于Java编程语言的 而且所有的JSP页面都被编译成为JavaServlet JSP页面具有Java技术的所有优点 包括健壮的存储管理和安全性及跨平台性 11 3Web数据库访问技术 11 3 1ASP ADO模式11 3 2ASP NET ADO NET模式11 3 3JSP JDBC模式 11 3 1ASP ADO模式 1 ADO数据操作对象ADO ActiveXDataObject 是ASP内置的数据库访问组件 是Microsoft在OLEDBAPI之上提供的一种面向对象的 与语言无关的应用程序编程接口 它是针对Microsoft软件所支持的数据进行操作的有效 简单 功能强大的方法 OLEDB ObjectLinkingandEmbeddingDatabase 是Microsoft不同数据源的系统级编程接口 它提供存储各种信息的开放标准 规定了一套简化了的各种数据库管理系统的服务接口 11 3 1ASP ADO模式 ADO封装了OLEDB中最常用的一些特性 使用ADO 可以编写紧凑简明的脚本连接到与OLEDB兼容的数据源或访问与ODBC兼容的数据库 ASP应用程序 ADO和底层数据库之间的关系如图11 6所示 11 3 1ASP ADO模式 ADO对象是一个集合 在其中包含了Connection对象 Recordset对象和Command对象 还有Errors Properties Fields Parameters四个集合 这四个集合中分别包含Error Property Field Parameter四种对象 在ASP中通过ADO访问数据库 一般要通过以下四个步骤 1 创建一个到数据库的Connection 2 查询一个数据集合 即执行SQL 产生一个Recordset 3 对数据集合进行需要的操作 4 关闭Connection 11 3 1ASP ADO模式 2 ASP数据库连接实例 连接SQLSERVER2000数据库ASP与服务器的数据库连接有两种方法 一种为通过ODBC建立连接 另一种通过OLEDB建立连接 该实例采用后者建立连接 建立记录集对象setrs server createobject adodb recordset rs openSQL语句 conn 3 2 11 3 1ASP ADO模式 连接ORACAL数据库setadocon Server Createobject adodb connection StrDSN Provider OraOLEDB Oracle Password 密码 UserID 用户ID DataSource 服务器名称 service name ip 建立和数据库master的连接setConn Server CreateObject ADODB Connection setRs Server CreateObject ADODB RecordSet 11 3 2ASP NET ADO NET模式 1 ADO NETASP NET中的ADO NET和ASP中的ADO相对应 它是ADO的改进版本 在ADO NET中如图11 7所示 通过ManagedProvider所提供的应用程序编程接口 API 可以轻松地访问各种数据源的数据 包括OLEDB所支持的和ODBC支持的数据库 11 3 2ASP NET ADO NET模式 1 ADO NET的对象体系ADO NET中的许多对象都是从ADO技术中进化而来的 例如Connection和Command等 也有许多对象是全新的 例如DataReader DataSet DataView DataAdapter等 为了将数据访问和数据操纵分离 ADO NET使用了两种组件 DataSet对象和 NETDataProvider DataSet对象DataSet对象是一个存在于内存中的数据库 在ADO NET中处于核心地位 它提供了一种与数据来源无关的数据表示方式 可以表示 存储和管理来自远程或本地的数据库 XML文件或数据流甚至应用程序的局部数据 一个DataSet对象包含了一个DataTable的集合属性 用来放置一个或多个DataTable对象 DataTable对象对应于关系数据库中的表或视图 用来容纳以行列形式组织起来的数据和主键 约束 关系等信息 11 3 2ASP NET ADO NET模式 NETDataProvider NETDataProvider是ADO NET的另一个核心元素 它包含了Connection Command DataReader DataAdapter对象 NET程序员使用这些元素来实现对实际数据的操纵 Connection对象用来实现和数据源的连接 是数据访问者和数据源之间的对话通道 Command对象包含提交给实际数据库的信息 例如一个查询并返回数据的命令 一个修改数据的命令 一个调用数据库存储过程的命令及其参数等 DataReader对象提供一个简单方法 允许程序在数据记录间进行只读的 单向的数据访问 虽然功能不如DataSet强大 但性能更高 在某些场合下往往更能符合应用程序的需要 DataAdapter对象充当DataSet对象和数据源之间的桥梁 它使用Command对象 在Connection对象的辅助下访问数据源 将Command对象的执行结果传递给DataSet对象 并将DataSet对象中的数据改动回馈给数据源 11 3 2ASP NET ADO NET模式 对于任何形式的数据源 都可以使用 NETDataProvider 从而允许 NET应用程序使用这些数据源 NET框架自带两个DataProvider SQLServer NETDataProvider和OLDDB NETDataProvider 相应地 上面提到的Connection Command DataReader DataAdapter对象都有SQL和OLEDB两个派生类版本 11 3 2ASP NET ADO NET模式 2 ManagedProviderADO的数据存取采用了两层的基于连接的编程模型 随着多层应用需求不断增加 于是需要一个无连接的模型 而ADO NET的ManagedProvider即为一个多层结构的无连接的编程模型 ManagedProvider提供了DataSet和数据源之间的联系 包含了存取数据源的一系列接口 它主要包括 连接对象Connection 命令对象Command 参数对象Parameter提供了数据源和DataSet之间的接口 DataSetCommand接口定义了数据列和表映射 并最终取回一个DataSet 数据流提供了高性能的 前向的数据存取机制 通过IdataReader 可以高效地访问数据流 更底层的对象允许连接到数据库 然后执行数据库系统一级的特定命令 11 3 2ASP NET ADO NET模式 3 ADO NET访问数据库的步骤由于有了DataSet 所以ADO NET访问数据库的步骤变为 创建一个数据库连接 请求一个记录集合 把记录集合暂存到DataSet 如果需要 返回第2步 DataSet可以容纳多个数据集合 关闭数据库连接 在DataSet上做所需要的操作 11 3 2ASP NET ADO NET模式 2 ASP NET数据库连接实例 1 连接SQLSERVER2000数据库SqlDataSource控件用于Web页面上的绑定控件与数据库之间的连接 SqlDataSource控件代表一个通过ADO NET连接到SQL数据库提供者的数据源控件 就像其他的数据源控件一样 SqlDataSource控件可以被绑定到任何支持DataSourceID属性的数据绑定控件上 下面的DataSource1 aspx页使用ASP NET2 0数据绑定来访问SQLServerPubs数据库的一部分 asp SqlDataSourceID netconnectsqlserver RunAt server 连接字符串ConnectionString erver localhost database test 11 3 2ASP NET ADO NET模式 IntegratedSecurity SSPI 将被执行的SQL语句SelectCommand SQL语句 该实例连接本地服务器上的test数据库 SqlDataSource控件定义了数据源以及对它执行的查询 并且DataGrid的DataSourceID属性指向SqlDataSource 当加载该页时 SqlDataSource控件就会执行查询 并将结果提供给DataGrid 11 3 2ASP NET ADO NET模式 2 连接ORACAL数据库Oracle可以理解SQL语言 因此可以采用SqlDataSource控件的连接 在默认情况下 该控件的提供程序是MicrosoftSQLServer 所以需要ASP NET2 0来重写默认程序提供值 虽然可以使用通用的OLEDB提供程序 但是使用本地Oracle提供程序更有效 下面给出一个典型的通用Oracle连接 asp SqlDataSourceID netconnectoracle RunAt server ProviderName System Data OracleClient 连接字符串ConnectionString DataSource MyOracle 11 3 2ASP NET ADO NET模式 UserID 用户ID Password 密码 IntegratedSecurity SSPI 将被执行的SQL语句SelectCommand SQL语句 在数据源控件中 设置ProviderName为System Data OracleClient 在连接字符串中 使用DataSource Oracle8i IntegratedSecurity SSPI 无需指定本地提供程序 因为Oracle提供程序已经是本地的 11 3 3JSP JDBC模式 1 JDBCJDBC与ODBC类似 也是一种特殊的API 是Java应用程序与数据库的通用接口 JavaAPI 它规定了Java如何与数据库进行交互作用 JDBC由一组用Java语言写的类和接口组成 JDBC与Java结合 使用户容易对数据库进行操作 用Java和JDBC编写的数据库应用软件具有与平台无关的特性 可在各种数据库系统上运行 JDBC访问数据库的过程是 首先用户的浏览器连接到Web服务器上 下载含有Java小程序的HTML页 Java小程序在客户端运行 使用JDBC接口 直接与数据库服务器交互 并直接把查询结果的HTML页返回给浏览器 与ODBC一样 JDBC提供给程序员的编程接口由两部分组成 即面向应用的编程接口JDBCAPI和供底层开发的驱动程序接口JDBCDriverAPI JDBCAPI是为应用程序员提供的 是一系列抽象的接口 它使得应用程序员能够进行数据库连接 执行SQL查询 并且得到返回结果 而JDBCDriverAPI则是为数据库厂商提供的编程接口 11 3 3JSP JDBC模式 2 JSP数据库连接实例 1 连接SQLSERVER2000数据库首先去微软的官方网站下载驱动程序 MicrosoftSQLserver2000forJDBC压缩包 然后把其中的mssqlserver jar文件解压到Tomcat服务器文件下的webapps ROOT WEB INF classes文件夹下 然后再编写连接数据库的程序 Class forName com microsoft jdbc sqlserver SQLServerDriver newInstance Stringurl jdbc microsoft sqlserver localhost 1433 DataBase 数据库名称 11 3 3JSP JDBC模式 Stm close con close 获得连接Connectioncon DriverManager getConnection url 用户名称 密码 Statementstm con createStatement 执行SQL语句 获得结果集ResultSetrs stm executeQuery SQL语句 rs close 11 3 3JSP JDBC模式 2 连接ORACAL数据库 Class forName oracle jdbc driver OracleDriver newInstance Stringurl jdbc oracle thin localhost 1521 数据库的SID Stringuser 用户名称 Stringpassword 密码 Connectionconn DriverManager getConnection url user password 获得连接 11 3 3JSP JDBC模式 Statementstmt conn createStatement ResultSet TYPE SCROLL SENSITIVE ResultSet CONCUR UPDATABLE Stringsql SQL语句 ResultSetrs stmt executeQuery sql 执行sql 获得结果集 rs close stmt close conn close 11 4web数据管理 11 4 1XML11 4 2Web数据存储11 4 3Web数据查询11 4 4Web信息集成11 4 5WebServices 11 4 1XML 可扩展标记语言 XML ExtensibleMarkupLanguage 是标准通用标记语言 SGML StandardGeneralizedMarkupLanguage 的子集 也是一种元语言 XML包含一组基本规则 利用这种规则可以创建针对特定应用领域的标记语言 11 4 1XML 1 XML的组成XML技术主要包括三大模块结构组件 文档类型定义 DTD DocumentTypeDefinition 或XML模式 XMLSchema 可扩展样式语言 XSL ExtensibleStylesheetLanguage 及可扩展链接语言 XLL ExtensibleLinkLanguage 同时 还存在一些与XML有关的重要技术规范 像文档对象模型 DOM DocumentObjectModel 和XML简单应用程序接口 SAX SimpleAPIforXML 等 其中 DTD和Schema用于规定XML文件的逻辑结构 定义XML文件中的元素 元素属性及其之间的关系 可帮助XML的分析程序校验XML文件标记的合法性 XSL是用于表达XML文档式样的语言 为客户端的Web浏览器改变显示格式 提供了XML文档显示和打印输出时的格式化排版功能 XLL进一步扩展文档之间的超媒体链接及链接附加处理功能 将目前的简单链接扩展为双向 多重链接 11 4 1XML 1 文档类型定义规范的XML文档都必须有良好的格式 但其数据结构可以被规定 也可以不被规定 如果被规定 那么该文档是有效的 否则是无效的 DTD是一种用来定义有效文件结构的语言 它作为基本XML文件的语法 是XML语言的一部分 DTD可以定义元素的嵌套规则以及数据的基本类型 DTD一般包括标记声明或参数实体引用 有时还包括外部实体的ID 标记声明可以是元素类型声明 属性表声明 实体声明或符号声明 11 4 1XML 元素类型声明元素是XM
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保险入职考试试题及答案
- 低压实操电工考试试题及答案
- 旅游英语考试试题及答案
- 电动汽车的国际市场竞争力分析试题及答案
- 项目管理流程分析试题及答案
- 企业如何借助科技创新实现医疗服务升级
- 企业如何构建有效的医疗信息管理系统
- 通信电路复试题型及答案
- 越南语语音试题及答案
- 青藏地区测试题及答案
- 2025年护士执业资格考试题库基础护理学专项:新生儿护理操作要点试题
- 2025届高三语文4月名校联考作文汇编(审题+立意+范文)
- GB/T 5453-2025纺织品织物透气性的测定
- 国企人事专员笔试试题及答案
- 2025年甘肃兰州建设投资(控股)集团有限公司招聘笔试参考题库附带答案详解
- IIT临床研究培训
- 污水处理厂设备运行的管理及维护措施
- 1-江苏省冶金等工贸企业安全生产标准化运行质量审计评分表-
- 弘扬航天精神拥抱星辰大海!课件高一上学期载人航天主题班会
- 《excel数据分析》课件
- DB1310-T 223-2020 小麦节水绿色丰产栽培技术规程
评论
0/150
提交评论