《Web數(shù)據(jù)庫技術(shù)》PPT課件.ppt
《《Web數(shù)據(jù)庫技術(shù)》PPT課件.ppt》由會員分享,可在線閱讀,更多相關(guān)《《Web數(shù)據(jù)庫技術(shù)》PPT課件.ppt(107頁珍藏版)》請在裝配圖網(wǎng)上搜索。
第8章Web數(shù)據(jù)庫技術(shù) 數(shù)據(jù)庫原理及應用 本章引入 在Internet的熱潮席卷之下 原本在單機或局域網(wǎng)中使用的數(shù)據(jù)庫逐步移植至Internet中 Web技術(shù)與數(shù)據(jù)庫管理系統(tǒng) DBMS 相互融合成為必然趨勢 數(shù)據(jù)庫廠家和Web公司紛紛推出各自的產(chǎn)品和中間件支持Web技術(shù)和DBMS的融合 將兩者取長補短 發(fā)揮各自的優(yōu)勢 使用戶可以在Web瀏覽器上方便地檢索數(shù)據(jù)庫的內(nèi)容 Web數(shù)據(jù)庫得以迅猛發(fā)展起來 本章教學內(nèi)容 8 1Web數(shù)據(jù)庫的產(chǎn)生與發(fā)展 第8章Web數(shù)據(jù)庫技術(shù) 教學內(nèi)容 一 萬維網(wǎng)WWW 萬維網(wǎng)WWW WorldWideWeb 簡稱為Web 是歐洲粒子物理實驗室的TimBerners Lee于1989年3月提出的 1 什么是萬維網(wǎng)WWW 萬維網(wǎng)WWW并非某種特殊的計算機網(wǎng)絡 而是一個大規(guī)模的 聯(lián)機式的信息儲藏所 是一個基于超文本方式的信息檢索服務工具 萬維網(wǎng)WWW將全世界Internet上不同地點的許多信息資源有機地組織在一起 連結(jié)成一個信息網(wǎng) 通過鏈接的方法 超鏈接 能夠非常方便地從Internet上的一個站點訪問另一個站點 從而主動地按需獲取豐富的信息 2 萬維網(wǎng)最大的特點 萬維網(wǎng)最大的特點是擁有非常友善的圖形界面 非常簡單的操作方法 以及圖 文 聲 像并茂的顯示方式 3 萬維網(wǎng)的組成 萬維網(wǎng)由分布在全球各地的Web節(jié)點組成 Web節(jié)點由Web服務器維護和管理的多個Web頁面組成 頁面是可以包含文本 表格 圖像 動畫 聲音 3D世界 以及其它任何信息的超媒體文檔 每個Web節(jié)點都有進入該節(jié)點的起始頁面 稱為該節(jié)點的 主頁 頁面與頁面之間通過超鏈接相連 可以從一個頁面通過超鏈接進入同一節(jié)點或其它節(jié)點上的另一頁面 4 萬維網(wǎng)的標準 萬維網(wǎng)的成功在于其制定了一套簡單易用的統(tǒng)一標準 包括 信息資源的統(tǒng)一資源定位符 UniformResourceLocator 簡寫為URL 超文本標記語言 HyperTextMarkupLanguage 簡寫為HTML 超文本傳輸協(xié)議 HyperTextTransferProtocol 簡寫為HTTP 萬維網(wǎng)使用統(tǒng)一資源定位符URL來標識網(wǎng)上的各種資源 并使每一個資源在整個Internet的范圍內(nèi)具有唯一的標識符URL 萬維網(wǎng)使用超文本標記語言HTML作為制作萬維網(wǎng)頁面的標準語言 消除了不同計算機之間信息交流的障礙 使任何一臺計算機都能顯示出任何一個萬維網(wǎng)服務器上的頁面 萬維網(wǎng)以客戶機 服務器方式工作 客戶機與服務器之間通過超文本傳輸協(xié)議HTTP通信 HTTP協(xié)議定義了瀏覽器怎樣向Web服務器請求萬維網(wǎng)文檔 以及服務器怎樣把文檔傳送給瀏覽器 它是萬維網(wǎng)上能夠可靠地交換文件的重要基礎 二 Web數(shù)據(jù)庫 在傳統(tǒng)的Web服務中 文本和其他多媒體信息都是以文件的形式來進行存儲和管理的 隨著Web應用領(lǐng)域的不斷擴展 信息量的不斷增加 靜態(tài)的Web頁面越來越不能滿足人們對Web信息服務的動態(tài)性 實時性和交互性的要求 為了進行網(wǎng)絡上數(shù)據(jù)的高效存取 實現(xiàn)交互式動態(tài)Web頁面 就必須以大量數(shù)據(jù)資源為基礎 因此必然要在Web中引入數(shù)據(jù)庫 1 Web數(shù)據(jù)庫的概念 從Web的角度來看待數(shù)據(jù)庫 Web數(shù)據(jù)庫是指將數(shù)據(jù)庫技術(shù)與Web技術(shù)融合 使數(shù)據(jù)庫成為Web的重要組成部分的數(shù)據(jù)庫 就是用戶利用瀏覽器作為輸入界面 輸入必要的數(shù)據(jù) 瀏覽器將這些數(shù)據(jù)傳送至網(wǎng)站 網(wǎng)站再對輸入數(shù)據(jù)實施處理 并將其執(zhí)行的結(jié)果返回給瀏覽器 通過瀏覽器將最終執(zhí)行結(jié)果提交給用戶 可以簡單地認為 Web數(shù)據(jù)庫就是Internet 數(shù)據(jù)庫 1 Web數(shù)據(jù)庫的概念 Web數(shù)據(jù)庫不僅集合了Web技術(shù)和數(shù)據(jù)庫技術(shù)的優(yōu)點 而且使二者都發(fā)生了質(zhì)的變化 Web網(wǎng)頁從靜態(tài)網(wǎng)頁發(fā)展成了由數(shù)據(jù)庫驅(qū)動的動態(tài)網(wǎng)頁 而數(shù)據(jù)庫實現(xiàn)了開發(fā)環(huán)境和應用環(huán)境的分離 用戶端可以用統(tǒng)一的瀏覽器實現(xiàn)跨平臺和多媒體服務 2 通過WWW訪問數(shù)據(jù)庫的優(yōu)點 1 借用現(xiàn)成的瀏覽器軟件 無需開發(fā)數(shù)據(jù)庫前端 2 標準統(tǒng)一 開發(fā)過程簡單 3 交叉平臺支持 三 Web數(shù)據(jù)庫的發(fā)展階段 Web數(shù)據(jù)庫發(fā)展到現(xiàn)在 經(jīng)歷了三個發(fā)展階段 1 第一階段 第一階段 Web數(shù)據(jù)庫提供靜態(tài)訪問和靜態(tài)內(nèi)容應用 早期的Web數(shù)據(jù)庫提供靜態(tài)文檔的管理和訪問 程序員根據(jù)數(shù)據(jù)庫內(nèi)容用HTML編寫Web頁面 用戶對數(shù)據(jù)庫的訪問實際是對該靜態(tài)HTML文檔的訪問 第一階段Web數(shù)據(jù)庫是在還沒有出現(xiàn)Web數(shù)據(jù)庫訪問技術(shù)的時候產(chǎn)生的 基本只是Web技術(shù) 缺點 不能實時訪問 數(shù)據(jù)庫維護工作量很大 2 第二階段 第二階段 Web數(shù)據(jù)庫提供靜態(tài)訪問和動態(tài)內(nèi)容應用 實現(xiàn)基于數(shù)據(jù)庫的動態(tài)文檔的管理和訪問 在第二階段的Web數(shù)據(jù)庫中 使用通用Web網(wǎng)關(guān)接口編程 使數(shù)據(jù)庫能與Web服務器直接連接 實時動態(tài)地將數(shù)據(jù)庫的信息反映在頁面上 用戶訪問的是靜態(tài)的HTML文檔 但文檔內(nèi)容是隨著數(shù)據(jù)庫而改變的動態(tài)內(nèi)容 缺點 不能保持數(shù)據(jù)庫連接狀態(tài) 存在性能瓶頸 缺少擴展性和保密性 3 第三階段 第三階段 Web數(shù)據(jù)庫除了提供第二代Web數(shù)據(jù)庫的功能外 還能提供基于Web的聯(lián)機事務處理能力 在Web的客戶端與服務器端實現(xiàn)了動態(tài)和個性化的交流和互動 第三階段的Web數(shù)據(jù)庫使所有對數(shù)據(jù)庫的操作 增加 刪除 修改 信息的查詢和管理都通過統(tǒng)一標準的Internet瀏覽器界面來進行 更加適應Internet技術(shù)的發(fā)展和網(wǎng)絡互連的需要 8 2Web數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu) 第8章Web數(shù)據(jù)庫技術(shù) 教學內(nèi)容 引入 數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)是指在計算機系統(tǒng)環(huán)境下數(shù)據(jù)庫管理系統(tǒng)及其數(shù)據(jù)庫應用系統(tǒng)的體系結(jié)構(gòu) 數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)與數(shù)據(jù)庫系統(tǒng)的應用環(huán)境是密切相關(guān)的 隨著計算機技術(shù)的發(fā)展以及數(shù)據(jù)庫系統(tǒng)應用環(huán)境的演變 數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)也在不斷地演變 隨著計算模式經(jīng)歷了集中式模式 C S模式和B S模式三個階段的發(fā)展 數(shù)據(jù)庫系統(tǒng)也隨之出現(xiàn)了相應的體系結(jié)構(gòu) 一 數(shù)據(jù)庫的客戶機 服務器體系結(jié)構(gòu) 1 客戶機 服務器體系結(jié)構(gòu)客戶機 服務器 C S 結(jié)構(gòu)是以計算機網(wǎng)絡環(huán)境為基礎 將計算任務有機地分配給多臺計算機的計算模式 客戶機 服務器結(jié)構(gòu)由三部分組成 客戶機 服務器 客戶機和服務器之間的連接支持 1 客戶機 服務器體系結(jié)構(gòu) 1 客戶機客戶機一般是一臺面向最終用戶 運行前端應用程序且提供外圍開發(fā)工具 并通過網(wǎng)絡獲得服務器服務的微型計算機 2 服務器服務器一般是具有高檔硬件資源和高性能軟件資源的多用戶計算機系統(tǒng) 3 連接支持是一種實現(xiàn)客戶機和服務器之間連接和通信的標準網(wǎng)絡接口和標準軟件接口 2 客戶機 服務器結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng) 客戶機 服務器結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)是把DBMS功能和應用分開 使網(wǎng)絡中某個 些 結(jié)點上的計算機專門用于執(zhí)行DBMS的功能 稱為數(shù)據(jù)庫服務器 其它結(jié)點上的計算機安裝DBMS的外圍開發(fā)工具 支持用戶的應用 稱為客戶機 或應用服務器 二者相結(jié)合 協(xié)同工作 其基本思想是服務器資源共享 但功能是分布的 它把單機環(huán)境下的DBMS功能在網(wǎng)絡 包括多臺計算機 環(huán)境下進行合理的分布 在客戶機和服務器之間作適當?shù)呐渲?2 客戶機 服務器結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng) 在服務器一端完成DBMS的核心功能 包括接收來自客戶端的數(shù)據(jù)庫請求 處理數(shù)據(jù)庫請求 進行安全性確認和完整性檢查等 在客戶端放置應用開發(fā)工具 完成管理用戶界面 接受用戶數(shù)據(jù) 處理應用任務 生成數(shù)據(jù)庫請求并向服務器發(fā)出數(shù)據(jù)庫請求 從服務器接受結(jié)果并格式化結(jié)果等 網(wǎng)絡中間軟件則遵循一定標準 負責透明地連接客戶機與服務器 提供了訪問數(shù)據(jù)庫的統(tǒng)一界面 二 基于瀏覽器 服務器模式的Web數(shù)據(jù)庫 瀏覽器 服務器 B S 計算模式是隨著Internet技術(shù)的迅猛發(fā)展而發(fā)展起來的一種新型的網(wǎng)絡計算模式 B S結(jié)構(gòu)是Internet技術(shù)和數(shù)據(jù)庫技術(shù)相結(jié)合的過程中形成的數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu) B S結(jié)構(gòu)代表了當前數(shù)據(jù)庫應用軟件技術(shù)發(fā)展的趨勢 是目前人們開發(fā)Web數(shù)據(jù)庫系統(tǒng)普遍采用的數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu) B S結(jié)構(gòu)是C S結(jié)構(gòu)的繼承和發(fā)展 從本質(zhì)上講 B S計算模式和C S計算模式都是一種請求 應答方式 但C S計算模式需要在客戶機上裝載大量的應用軟件 負擔較重 而B S計算模式是一種基于Hyperlink 超鏈接 HTML 超文本標記語言 Java的三層C S結(jié)構(gòu) 客戶機上只需安裝單一的瀏覽器軟件 負擔很輕 因此是一種全新的體系結(jié)構(gòu) 1 B S結(jié)構(gòu)概述 B S結(jié)構(gòu)將數(shù)據(jù)處理過程分為表示層 功能層和數(shù)據(jù)層三部分 分別由Web瀏覽器 具有應用程序擴展功能的Web服務器和數(shù)據(jù)庫服務器實現(xiàn) 2 三層B S結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng) 表示層位于客戶端 表示層的任務是由Web瀏覽器向網(wǎng)絡上的某一Web服務器提出服務請求 Web服務器用超文本傳輸協(xié)議和超文本標記語言來描述和組織信息 把所需的主頁傳送給客戶端 客戶機接受傳來的主頁文件 并把它顯示在Web瀏覽器上 功能層位于第二層 功能層的任務是接受用戶的請求 與數(shù)據(jù)庫進行連接 通過SQL等方式向數(shù)據(jù)庫服務器提出數(shù)據(jù)處理申請 并將數(shù)據(jù)庫服務器的數(shù)據(jù)處理結(jié)果傳送回客戶端 數(shù)據(jù)層位于第三層 數(shù)據(jù)層的任務是接受Web服務器對數(shù)據(jù)庫操縱的請求 實現(xiàn)對數(shù)據(jù)庫查詢 修改 更新等功能 把運行結(jié)果提交給Web服務器 在B S結(jié)構(gòu)中 可將數(shù)據(jù)庫服務器端進一步分解成一個Web服務器和一個或多個數(shù)據(jù)庫服務器 3 多層B S結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng) 1 規(guī)范和統(tǒng)一了客戶端程序的標準 瀏覽器模式 減輕了客戶端的壓力 解決了C S結(jié)構(gòu)中客戶端程序的異構(gòu)性和跨平臺性 2 將用戶交互 應用業(yè)務處理和數(shù)據(jù)管理三者相互徹底分離 從而方便進行嚴格的安全管理 提高程序的可維護性 使其各自完成其擅長和應該完成的任務 3 在表示層對數(shù)據(jù)的輸入進行分析檢查 可盡早消除錯誤輸入 減少網(wǎng)上傳輸?shù)臄?shù)據(jù)量 加快響應速度 4 B S結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的優(yōu)點 4 軟件維護開銷能夠大大降低 5 充分發(fā)揮了DBMS高效的數(shù)據(jù)存儲和數(shù)據(jù)管理能力 把傳統(tǒng)的數(shù)據(jù)庫訪問 存取和維護等技術(shù)應用于Internet的Web之上 實現(xiàn)了更大程度和更大范圍的數(shù)據(jù)庫資源共享 4 B S結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的優(yōu)點 8 3Web數(shù)據(jù)庫訪問技術(shù) 第8章Web數(shù)據(jù)庫技術(shù) 教學內(nèi)容 引入 Web數(shù)據(jù)庫系統(tǒng)的主要目的是要實現(xiàn)Web與數(shù)據(jù)庫的連接以產(chǎn)生基于數(shù)據(jù)庫的動態(tài)頁面 這要通過Web訪問數(shù)據(jù)庫來實現(xiàn) 相關(guān)的技術(shù)我們稱之為Web數(shù)據(jù)庫訪問技術(shù) 也稱為動態(tài)頁面技術(shù) 一 對Web數(shù)據(jù)庫訪問技術(shù)的要求 1 高效性 2 安全性 3 客戶端的簡潔性 4 開放性 異構(gòu)性 5 可擴展性 二 Web數(shù)據(jù)庫訪問技術(shù)的種類 1 基于中間件的Web數(shù)據(jù)庫系統(tǒng)2 基于客戶端的Web數(shù)據(jù)庫系統(tǒng)3 上述兩種方法的組合 1 基于中間件的Web數(shù)據(jù)庫系統(tǒng) 是在Web服務器端提供中間件來連接Web服務器和數(shù)據(jù)庫服務器 常用的中間件技術(shù)有通用網(wǎng)關(guān)接口 CGI 應用程序編程接口 WebAPI ODBC JDBC ADO ADO NET等 這些技術(shù)的特點是采用Web服務器作為通信中介 由Web服務器啟動應用程序 并由應用程序完成數(shù)據(jù)庫的訪問 結(jié)果信息再經(jīng)Web服務器返回客戶端瀏覽器 2 基于客戶端的Web數(shù)據(jù)庫系統(tǒng) 是把應用程序下載到客戶端運行 在客戶端直接訪問數(shù)據(jù)庫服務器 例如 JavaApplet等 3 上述兩種方法的組合 第三種方式可看成是上述兩種方法的組合 在服務器端提供中間件 同時將應用程序的一部分下載到客戶端 并在客戶端通過WebServer及中間件訪問數(shù)據(jù)庫 這些方案各有其優(yōu)缺點 用戶可以根據(jù)具體需要 選擇相應的技術(shù) 目前采用最多的解決方案是第一種 三 Web數(shù)據(jù)庫設計的一般過程 1 Web數(shù)據(jù)庫的環(huán)境 包括Web服務器 客戶機 數(shù)據(jù)庫服務器 網(wǎng)絡 客戶端必須有能夠解釋執(zhí)行HTML代碼的瀏覽器 Web服務器中必須具有能執(zhí)行可以自動生成HTML代碼的程序的功能 如ASP CGI等 后臺具有能自動完成數(shù)據(jù)操作指令的數(shù)據(jù)庫系統(tǒng) 如Access SQLServer等 2 設計過程 Web數(shù)據(jù)庫設計的一般過程 1 建立網(wǎng)站服務器 2 選擇作為Web數(shù)據(jù)庫的數(shù)據(jù)庫管理系統(tǒng) 設計和創(chuàng)建數(shù)據(jù)庫 3 設計數(shù)據(jù)庫訪問接口 4 設計Web數(shù)據(jù)庫應用程序 5 檢測 調(diào)試 8 4數(shù)據(jù)庫訪問接口 第8章Web數(shù)據(jù)庫技術(shù) 教學內(nèi)容 一 數(shù)據(jù)庫訪問接口概述 隨著網(wǎng)絡計算模式的發(fā)展 中間件日益成為軟件領(lǐng)域中新的熱點 1 中間件 1 定義中間件是一個用API定義的軟件層 是具有強大通信能力和良好可擴展性的分布式軟件管理框架 2 功能是在客戶機和服務器或者服務器和服務器之間傳送數(shù)據(jù) 實現(xiàn)客戶機群和服務器群之間的通信 中間件在整個分布式系統(tǒng)中起數(shù)據(jù)總線的作用 各種異構(gòu)系統(tǒng)通過中間件有機地結(jié)合成一個整體 1 中間件 3 工作流程在客戶機里的應用程序需要網(wǎng)絡上某個服務器中的數(shù)據(jù)或服務時 應用程序需訪問中間件 中間件將查找數(shù)據(jù)源或服務 并在發(fā)送應用程序請求后重新打包響應 將其傳回應用程序 2 數(shù)據(jù)庫訪問接口 數(shù)據(jù)庫訪問接口 即數(shù)據(jù)庫中間件 是所有中間件中應用最廣 發(fā)展前景最好的一種中間件 作為前端客戶機和后端數(shù)據(jù)庫之間的一個中間層 數(shù)據(jù)庫訪問接口負責接收客戶端的數(shù)據(jù)請求 做一些簡單處理后 把請求再傳遞給相應的后端數(shù)據(jù)庫服務器 進行最后的數(shù)據(jù)處理 然后再將結(jié)果由數(shù)據(jù)庫中間件返回給客戶端 常用數(shù)據(jù)庫中間件編程技術(shù)有CGI WebAPI ODBC JDBC ADO ADO NET 二 CGI 通用網(wǎng)關(guān)接口CGI CommonGateInterface 是最早普遍使用的Web數(shù)據(jù)庫訪問技術(shù) 幾乎所有的Web服務器都支持它 1 CGI概述 CGI定義了服務器和外部應用程序之間的標準通信接口 它打破了服務器軟件的局限性 允許用戶根據(jù)需要采用各種語言去實現(xiàn)無法用HTTP HTML實現(xiàn)的功能 給WWW提供了更為廣闊的應用空間 2 CGI工作過程 遵循CGI標準編寫的服務器端的可執(zhí)行程序稱為CGI程序 CGI的主要功能就是在Web服務器程序和CGI程序之間傳遞信息 1 Web瀏覽器向Web服務器發(fā)出請求 該請求含請求服務的類型 服務程序路徑 CGI程序名稱及用戶數(shù)據(jù)等 CGI的工作方式圖 2 Web服務器通過CGI定義的通信接口 把用戶發(fā)來的請求通過標準輸入 包括環(huán)境變量 命令參數(shù)等 發(fā)送給CGI程序 3 CGI程序解析和處理用戶請求 打開同DBMS的連接 與DBMS交互 按照用戶的需求 對數(shù)據(jù)庫進行查詢或更新 4 CGI程序可根據(jù)從數(shù)據(jù)庫中檢索所得到的數(shù)據(jù)生成動態(tài)的HTML文檔 通過標準輸出將其發(fā)送給Web服務器 5 Web服務器將HTML文檔返回給Web瀏覽器 然后關(guān)閉與服務器的連接 3 利用CGI應用程序連接數(shù)據(jù)庫的優(yōu)點 1 CGI程序可以用任何程序設計語言編寫 如C C Delphi VisualBasic或Perl等 2 CGI的跨平臺性能極佳 CGI的應用程序可以移植到絕大部分操作系統(tǒng)上 3 CGI開發(fā)的比較早 相對比較成熟 因此 目前幾乎所有的Web服務器均支持CGI 4 CGI方法的缺點 1 最大的缺點是需要消耗大量的系統(tǒng)資源 2 CGI程序開發(fā)復雜 需要許多底層開發(fā)的知識 編寫比較困難 3 數(shù)據(jù)傳輸?shù)姆椒ú环€(wěn)健 效率低下 4 不具備事務功能 5 安全性差 缺少用戶訪問控制 對數(shù)據(jù)庫難以設置安全訪問權(quán)限 三 WebAPI 為了克服CGI的局限性 一種基于共享CGI程序的改進方案應運而生 這就是應用程序編程接口WebAPI 1 WebAPI概述 WebAPI是某個Web服務器開發(fā)商為其產(chǎn)品用戶開發(fā)類似于CGI程序的服務器端擴展程序所提供的專用編程接口 用戶利用WebAPI可以完成CGI程序所能實現(xiàn)的功能 并且維持服務器較好的性能 2 WebAPI的優(yōu)缺點 用WebAPI開發(fā)程序 性能大大優(yōu)于CGI程序 WebAPI的出現(xiàn)解決了CGI的低效問題 但WebAPI的缺陷也是很明顯的 1 開發(fā)API程序比開發(fā)CGI程序復雜得多 2 各種不同的API互不兼容 缺乏一個統(tǒng)一的業(yè)界標準 用某種API編寫的程序只能在特定的Web服務器上運行 使用范圍受到極大的限制 四 ODBC ODBC是 開放數(shù)據(jù)庫互連 OpenDatabaseConnectivity 的簡稱 ODBC是Microsoft公司提出的應用程序通用編程接口標準 用于對數(shù)據(jù)庫的訪問 ODBC為數(shù)據(jù)庫用戶和開發(fā)人員屏蔽了異構(gòu)環(huán)境的復雜性 提供了數(shù)據(jù)庫訪問的統(tǒng)一接口 為應用程序?qū)崿F(xiàn)與平臺的無關(guān)性和可移植性提供了基礎 因而ODBC獲得了廣泛的支持和應用 1 ODBC概述 ODBC定義了一個基于SQL的 公共的 與數(shù)據(jù)庫無關(guān)的API 應用程序設計接口 使每個應用程序利用相同的源代碼就可訪問不同的數(shù)據(jù)庫系統(tǒng) 存取多個數(shù)據(jù)庫中的數(shù)據(jù) 從而使得應用程序與數(shù)據(jù)庫管理系統(tǒng) DBMS 之間在邏輯上可以分離 使應用程序具有數(shù)據(jù)庫無關(guān)性 也就是說 用ODBC生成的程序是與數(shù)據(jù)庫或數(shù)據(jù)庫引擎無關(guān)的 2 ODBC的組成與結(jié)構(gòu) ODBC應用體系結(jié)構(gòu)主要由客戶端的數(shù)據(jù)庫應用程序 ODBC應用程序接口 ODBCAPI ODBC驅(qū)動程序管理器 ODBCDriverManager 驅(qū)動程序 Driver 數(shù)據(jù)源 DataSource 不同RDBMS及其DB構(gòu)成的數(shù)據(jù)庫平臺等組成 客戶端數(shù)據(jù)庫應用程序提供系統(tǒng)與用戶的界面 是用宿主語言 ODBC函數(shù)和SQL語句編寫的訪問數(shù)據(jù)庫的應用程序 ODBC應用程序接口是一種使用ODBC技術(shù)實現(xiàn)應用程序與數(shù)據(jù)庫互連的標準接口 ODBC驅(qū)動程序管理器用于管理系統(tǒng)中存在的各種驅(qū)動程序 驅(qū)動程序是一個用于支持ODBC函數(shù)調(diào)用的模塊 通常是一個動態(tài)鏈接庫DLL 不同RDBMS的驅(qū)動程序是不同的 每種數(shù)據(jù)庫都要向ODBC驅(qū)動程序管理器注冊它自己的驅(qū)動程序 數(shù)據(jù)源是驅(qū)動程序與數(shù)據(jù)庫系統(tǒng)連接的橋梁 它不是數(shù)據(jù)庫系統(tǒng) 而是用于表達ODBC驅(qū)動程序與DBMS特殊連接的命名 3 ODBC的接口函數(shù) ODBC實質(zhì)上可以看成是一個由數(shù)據(jù)庫應用程序訪問的調(diào)用函數(shù)庫 應用程序通過這些函數(shù)可操縱數(shù)據(jù)庫中的數(shù)據(jù) ODBC為應用程序提供的這些調(diào)用函數(shù)可以分成六組 分配和釋放內(nèi)存函數(shù) 連接函數(shù) 執(zhí)行SQL語句函數(shù) 接收結(jié)果函數(shù) 事務控制函數(shù) 錯誤處理函數(shù)和其他功能函數(shù) 4 ODBC的基本工作流程 1 初始化建立ODBC環(huán)境 環(huán)境句柄 建立應用程序與數(shù)據(jù)源的連接建立語句句柄 為ODBC調(diào)用執(zhí)行SQL語句作好準備 2 SQL處理執(zhí)行SQL語句 對數(shù)據(jù)庫進行插入 刪除 修改和查詢操作 3 終止通過釋放語句句柄函數(shù) 釋放連接句柄函數(shù) 釋放環(huán)境句柄函數(shù)的執(zhí)行 釋放各種資源 五 JDBC JDBC是SUN公司針對Java語言提出的與數(shù)據(jù)庫連接的API標準 與ODBC類似 JDBC是特殊類型的API 這些API支持對數(shù)據(jù)庫的連接和基本的SQL功能 包括建立數(shù)據(jù)庫連接 執(zhí)行SQL語句 處理返回結(jié)果等 與ODBC不同的是 JDBC為單一的Java語言的數(shù)據(jù)庫接口 而ODBC不適合直接在Java中使用 因為它使用C語言接口 1 JDBC概述 JDBC由一群類和接口組成 通過調(diào)用這些類和接口所提供的方法 Java程序可以連接不同的數(shù)據(jù)庫 對數(shù)據(jù)庫下達SQL命令并取得行結(jié)果 JDBC主要有兩種接口 面向程序開發(fā)人員的JDBCAPI和面向底層的JDBCDriverAPI JDBCAPI是面向程序開發(fā)人員的 對用戶友好的 高級接口 它定義了Java中的類 用來表示數(shù)據(jù)庫連接 SQL指令 結(jié)果集合 數(shù)據(jù)庫圖元數(shù)據(jù)等 通過驅(qū)動程序管理器 JDBCAPI可以利用不同的驅(qū)動程序連接不同的數(shù)據(jù)庫系統(tǒng) JDBCDriverAPI是面向驅(qū)動程序開發(fā)商的基礎接口 在它之上可以建立高級接口和工具 2 JDBC的體系結(jié)構(gòu) JDBC的體系結(jié)構(gòu)主要由客戶端的Java JSP應用程序 JDBC應用程序接口 JDBCAPI JDBC驅(qū)動程序管理器 JDBC驅(qū)動程序 不同的數(shù)據(jù)庫平臺等組成 與ODBC一樣 JDBC的體系結(jié)構(gòu)同樣有一個JDBC驅(qū)動程序管理器作為Java應用程序與數(shù)據(jù)庫的中介 它把對數(shù)據(jù)庫的訪問請求轉(zhuǎn)換和傳送給下層的JDBC驅(qū)動程序 或者轉(zhuǎn)換為對數(shù)據(jù)庫的固有調(diào)用 更多的實現(xiàn)方式是通過JDBC ODBC橋接驅(qū)動程序 轉(zhuǎn)化為一個ODBC調(diào)用 進行對數(shù)據(jù)庫的操作 這是目前知曉的四種JDBC驅(qū)動程序 3 JDBC驅(qū)動程序的類型 JDBC驅(qū)動程序可分為以下四個種類 1 JDBC ODBC橋加ODBC驅(qū)動程序 2 本地API 3 網(wǎng)絡協(xié)議純Java驅(qū)動程序 4 本地協(xié)議純Java驅(qū)動程序 1 JDBC ODBC橋加ODBC驅(qū)動程序 JavaSoft公司的橋產(chǎn)品利用ODBC驅(qū)動程序提供JDBC訪問 這類驅(qū)動程序的特色是必須在使用者端的計算機上事先安裝好ODBC驅(qū)動程序 然后通過JDBC ODBC的調(diào)用方法 把JDBC操作翻譯成對應的ODBC調(diào)用 進而通過ODBC類存取數(shù)據(jù)庫 2 本地API 這種類型的驅(qū)動程序也必須先在客戶機上安裝好特定的驅(qū)動程序 然后通過JDBC本地API橋接器的轉(zhuǎn)換 把JAVAAPI調(diào)用轉(zhuǎn)換成特定驅(qū)動程序的調(diào)用方法 利用客戶機上的本地代碼庫與數(shù)據(jù)庫直接進行通信 3 網(wǎng)絡協(xié)議純Java驅(qū)動程序 通常 這是最為靈活的JDBC驅(qū)動程序 能夠發(fā)布到Internet上 與數(shù)據(jù)庫產(chǎn)品無關(guān) 為了支持Internet訪問 必須處理Web所提出的安全性 通過防火墻的訪問等方面的額外要求 這種驅(qū)動程序?qū)DBC轉(zhuǎn)換為與DBMS無關(guān)的網(wǎng)絡協(xié)議 之后這種協(xié)議又被某個服務器轉(zhuǎn)換為一種DBMS協(xié)議 這種網(wǎng)絡服務器中間件能夠?qū)⑺募僇ava客戶機連接到多種不同的數(shù)據(jù)庫上 所用的具體協(xié)議取決于提供者 4 本地協(xié)議純Java驅(qū)動程序 這種類型的驅(qū)動程序?qū)DBC調(diào)用直接轉(zhuǎn)換為DBMS所使用的網(wǎng)絡協(xié)議 它允許從客戶機機器上直接調(diào)用DBMS服務器 4 JDBC的工作流程 使用JDBC連接數(shù)據(jù)庫的基本步驟是 注冊和加載驅(qū)動器 建立連接 創(chuàng)建語句對象 執(zhí)行查詢語句 查詢結(jié)果處理及關(guān)閉結(jié)果集對象 關(guān)閉語句對象 關(guān)閉連接 六 ADO ActiveX數(shù)據(jù)對象 ActiveXDataObject 簡寫為ADO 是允許用戶與數(shù)據(jù)存儲進行交互的組件 是ASP的內(nèi)置組件之一 通常也稱ADO組件 1 ADO概述 ADO是Windows的開放服務體系的標準組成部分 是人們廣泛接受的用于數(shù)據(jù)庫訪問的應用程序接口 是一項容易使用并且可擴展的將數(shù)據(jù)庫訪問添加到Web頁的技術(shù) ADO并不是一種新技術(shù) 而是采用現(xiàn)有的數(shù)據(jù)庫訪問技術(shù) 并把這些不同的數(shù)據(jù)庫訪問技術(shù)融合在一起 形成一種適應需要的方法 它提供了一個簡單的程序化模型和完善的數(shù)據(jù)處理功能 2 ADO對象模型 ADO是采用層次框架實現(xiàn)的 其層次結(jié)構(gòu)如圖所示 ADO定義了7種獨立的對象 Connection對象 Command對象 Recordset對象 Field對象 Parameter對象 Property對象和Error對象 Connection對象是其他對象與集合的基礎 Connection對象包含了一個Errors集合和一個Error對象 用來記錄連接過程中所發(fā)生的錯誤信息 Command對象包含了一個特有的Parameters集合和一個Parameter對象 用來傳遞Command對象所需的命令參數(shù) Recordset對象包含了一個Fields集合和一個Field對象 用來記錄Recordset對象中各個字段的相關(guān)屬性 在ADO的7個對象中 Connection對象 Command對象和Recordset對象是使用最多的三個主要對象 通過這些對象與集合 用戶可以很方便地建立數(shù)據(jù)庫連接 執(zhí)行SQL查詢以及存取查詢結(jié)果等 2 ADO對象模型 ADO各個對象之間的相互關(guān)系圖 兩個重要關(guān)系 Connection對象和Command對象使用Execute方法可以產(chǎn)生一個Recordset對象 兩個重要關(guān)系 Recordset對象和Command對象使用ActiveConnection屬性可以產(chǎn)生一個Connection對象 3 ADO對象功能 1 Connection對象 連接對象用于建立Web服務器到數(shù)據(jù)源的連接 其它兩個內(nèi)部對象 Command對象和Recordset對象對數(shù)據(jù)庫的任何操作都要通過Connection對象才能夠完成 2 Recordset對象 記錄集對象是對從基本表或命令執(zhí)行的結(jié)果所得到的整個記錄集合的封裝 其數(shù)據(jù)結(jié)構(gòu)可認為與表相同 利用Recordset對象可以非常方便地實現(xiàn)對數(shù)據(jù)庫的各種操作和控制 3 ADO對象功能 3 Command對象 命令對象主要功能是讓服務器執(zhí)行SQL命令或服務器端的存儲過程 4 Field對象 域?qū)ο驲ecordset對象有一個十分有用的對象集合Fields Fields由多個Field對象組成 Field對象代表一列普通數(shù)據(jù)類型數(shù)據(jù) 每個Field對象對應于Recordset對象中的一列 5 Parameter對象 參數(shù)對象代表SQL存儲過程或有參數(shù)查詢中的一個參數(shù) 3 ADO對象功能 6 Property對象 屬性對象代表數(shù)據(jù)提供者的具體屬性 ADO對象有兩種類型的屬性 內(nèi)置屬性和動態(tài)屬性 內(nèi)置屬性是指那些已在ADO中實現(xiàn)并且任何新對象可以立即使用的屬性 Property對象是基本提供者所定義的動態(tài)屬性的容器 7 Error對象 錯誤對象代表ADO錯誤 用來表示方法調(diào)用失敗所產(chǎn)生的某個錯誤 4 ADO和數(shù)據(jù)庫的連接 通過ADO訪問數(shù)據(jù)庫有兩種途徑 一種是通過ODBC驅(qū)動程序 另一種是通過數(shù)據(jù)庫專用的OLEDBProvider 后者有更高的訪問效率 七 ADO NET ADO NET是微軟的新一代數(shù)據(jù)訪問標準 它是為了廣泛的數(shù)據(jù)控制而設計的 而不僅僅為數(shù)據(jù)庫應用 所以使用起來比以前的ADO更靈活 更有彈性 也提供了更多的功能 提供了更有效的數(shù)據(jù)存取 它采用面向?qū)ο蠼Y(jié)構(gòu) 采用業(yè)界標準的XML作為數(shù)據(jù)交換格式 能夠應用于多種操作系統(tǒng)環(huán)境 1 ADO NET發(fā)展 隨著公共語言運行庫和 NET框架的出現(xiàn) 微軟為 NET框架設計了一個新的數(shù)據(jù)訪問對象模型ADO NET ADO NET用微軟 NET框架的托管代碼創(chuàng)建 這意味著它可以享受到類型安全和內(nèi)存管理環(huán)境的種種好處 使之成為優(yōu)于ADO的一個更為穩(wěn)健的數(shù)據(jù)庫訪問平臺 作為一種數(shù)據(jù)庫訪問框架 ADO NET在ADO的基礎上進行了重新設計 使它能處理當今n層的Web應用程序所要求的非連接數(shù)據(jù)體系結(jié)構(gòu) 總之ADO NET是在ADO的基礎上發(fā)展起來的 但又不是簡單的升級 它在簡化編程 維護和效能方面都做了相當大的改進 ADO NET是一項全新的技術(shù) 需要采用一種新的思維模式來對待 2 ADO NET模型 ADO NET提供了功能強大的數(shù)據(jù)訪問接口 其數(shù)據(jù)的連接有兩種方式 斷開連接與直接連接 因此ADO NET對象模型分為 連接的對象 和 斷開連接的對象 兩部分 連接的對象 主要有Connection對象 Command對象 DataReader對象等 這些對象直接與數(shù)據(jù)庫通信 以管理連接和事務 以及從數(shù)據(jù)庫檢索數(shù)據(jù)和向數(shù)據(jù)庫提交所做的更改 斷開連接的對象 主要有數(shù)據(jù)集DataSet對象以及它所包括的DataTable和DataRelation對象等 它們允許用戶脫機處理數(shù)據(jù) 以便更好地提高系統(tǒng)效率 2 ADO NET模型 ADO NET對象模型的兩個核心成員是 NET數(shù)據(jù)提供程序和DataSet對象 NET數(shù)據(jù)提供程序是數(shù)據(jù)庫的訪問接口 負責建立連接和數(shù)據(jù)操作 它作為DataSet對象與數(shù)據(jù)源之間的橋梁 負責將數(shù)據(jù)源中的數(shù)據(jù)取出后置入DataSet對象中 或?qū)?shù)據(jù)存回數(shù)據(jù)源 DataSet是非連接的 位于內(nèi)存中的數(shù)據(jù)存儲 主要負責對數(shù)據(jù)的操作 DataSet是專門為獨立于任何數(shù)據(jù)源的數(shù)據(jù)訪問而設計的 因此 它可以用于多種不同的數(shù)據(jù)源 可以使用XML數(shù)據(jù) 3 NET的數(shù)據(jù)提供程序 NETFramework數(shù)據(jù)提供程序在數(shù)據(jù)源和代碼之間創(chuàng)建了一個最小層 以便在不以功能為代價的前提下提高性能 到目前為止 可用的 NET主要數(shù)據(jù)提供程序 提供者 有4個 這4個數(shù)據(jù)提供程序中的每一個都有一個特定的目的 并且都提供對特定類型數(shù)據(jù)源的托管訪問 1 SQLServer NETFramework 這個數(shù)據(jù)提供者專用于SQLServer數(shù)據(jù)庫 它使用SQL快速的 本地的TCP IP接口 提供快速 健壯和可靠的訪問SQLServer的方法 可以直接訪問SQLServer而不用添加OLEDB或ODBC層 因此它是輕量的 并具有良好的性能 2 OLEDB NETFramework OLEDB數(shù)據(jù)提供程序可使用任何OLEDB數(shù)據(jù)提供程序來處理數(shù)據(jù) 但是這個提供者必須使用COMInterop層 因此 在 NETFramework中使用OLEDB時 將會增加系統(tǒng)的額外開銷 通常 人們使用OLEDB NET數(shù)據(jù)提供者與Access數(shù)據(jù)庫 MicrosoftExchange進行通信 3 Oracle NETFramework 該數(shù)據(jù)提供程序支持使用Oracle客戶端軟件提供的Oracle調(diào)用接口 OC 訪問Oracle數(shù)據(jù)庫 如果使用的是Oracle數(shù)據(jù)源 則使用這個數(shù)據(jù)提供者將能得到更快的速度和更可靠的性能 Oracle NETFramework數(shù)據(jù)提供程序要求必須先在系統(tǒng)上安裝Oracle客戶端軟件 8 1 7版或更高版本 才能連接到Oracle數(shù)據(jù)源 4 ODBC NETFramework 如果數(shù)據(jù)源不是SQLServer Oracle或Access 也不是通過OLEDB驅(qū)動程序能夠訪問的其他數(shù)據(jù)源 則惟一的選擇就是使用ODBCProviderfor NET ODBC NETFramework數(shù)據(jù)提供程序使用本機ODBC驅(qū)動程序管理器 DM 啟用數(shù)據(jù)訪問 微軟的 NETODBCProvider是為了向后兼容而采取的措施 它不是一個高性能的數(shù)據(jù)提供者 4 ADO NET和ADO的比較 因為ADO NET是從ADO發(fā)展而來的 它與ADO有許多相似性 然而 ADO NET在ADO的基礎上做了很大的改進 1 數(shù)據(jù)表現(xiàn)形式 在ADO中 數(shù)據(jù)在內(nèi)存中表示的形式為記錄集 RecordSet 而在ADO NET中 它以數(shù)據(jù)集 DataSet 為主要表現(xiàn)形式 記錄集好比一個單獨的表 數(shù)據(jù)集可以包含多個截然不同的表 還能夠維護表之間的關(guān)系 當要訪問的數(shù)據(jù)來自多個關(guān)聯(lián)的表時 ADO NET比ADO對數(shù)據(jù)的訪問更優(yōu)越 因為數(shù)據(jù)集可以包含這樣的數(shù)據(jù) 而記錄集則不能 2 數(shù)據(jù)訪問 ADO和ADO NET之間的另一個重要差別在于它們數(shù)據(jù)訪問方式不同 ADO通過MoveNext方法順序掃描記錄集的行 而在ADO NET中 數(shù)據(jù)集 DataSet 除了支持順序訪問之外 還允許對數(shù)據(jù)表中的行號進行隨機訪問 相比之下 在ADO NET中數(shù)據(jù)訪問變得更加容易 更加快速 3 斷開連接方式的數(shù)據(jù)訪問 在ADO中 記錄集也可以實現(xiàn)斷開連接方式的數(shù)據(jù)訪問 但是這種連接方式效率不高 而且不是徹底的斷開連接方式 而ADO NET則使用數(shù)據(jù)集完全實現(xiàn)了與數(shù)據(jù)源的斷開連接方式 ADO通過調(diào)用OLEDB提供者與數(shù)據(jù)庫通信 而ADO NET則使用數(shù)據(jù)適配器與數(shù)據(jù)庫進行通信 這個適配器可以采用不同的方式與不同類型的數(shù)據(jù)源進行通信 4 在應用程序之間共享數(shù)據(jù) ADO通過COM調(diào)度機制傳輸記錄集 而ADO NET則使用XML以數(shù)據(jù)集的形式傳輸數(shù)據(jù) 同COM調(diào)度相比 使用XML傳輸數(shù)據(jù)具有許多優(yōu)點 更豐富的數(shù)據(jù)類型 更高的性能 能夠穿透防火墻等 8 5動態(tài)頁面開發(fā)技術(shù) 第8章Web數(shù)據(jù)庫技術(shù) 教學內(nèi)容 一 ASP技術(shù) ASP ActiveServerPages 動態(tài)服務器主頁 是目前非常流行的開放式Web服務器應用程序開發(fā)技術(shù) ASP屬于ActiveX技術(shù)中的服務器端技術(shù) ASP中的命令和Script語句都是由服務器來解釋執(zhí)行的 執(zhí)行結(jié)果產(chǎn)生動態(tài)生成的Web頁面并送到瀏覽器 1 ASP文件 ASP通過擴展名為 asp的ASP文件來實現(xiàn) 一個ASP文件相當于一個可執(zhí)行文件 因此必須放在Web服務器上有可執(zhí)行權(quán)限的目錄下 ASP文件是一個文本文件 它可以包括下列元素的任意組合 文本 text HTML標記 tags Script命令 2 ASP的工作流程 當用戶通過瀏覽器向Web服務器申請一個 asp主頁時 Web服務器響應該請求 調(diào)用ASP引擎 解釋執(zhí)行將被請求的 asp文件中的每一個命令 動態(tài)生成一個HTML頁面 并送到瀏覽器 當遇到任何與ActiveXScriptng兼容的腳本 如VBScript JavaScript 時 ASP引擎會調(diào)用相應的腳本引擎進行處理 若腳本中含有訪問數(shù)據(jù)庫的請求 就通過ODBC或OLEDB與后臺數(shù)據(jù)庫連接 由數(shù)據(jù)庫訪問組件執(zhí)行訪庫操作 它依據(jù)訪問數(shù)據(jù)庫的結(jié)果集自動生成符合HTML的主頁 以響應用戶的請求 二 PHP技術(shù) PHP是一種用于創(chuàng)建動態(tài)Web頁面的服務器端HTML嵌入式腳本語言 它與ASP相似 用戶可以混合使用PHP和HTML編寫Web頁面 當訪問者瀏覽到該頁面時 服務端會首先對頁面中的PHP命令進行處理 然后把處理后的結(jié)果連同HTML內(nèi)容一起傳送到訪問端的瀏覽器 PHP腳本語言的語法結(jié)構(gòu)與C語言和Perl語言的語法風格非常相似 二 PHP技術(shù) 與ASP不同的是 PHP是一種源代碼開放程序 擁有很好的跨平臺兼容性 用戶可以在WindowsNT系統(tǒng)以及許多版本的UNIX系統(tǒng)上運行PHP 而且可以將PHP作為Apache服務器的內(nèi)置模塊或CGI程序運行 PHP最大的特點是它強大的數(shù)據(jù)庫支持功能 使它能夠訪問幾乎目前所有較為流行的數(shù)據(jù)庫系統(tǒng) 但是一般來說PHP和MYSQL是最佳的搭配 三 Servlet技術(shù) 同其他Web動態(tài)頁面開發(fā)技術(shù)相比 Servlet具有更好的性能和開發(fā)效率 1 Servlet技術(shù)概述 Servlet是用Java語言編寫的運行在服務器端的Java小程序 它在初始化時裝入Web服務器的存儲空間 并成為服務器的一個組成部分 Servlet使用JavaServletAPI及相關(guān)類編程 ServletAPI能融合在不同的Web服務器中 2 Servlet的工作流程 當啟動Web服務器或Web瀏覽器第一次請求服務時 系統(tǒng)自動裝入Servlet并使Servlet保持運行狀態(tài) 每當客戶端發(fā)來請求時 服務器都會啟動一個線程與客戶端交互 Web服務器收到請求后 加載相應的Servlet 同時把用戶請求信息傳給該Servlet Servlet分析用戶請求信息 生成對應的SQL語句并執(zhí)行 通過JDBC訪問數(shù)據(jù)庫服務器中的數(shù)據(jù)庫 獲得響應的結(jié)果集 生成HTML頁面返回到客戶端 四 JSP技術(shù) JSP是由Sun公司倡導 許多公司參與 一起建立的一種動態(tài)網(wǎng)頁技術(shù)標準 是一種很容易學習和使用的 在服務器端編譯執(zhí)行的Web數(shù)據(jù)庫系統(tǒng)應用程序編程語言 1 JSP文件 JSP的腳本語言采用Java 完全繼承了Java的所有優(yōu)點 在傳統(tǒng)的網(wǎng)頁HTML文件中加入Java程序片段和JSP標記 就構(gòu)成了JSP網(wǎng)頁 JSP文件的擴展名通常是 jsp 并且一般放在網(wǎng)頁存放的地方 2 JSP的工作原理 JSP的工作是基于Servlet的 當用戶第一次對JSP頁面進行請求 Web服務器首先將它編譯成對應的Servlet 并啟動該Servlet的一個線程與客戶端進行交互 以后只要這個Servlet不丟失 所有客戶端對該JSP頁面的請求都是由Servlet的一個線程響應的 Web服務器會執(zhí)行該Servlet 將執(zhí)行結(jié)果以HTML格式返回給客戶 3 使用JSP訪問數(shù)據(jù)庫 使用JSP訪問數(shù)據(jù)庫有兩種技術(shù)方案 一種是JSP JavaBean JDBC 另外一種是JSP JavaServlet JavaBean JDBC 該技術(shù)方案通過JSP直接實現(xiàn)對客戶端的應答 當客戶的請求提交到JSP時 通過JavaBean將運行的結(jié)果再退回給客戶端 盡管這種技術(shù)方案十分適合簡單應用的需要 它卻不能滿足復雜的大型應用程序的實現(xiàn) 它吸取了JSP和JavaServlet技術(shù)各自的突出優(yōu)點 用JSP實現(xiàn)表示層 讓Servlet完成深層次的處理任務 即實現(xiàn)應用層 該方案清晰地分離了表達和內(nèi)容 明確了角色的定義以及應用程序開發(fā)者與網(wǎng)頁設計者的分工 事實上 項目越復雜 使用第二種技術(shù)方案的好處就越大 4 JSP的優(yōu)點 JSP的優(yōu)點具體體現(xiàn)在以下方面 1 將內(nèi)容的生成和顯示進行分離 2 可重用的組件3 用動作標識簡化頁面開發(fā)- 1.請仔細閱讀文檔,確保文檔完整性,對于不預覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- Web數(shù)據(jù)庫技術(shù) Web 數(shù)據(jù)庫技術(shù) PPT 課件
鏈接地址:http://www.820124.com/p-7178594.html