主頁 > 知識庫 > 加快JDBC設(shè)計中JSP訪問數(shù)據(jù)庫

加快JDBC設(shè)計中JSP訪問數(shù)據(jù)庫

熱門標(biāo)簽:黃石智能營銷電銷機(jī)器人效果 怎樣把地圖標(biāo)注出來 開封便宜外呼系統(tǒng)報價 漯河辦理400電話 騰訊地圖標(biāo)注商戶改名注冊入駐 電話機(jī)器人的特色和創(chuàng)新 商丘百應(yīng)電話機(jī)器人有沒有效果 淮南騰訊地圖標(biāo)注 地圖標(biāo)注人員兼職

    以前,我們已經(jīng)提到,JSP程序都是模塊,并且具有強(qiáng)大的表達(dá)-請求(presentation-request)功能。建立一個完美的數(shù)據(jù)庫訪問是一個具有挑戰(zhàn)的過程,而JDBC接口能夠很好地完成這一過程。然而,嵌入于JSP代碼中的JDBC代碼,與SQL命令嵌入在JDBC一樣,可以充分利用JSP的功能,為客戶端建立一個整潔而簡便的API。為了達(dá)到這一目的,我們可以考慮到使用JSP操作來建立數(shù)據(jù)庫接口組件。

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

在上一篇的文章中,我們討論到如何在每一頁面中嵌入JDBC,以保證程序的結(jié)構(gòu)更加合理。然而,建立可執(zhí)行的SQL命令,正如變量通過JDBC命令而傳遞一樣,也有可能會增加程序的復(fù)雜性。

JDBC設(shè)計的JSP操作
JSP數(shù)據(jù)庫操作的另一方法是,在不使用JDBC的情況下為數(shù)據(jù)庫建立一些操作的集合。使用這種方法,你可以得到兩種好處:第一,你可以消除使用JDBC的必要,這就使得很多工作得以簡化;第二,你的設(shè)計和代碼的組織更加合理(比如可讀性,靈活性,以及可維護(hù)性)。

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

JSP提供了一套標(biāo)準(zhǔn)擴(kuò)展的類。通過這些類,你可以通過一個標(biāo)簽管理器器(tag handler)定義一個操作。這里有兩個JSP定義的Java接口:Tag接口和BodyTag接口,分別是由TagSupport類和BodyTagSupport類執(zhí)行。

你可以建立通用JSP用途的一個標(biāo)簽庫,并且你也可以執(zhí)行標(biāo)簽管理器(tag handler)以擴(kuò)展類的支持。以下是實(shí)現(xiàn)這些過程的步驟。

首先,執(zhí)行一個標(biāo)簽管理器的類:

packagecom.myactions;

(import statements go here)

public class MyActionTag extends TagSupport {
       ...
       }

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

tag>
       name>MyAction/name>
       tagclass>com.myactions.MyActionTag/tagclass>
       bodycontent> (whatever)  /bodycontent>
       attribute>myData/attribute>
/tag>

/tag>

相關(guān)的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
  • 假設(shè)你已經(jīng)建立一個名為MyAction的操作,這是一個與com.myactions.MyActionTag類匹配的TLD。TLD文件必須位于程序的TLDs路徑。

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

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

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

     

    總結(jié)
    你的數(shù)據(jù)庫bean執(zhí)行一個嵌入在操作體的SQL語句,你可以傳遞一個語句給SQL語句,或者使用它來執(zhí)行一個預(yù)先的操作??梢酝ㄟ^標(biāo)簽管理器來執(zhí)行你的操作。由于JDBC被嵌入于庫代碼中,你將不能在JSP程序中明確地使用它。

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

    下一次,我們將會講述到JSP頁和會話(sessions)之間的數(shù)據(jù)傳遞。

    您可能感興趣的文章:
    • jsp+jdbc實(shí)現(xiàn)連接數(shù)據(jù)庫的方法
    • JSP中使用JDBC訪問SQL Server 2008數(shù)據(jù)庫示例
    • JDBC操作數(shù)據(jù)庫的增加、刪除、更新、查找實(shí)例分析
    • jdbc操作mysql數(shù)據(jù)庫實(shí)例
    • JDBC鏈接數(shù)據(jù)庫的幾個步驟
    • JDBC對MySQL數(shù)據(jù)庫布爾字段的操作方法
    • Java使用JDBC連接數(shù)據(jù)庫的實(shí)現(xiàn)方法
    • JSP基于JDBC的數(shù)據(jù)庫連接類實(shí)例

    標(biāo)簽:拉薩 大興安嶺 武威 鄭州 岳陽 馬鞍山 亳州 紅河

    巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《加快JDBC設(shè)計中JSP訪問數(shù)據(jù)庫》,本文關(guān)鍵詞  加快,JDBC,設(shè)計,中,JSP,訪問,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《加快JDBC設(shè)計中JSP訪問數(shù)據(jù)庫》相關(guān)的同類信息!
  • 本頁收集關(guān)于加快JDBC設(shè)計中JSP訪問數(shù)據(jù)庫的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章