偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

開發(fā) 后端
本文向你講述在實施JSP訪問數(shù)據(jù)庫的時候,通過JSP源碼的形式說明建立良好的數(shù)據(jù)庫連接的重要性以及通過優(yōu)化JDBC設(shè)計操作加快訪問數(shù)據(jù)庫的方法。

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

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

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

JDBC設(shè)計的JSP操作

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

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

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

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

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

  1. packagecom.myactions;  
  2.  
  3. (import statements go here)  
  4.  
  5. public class MyActionTag extends TagSupport {  
  6. ...  
  7. }  
  8.  

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

  1. ﹤tag﹥  
  2. ﹤name﹥MyAction﹤/name﹥  
  3. ﹤tagclass﹥com.myactions.MyActionTag﹤/tagclass﹥  
  4. ﹤bodycontent﹥ (whatever) ﹤/bodycontent﹥  
  5. ﹤attribute﹥myData﹤/attribute﹥  
  6. ﹤/tag﹥  
  7.  
  8. ﹤/tag﹥  
  9.  

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

當你從一個JSP訪問數(shù)據(jù)庫頁調(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ù)先的操作。可以通過標簽管理器來執(zhí)行你的操作。由于這種JDBC設(shè)計實現(xiàn)JDBC被嵌入于庫代碼中,你將不能在JSP程序中明確地使用它。

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

 


【編輯推薦】

  1. JSP編程應(yīng)注意的六個常見問題
  2. 實現(xiàn)JSP論壇樹型結(jié)構(gòu)的具體算法
  3. JSP入門之避免Form表單重復(fù)提交的幾種方案
  4. li>JSP教程之訪問量計數(shù)JSP源碼
  5. JSP入門之網(wǎng)站環(huán)境搭建的步驟
責(zé)任編輯:仲衡 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2009-07-01 16:01:58

JSP數(shù)據(jù)庫

2009-03-16 09:09:18

數(shù)據(jù)庫JDBCJSP

2009-07-01 15:02:56

JSP程序JSP操作

2009-07-03 14:10:59

2009-06-30 14:37:08

數(shù)據(jù)庫JSP

2009-07-14 18:13:36

Microsoft J

2009-07-01 10:46:57

JSP程序JSP代碼

2009-07-20 10:48:08

JDBC API

2010-03-04 17:19:40

2009-06-30 15:54:00

數(shù)據(jù)庫訪問JSP

2009-07-06 15:57:56

獲取數(shù)據(jù)庫連接JSP

2011-08-02 13:44:49

JSPJDBCSQL Server

2011-03-11 17:16:02

JSP操作數(shù)據(jù)庫訪問效率

2013-08-07 10:24:24

JDBC鏈接池

2009-07-06 17:23:34

JDBC連接數(shù)據(jù)庫

2009-07-16 17:22:56

JDBC數(shù)據(jù)庫編程

2011-03-17 15:59:37

c#數(shù)據(jù)庫

2021-07-11 17:01:22

數(shù)據(jù)庫數(shù)據(jù)算法

2009-07-01 11:08:14

JSP DestoryJSP Init數(shù)據(jù)庫鏈接

2009-06-30 15:15:30

JSP數(shù)據(jù)庫
點贊
收藏

51CTO技術(shù)棧公眾號