亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jdbc-into.htm

?? 寫給JSP初級程序員的書
?? HTM
?? 第 1 頁 / 共 2 頁
字號:
              3. 1. JDBC API <br>
                JDBC API 被描述成為彝族抽象的Java接口,似的應用程序遠可以對某個數據庫打開連接,執行SQL語句并且處理結果。 </p>
            <p>最重要的接口是: <br>
              * java.sql.DriverManager 處理驅動的調入并且對產生新的數據庫連接提供支持。 <br>
              * java.sql.Connection 代表對特定數據庫的連接。 <br>
              * java.sql.Statement  代表一個特定的容器,來對一個特定的數據庫執行SQL語句。 <br>
              * java.sql.ResultSet  控制對一個特定語句的行數據的存取。 <br>
              其中java.sql.Statement又有兩個子類型: <br>
              1. java.sql.PreparedStatement  用于執行預編譯的SQL語句。 <br>
              2. java.sql.CallableStatement  用于執行對一個數據庫內嵌過程的調用。 <br>
                下面的章節對JDBC是如何運行的提供了更多描述,整個定義見第13章。另外第15章描述了系統如果獲取數據庫的元數據信息。 <br>
              3. 2. JDBC Driver API <br>
                java.sql.Driver在第9章有完整的定義了.大部分JDBC驅動只需要完成這些JDBC API所定義的抽象類就可以了。特別地,所有的driver必須提供對java.sql.Connection, 
              java.sql. State-ment, java.sql.Prepared-Statement, and java.sql.ResultSet的實現。如果目標DBMS提供有OUT參數的內嵌過程,那么還必須提供java.sql.CallableStatement 
              接口。每個database driver必須提供一個類:java.sql.Driver以使得系統可以由 java.sql.DriverManager來管理。 
              <br>
                一個顯然的driver是在ODBC之上提供對JDBC的實現,從而提供與ODBC接口的JDBC-ODBC 橋,就象前面的圖所顯示的.由于JDBC放在ODBC之后,所以實現起來簡單而且高效。 
              <br>
              另外一個有用的驅動直接接觸數據庫無關的網絡協議。發布一個協議允許多個服務器實現的方法,例如在ODBC或者特定的DBMS上(盡管已經有了一些使用固定協議的產品,但是我們不打算對它們實現標準化。),是可取的。 
            </p>
            <p><br>
              4. JDBC使用場合  Before looking at specifics of the JDBC API, an understanding 
              of typical use scenarios is help-ful. There are two common scenarios 
              that must be treated differently for our purposes: applets and applications. 
              <br>
                在看JDBC API之前了解一下典型的使用場合是有幫助的。通常有兩種情形必須分別對待:applet和application. 
              <br>
              4. 1. Applet <br>
                目前Java使用的最多的從網絡中下載的applet,它們作為web文件的一個部分。當中有數據庫存取applet和能夠使用JDBC來接觸數據庫的applet。 
              <br>
              例如,一個用戶可能下載一個顯示股票歷史價格圖的applet。這個applet通過internet來從關系數據庫中獲得股票歷史價格。 
              <br>
              最一般的情況里面,對applet的使用是通過不可靠的邊界的。例如從另外一個公司或者Internet上獲得這些applet。于是稱這個情況為&quot;Internet&quot;場合。然而applet也可能通過局域網下載。在這個情況里面,客戶機的安全都還是一個問題。 
              <br>
              典型的applet在幾個方面與傳統的數據庫應用程序有所不同: <br>
              1). 不可靠的applet被嚴格地限制在他們被允許執行的的操作上。特別地,不允許他們存取本地的文件,切不允許他們對任意的數據庫建立網絡連接。 
              <br>
              2). 就標識和連接網上數據庫來說,Internet環境里面的applet面臨新的問題。 <br>
              3). 當數據庫可能與你相隔萬里的時候,效率的考慮也有所不同了。與局域網相比,Internet上數據庫applet可能會碰到十分不同的反應時間。 
              <br>
              4. 2. Application <br>
                Java也可以用來建立普通的應用,從而想一般的應用一樣在客戶機上使用。我們相信隨著開發工具越來越多,人們開始認識到提高程序生產效率的必要性,以及Java的其他優點,Java的這種用法將越來越流行。在這種方式里面,Java的代碼是可以信賴的,且被允許讀寫文件打開網絡連接等等,就想其他的應用程序代碼一樣。 
            </p>
            <p>  也許這些Java應用使用的最多的是在一個公司內部或者在Intranet上,所以不妨成為Intranet場合。例如一個公司希望利用Java及其GUI構件工具來建立他的基于合作數據模式的合作軟件。這些應用程序將存取局域網或者廣域網的數據。Java應用可以作到這些。 
              <br>
              Java應用程序場合和Intranet場合與applet場合有諸多不同。例如標定一個數據庫最自然的方式是用一個數據庫的名字,就象&quot;Customers&quot; 
              和&quot;Personnel&quot;這樣。然后用戶希望系統能夠定位具體的機器,DBMS,JDBC driver,和Java應用程序。 
              <br>
              4. 3. 其他場合 <br>
                還有其他一些有趣的場合: <br>
              1). 已驗證的applet(Trusted applets)是指那些已經被Java虛擬機器認定是可以信賴的applet。他們之所以被認為是可信的是因為他們已經對上了特定的密匙,或者用戶認為從特定來源來的applet是可信的。在安全的方面上他們與應用(appliction)相同,但是其他方面(例如定位一個數據庫)與則與applet相似。 
              <br>
              2). 與直接從Java GUI出發用客戶/服務器模式來度曲DBMS服務器不同,三層存取方式可能被使用。在這個場合里面,Java應用程序對中間層的服務發出調用,中間層的服務在網上,它又再去調用數據庫。這些調用可能通過RPC 
              (remote procedure call)或者ORB (object request broker )。在這兩種場合里面,中間層最好使用一個對象變化。我們希望三層結構會變得越來越普遍,因為對于MIS管理者來說,這可以使得他們有機會在公共數據庫上顯式地定義合法操作等。同時三層結構可以提供許多效率上的好處。 
            </p>
            <p>目前中間層一般用C或者C++這樣的語言來完成。通過優化編譯器把把Java 字節代碼翻譯成為高效的機器代碼,中間層也可以用Java來實現。Java有許多優良特性(健壯性,安全性,多線程)可以達到中間層需要達到的目的。 
            </p>
            <p><br>
              5. 安全性考慮  作為網絡上的語言JAVA必須十分注安全性的考慮。基于上面的討論,JDBC的兩種主要使用場合里面,我們必須考慮安全性問題: 
              <br>
              * 在Java applications的場合里面Java代碼是本地的,所以也是&quot;trusted&quot; <br>
              * 沒有驗證的Java applet代碼不可以存取本地的以及其他網絡的數據。 <br>
              5. 1. JDBC 和未驗證的applet <br>
              JDBC首先必須符合JAVA的一般安全規則。另外: <br>
              * JDBC 必須認為沒有驗證的applets是不可靠的。 <br>
              * JDBC 不可以讓不可靠的applets存取本地數據庫。 <br>
              * 一個已經向JDBC DriverManager注冊的是JDBC Driver只能存取它所來的數據源。 <br>
              * 一個applet也只能向它所Download來的服務器來存取數據。 <br>
              如果JDBC驅動層如果完全確信對一個數據庫服務器打開連接不會引起認證或者權限問題(可能由網上隨機主機上運行的程序引起),那么它就允許applet打開這樣的連接。數據庫服務器不通過IP地址來限制存取是相當少的,主要是為了舉例。(當心,這一段話我可能翻譯反了!!!大家看看原文。) 
              <br>
                這些限制是相當煩瑣的。不過他們與對一般applet的限制是一致的我們沒有必要放開這些限制。 <br>
              5. 2. JDBC 和Java應用程序 <br>
                對于一個普通的Java應用程序(例如全部用Java代碼而不是不可靠的applet )JDBC將從本地的類路徑里面獲得驅動,并且允許應用程序自由存取文件,遠程服務器等等。 
              <br>
                但是和applet一樣,如果由于某些原因一個沒有驗證的sun.sql.Driver類從遠程的來源里面獲得,那么這個驅動只能和相同地方來的代碼配合。 
              <br>
              5. 3. Driver的安全責任 <br>
                JDBC driver可能在各種情況下使用,所以驅動的編制者遵循一定的簡單的安全規則,從而避免applet做非法的數據庫連接。 
              <br>
                如果所有的驅動都象applet一樣從網上下載,那么這些原則將是不必要的,因為普通的安全規則已經對它做了限制。但是驅動的編寫者必須記住一旦他們的驅動獲得成功,用戶將在本地磁盤安裝這些驅動,那么驅動將成為Java環境中一個被信任的部分,所以必須確信它不會被來訪的applet所濫用。所以我們鼓勵所有的驅動編寫者必須遵循一定安全原則。 
              <br>
                所有這些原則都是在連接打開的時候使用。這正式驅動和虛擬機器檢查當前調用者是否真的可以與指定的數據庫連接的時刻。一旦連接建立就不必做更多的檢查了。 
              <br>
              5. 3. 1. 分享TCP/IP連接的時候必須謹慎  如果一個JDBC驅動試圖打開一個 TCP 連接,那么這個打開會被Java 
              安全管理機制自動檢查。這個機構會檢查當前調用棧里面有沒有applet,如果有那么就限定它可以訪問的機器集合。所以一般地JDBC驅動可以把TCP建立檢查留給Java虛擬機。 
              <br>
                但是如果一個JDBC驅動試圖在多個數據庫連接之間共享一個TCP連接,那么驅動就必須自己負責檢查每個調用者是否真的被允許與目標數據庫聯系。例如如果我們為applet 
              A打開了一個通往機器foobah 的TCP連接,這并不意味著applet B被自動允許來共享這個連接。applet B可能沒有任何訪問機器foobah的權力。所以在允許某個程序重用一個現成的TCP連接之前,JDBC 
              驅動必須通過安全機構來檢查當前的的調用者是否可以訪問這個連接。通過下面的代碼可是實現這個功能。 </p>
            <p><br>
              SecurityManager security = System.getSecurityManager(); <br>
              if (security != null) <br>
              { <br>
              security.checkConnect(hostName, portNumber); <br>
              } </p>
            <p><br>
                如果連接是不允許的,那么Security.checkConnect方法將產生一個java.lang.SecurityException。 
              5. 3. 2. 檢查所有的本地文件訪問 <br>
                如果一個JDBC取得需要訪問本地機器上的數據,那么他必須確信調用者是被允許打開這個文件的。例如: </p>
            <p><br>
              SecurityManager security = System.getSecurityManager(); <br>
              if (security != null) <br>
              { <br>
              security.checkRead(fileName); <br>
              } </p>
            <p><br>
                如果對特定文件的訪問是不允許的,那么Security.checkRead方法將產生一個java.lang.SecurityException。 
              <br>
              5. 3. 3. 作好最壞的準備 <br>
                一些驅動可能使用本地的方法來橋接底層數據庫程序。則這些情況里面判斷那些本地文件將被底層函數所訪問是困難的。 <br>
                在這些環境里面用戶必須作好最壞的打算,并且否決所有下載applet所發出的數據庫存取,除非驅動可能完全確信將要做存取是沒有問題的。 
              <br>
                例如一個JDBC-ODBC橋接器必須檢查ODBC數據源的的名稱,確保applet只可以訪問它的“生源地”。如果對有的名字中不能判斷出數據源的主機名,那么只能否決這個訪問。 
              <br>
                為了決定一個當前的調用者是可以信賴的應用還是一個applet,JDBC驅動必須能夠檢查這個調用者是否可以寫一個隨機的文件: 
            </p>
            <p><br>
              SecurityManager security = System.getSecurityManager(); <br>
              if (security != null) <br>
              { <br>
              security.checkWrite(&quot;foobaz&quot;); <br>
              I. } <br>
            </p>
            <!-- #EndEditable --></td>
          <td width="20">&nbsp;</td>
        </tr>
        <tr> 
          <td width="20" height="11">&nbsp;</td>
          <td width="541" height="11"><!-- #BeginEditable "7" --><!-- #EndEditable --></td>
          <td width="101" height="11"> 
            
          </td>
          <td width="20" height="11">&nbsp;</td>
        </tr>
      </table><div align="center"> <br>
      </div>
      
    </td>
  </tr>
</table>
<div align="center"> 
  
  <br>
</div>
</body>
<!-- #EndTemplate --></html>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人av网站| 色综合久久天天| 色呦呦国产精品| 日韩午夜在线播放| 亚洲国产人成综合网站| 国产成人欧美日韩在线电影| 69精品人人人人| 亚洲视频在线观看一区| 国产在线精品一区二区三区不卡| 91视频观看视频| 久久精品日韩一区二区三区| 日韩电影在线看| 欧美色区777第一页| 亚洲欧洲另类国产综合| 国模娜娜一区二区三区| 日韩女优制服丝袜电影| 亚洲午夜久久久久久久久久久 | 91蜜桃在线免费视频| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 午夜欧美2019年伦理| 99九九99九九九视频精品| 久久久综合网站| 国模娜娜一区二区三区| 精品国产自在久精品国产| 婷婷开心久久网| 欧美日韩一区二区三区不卡| 亚洲乱码国产乱码精品精小说 | 黄色成人免费在线| 7777精品伊人久久久大香线蕉 | 亚洲国产日韩a在线播放性色| 97精品久久久午夜一区二区三区| 国产欧美日韩在线| 国产一区二区三区免费播放| 欧美白人最猛性xxxxx69交| 免费成人美女在线观看| 日韩无一区二区| 精品一区二区三区久久| 精品国产乱码久久久久久闺蜜| 久久精品久久综合| 亚洲一区二区影院| 欧洲av在线精品| 天天av天天翘天天综合网色鬼国产| 欧美日韩中文国产| 青娱乐精品视频在线| 精品少妇一区二区三区日产乱码 | 欧美一二三区在线| 国模娜娜一区二区三区| 国产精品久久久久久久久免费相片| www.视频一区| 亚洲一级电影视频| 日韩亚洲国产中文字幕欧美| 国内精品免费**视频| 国产精品网曝门| 91成人免费电影| 美国欧美日韩国产在线播放| 日本一区二区在线不卡| 色婷婷综合久色| 日韩国产欧美在线观看| 久久久九九九九| 91九色最新地址| 紧缚奴在线一区二区三区| 国产精品视频免费看| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 亚洲伊人色欲综合网| 日韩精品专区在线| www.av精品| 久久精品国产亚洲高清剧情介绍 | 日韩视频免费观看高清完整版在线观看 | 亚洲成a人在线观看| 久久综合久久综合久久综合| 色香色香欲天天天影视综合网| 日韩在线一区二区| 日本一区二区免费在线观看视频 | 日韩美女一区二区三区| 久久久久久久久97黄色工厂| 日本黄色一区二区| 国产一区二区三区最好精华液| 亚洲视频每日更新| 日韩久久久久久| 欧美最猛性xxxxx直播| 国产精品中文字幕欧美| 午夜精品久久久| 亚洲欧洲日产国码二区| 日韩精品中文字幕一区二区三区| thepron国产精品| 久久国产乱子精品免费女| 亚洲精品欧美二区三区中文字幕| 日韩欧美在线影院| 欧美这里有精品| 不卡欧美aaaaa| 黑人精品欧美一区二区蜜桃| 亚洲综合免费观看高清完整版在线 | 国产精品色婷婷| 日韩一级大片在线观看| 欧美性色黄大片手机版| youjizz国产精品| 国产综合色精品一区二区三区| 亚洲一区二区四区蜜桃| 亚洲私人影院在线观看| 国产丝袜欧美中文另类| 欧美精品一区视频| 欧美一区二区视频观看视频| 欧美丝袜自拍制服另类| 一本高清dvd不卡在线观看| 国产盗摄一区二区| 国产在线精品一区二区夜色| 欧美aaa在线| 青青草成人在线观看| 日韩电影网1区2区| 午夜欧美视频在线观看| 亚洲va天堂va国产va久| 夜夜精品视频一区二区| 亚洲男人电影天堂| 成人免费小视频| 中文字幕在线不卡一区| 中文字幕在线观看不卡视频| 国产精品久久综合| 中文字幕一区二区在线观看 | 亚洲一区二区三区中文字幕 | 欧美国产精品中文字幕| 国产日韩综合av| 久久精品亚洲麻豆av一区二区| 精品国产一区二区三区不卡 | 亚洲免费色视频| 一区二区在线电影| 亚洲欧美激情在线| 亚洲在线中文字幕| 日韩中文字幕1| 狠狠色狠狠色合久久伊人| 国内精品久久久久影院薰衣草| 国产成人小视频| 99久久99久久精品免费观看| 在线观看三级视频欧美| 91精品国产乱| 国产日韩欧美麻豆| 亚洲图片另类小说| 天堂蜜桃一区二区三区| 久久国产视频网| 99久久久久久99| 欧美日韩一区成人| 久久综合资源网| 亚洲欧美一区二区三区国产精品| 亚洲午夜在线观看视频在线| 美国三级日本三级久久99| 懂色av一区二区在线播放| 色欲综合视频天天天| 欧美一区二区日韩| 国产日韩影视精品| 亚洲一区二区三区在线播放| 久久精品国产一区二区三| av亚洲精华国产精华| 欧美久久久久中文字幕| 国产欧美中文在线| 亚洲综合激情网| 国产成人av一区二区| 欧美日韩久久一区| 中文字幕va一区二区三区| 亚洲图片欧美综合| 国产91对白在线观看九色| 欧美精品在线一区二区三区| 国产亚洲精品资源在线26u| 一区二区三区影院| 久久精品国内一区二区三区| 在线观看免费一区| 国产调教视频一区| 免费在线看一区| 在线视频你懂得一区二区三区| 26uuu色噜噜精品一区| 一区二区三区国产豹纹内裤在线 | 国产免费成人在线视频| 午夜精品一区二区三区免费视频 | 亚洲欧美二区三区| 久久精品国产秦先生| 欧美日韩美女一区二区| 国产精品久久影院| 国产精品99精品久久免费| 56国语精品自产拍在线观看| 亚洲欧美在线观看| 高清不卡一区二区| 亚洲精品一区二区三区福利| 五月天中文字幕一区二区| 91福利国产精品| 成人欧美一区二区三区1314| 国产精品一区专区| 26uuu另类欧美| 久久精品国产第一区二区三区 | 在线观看免费一区| 国产精品美女一区二区三区| 激情另类小说区图片区视频区| 日韩一区二区在线免费观看| 午夜精品免费在线| 欧美日本一区二区| 亚洲福利视频一区二区| 欧亚一区二区三区| 亚洲图片有声小说| 欧美日韩精品电影| 天天av天天翘天天综合网| 欧美日韩一级黄| 日韩国产欧美一区二区三区| 欧美日韩久久久一区|