設(shè)為首頁(yè) | 加為收藏 | 聯(lián)系我們 咨詢(xún)熱線:0632-5272123
電 話(huà):0632-5272123
傳 真:0632-5271123
地 址: 棗莊市文化西路23號(hào)
E-mail:zzint@zzint.com
  • 技術(shù)咨詢(xún):
  • 業(yè)務(wù)咨詢(xún):
  • 客戶(hù)服務(wù):
  • 服務(wù)監(jiān)督:
詳細(xì)資料 您當(dāng)前的位置:網(wǎng)站首頁(yè)新聞動(dòng)態(tài)詳細(xì)資料

棗莊JAP網(wǎng)站開(kāi)發(fā)中如何加快JDBC的JSP數(shù)據(jù)庫(kù)的訪問(wèn)速度

JSP程序都是模塊,并且具有強(qiáng)大的表達(dá)-請(qǐng)求(divsentation-request)功能。

建立一個(gè)完美的數(shù)據(jù)庫(kù)訪問(wèn)是一個(gè)具有挑戰(zhàn)的過(guò)程,而JDBC接口能夠很好地完成這一過(guò)程。

然而,嵌入于JSP代碼中的JDBC代碼,與SQL命令嵌入在JDBC一樣,可以充分利用JSP的功能,為客戶(hù)端建立一個(gè)整潔而簡(jiǎn)便的API。為了達(dá)到這一目的,我們可以考慮到使用JSP操作來(lái)建立數(shù)據(jù)庫(kù)接口組件。

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

JDBC設(shè)計(jì)的JSP操作

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

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

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

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

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

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

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

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

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

MyAction
com.myactions.MyActionTag
(whatever)
myData

相關(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)建立一個(gè)名為MyAction的操作,這是一個(gè)與com.myactions.MyActionTag類(lèi)匹配的TLD。TLD文件必須位于程序的TLDs路徑。

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

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

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

總結(jié)

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

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



上篇文章:對(duì)于棗莊JSP建站中JAVA基礎(chǔ)測(cè)試中常見(jiàn)問(wèn)題3
下篇文章:Java Servlet和JSP的技術(shù)概述以及比較
版權(quán)所有 棗莊市英特信息網(wǎng)絡(luò)有限公司 ◎2017
聯(lián)系電話(huà):0632-5271123 5272123  總部地址:棗莊市市中區(qū)文化西路23號(hào)
魯ICP備09021689號(hào) 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證編號(hào):魯 B2-20080087號(hào)