程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> 加快JDBC中JSP數據庫的訪問速度

加快JDBC中JSP數據庫的訪問速度

編輯:關於JSP

    JSP程序都是模塊,並且具有強大的表達-請求(divsentation-request)功能。

    建立一個完美的數據庫訪問是一個具有挑戰的過程,而JDBC接口能夠很好地完成這一過程。

    然而,嵌入於JSP代碼中的JDBC代碼,與SQL命令嵌入在JDBC一樣,可以充分利用JSP的功能,為客戶端建立一個整潔而簡便的API。為了達到這一目的,我們可以考慮到使用JSP操作來建立數據庫接口組件。

    完美的JSP設計模式是Model-View-Controller (MVC)。傳統三層體系為:Model為程序邏輯和數據;View為查看;以及Controller為請求處理。遵循這一模型,一個JSP程序包含客戶端-服務器“對話框”的每一“行”的頁面。在一個典型的程序中,你可以看到一個查詢頁面,一個驗證頁面,一個數據庫插入頁面,一個數據庫更新頁面,等等。

    JDBC設計的JSP操作

    JSP數據庫操作的另一方法是,在不使用JDBC的情況下為數據庫建立一些操作的集合。使用這種方法,你可以得到兩種好處:

    第一,你可以消除使用JDBC的必要,這就使得很多工作得以簡化;

    第二,你的設計和代碼的組織更加合理(比如可讀性,靈活性,以及可維護性)。

    你仍然需要一些驅動程序,但你首先簡化以上的操作。JSP程序中的操作都是一些邏輯塊,通常被其它的JSP程序開發者編寫和利用,但你可以把它們當成子程序來使用。使用JSP操作的意義是標准化某些功能,以及最大程度地減少嵌入在JSP的Java代碼數量。

    JSP提供了一套標准擴展的類。通過這些類,你可以通過一個標簽管理器器(tag handler)定義一個操作。這裡有兩個JSP定義的Java接口:Tag接口和BodyTag接口,分別是由TagSupport類和BodyTagSupport類執行。

    你可以建立通用JSP用途的一個標簽庫,並且你也可以執行標簽管理器(tag handler)以擴展類的支持。以下是實現這些過程的步驟。

    首先,執行一個標簽管理器的類:

     packagecom.myactions;
      (importstatementsgohere)
      publicclassMyActionTagextendsTagSupport{
      ...
      }

    接著,編譯這段代碼,並將類文件放置在程序的類庫中。然後,你將需要一個Tag Library Descriptor (TLD)文件,這是一個XML文件,以匹配你的操作名稱和相應的標簽管理器的類。

    MyAction
    com.myactions.MyActionTag
    (whatever)
    myData

    相關的Trialware

    .DbUtils (Apache Software Foundation)

    .IBM Informix JDBC Driver (IBM)

    .MySQL Connector/J 3.0 (MySQL AB)

    .SQL4X Manager J 2.2 (MacosGuru)

    .Informix Downloads (IBM Red Brick Warehouse 32bit) (Solaris) (IBM)

    .Informix Downloads (IBM Red Brick Warehouse 64bit) (HPUX) (IBM)

    更多Trialware

    假設你已經建立一個名為MyAction的操作,這是一個與com.myactions.MyActionTag類匹配的TLD。TLD文件必須位於程序的TLDs路徑。

    當你從一個JSP頁調用操作時,TLD告訴JSP正確的類以使用操作。這就帶來極大的方便,而且只需要少量的代碼。

    但是,從何引入SQL?首先,你需要建立具有連接功能的數據庫訪問。你可以使用javax接口來完成,而javax可見於JDBC 2.0 Optional工具箱。JDBC 2.0的javax.sql.DataSource類提供了你所需要的連接。

    此時,SQL位於什麼地方?它在bean中。你可以使用JDBCcreateStatement和PreparedStatement在bean中建立一個方法。將這一方法成為一個公共的Vector,並正確地將你的SQL聲明傳遞到這一方法。

    總結

    你的數據庫bean執行一個嵌入在操作體的SQL語句,你可以傳遞一個語句給SQL語句,或者使用它來執行一個預先的操作。可以通過標簽管理器來執行你的操作。由於JDBC被嵌入於庫代碼中,你將不能在JSP程序中明確地使用它。

    初次使用這種方法會覺得它比JDBC中的嵌入SQL,以及JSP中的嵌入JDBC更加復雜,但是,你建立SQL操作並將它們存放在一個TLD,你只需做一次,在所有的JSP程序中就可以訪問這些操作。這就是這種方法的優點。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved