天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

加快JDBC設計中JSP訪問數據庫

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

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

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

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

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

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

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

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

packagecom.myactions;

(import statements go here)

public class MyActionTag extends TagSupport {
       ...
       }

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

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

</tag>

相關的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程序中就可以訪問這些操作。這就是這種方法的優點。

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

    jsp技術加快JDBC設計中JSP訪問數據庫,轉載需保留來源!

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

    主站蜘蛛池模板: 国产中文字幕乱码一区 | 亚洲一二三产品区别在哪里 | 江苏电台在线收听 | 白丝制服被啪到喷水很黄很暴力 | 国产精品免费一区二区区 | 亚洲 天堂 国产在线播放 | 办公室激情在线观看 | 免费久久狼人香蕉网 | 亚洲AV久久无码高潮喷水 | 亚洲专区中文字幕视频专区 | 亚洲人成人77777在线播放 | 99久免费精品视频在线观看2 | 久久人妻无码毛片A片麻豆 久久人妻熟女中文字幕AV蜜芽 | 亚洲免费无l码中文在线视频 | 掀开奶罩边躁狠狠躁软学生 | 伊人久久综在合线影院 | 国产传媒麻豆剧精品AV | 国产精品高潮呻吟AV久久96 | 韩国伦理三级 | 丰满的女朋友 在线播放 | 国产成人自拍视频在线观看 | 国产麻豆91网在线看 | 1819sextub欧美中国 | 亚洲一区自拍高清亚洲精品 | 耻辱诊察室1一4集动漫在线观看 | 男男女女爽爽爽视频免费 | 又黄又爽又无遮挡在线观看免费 | 摸董事长的裤裆恋老小说 | 欧美激情精品久久久久久不卡 | 无套内射无矿码免费看黄 | 嗯好大好猛皇上好深用力 | 浪潮色诱AV久久久久久久 | 亚洲欧美自拍明星换脸 | 男人电影天堂手机 | 好男人在线观看免费视频WWW | 51久久夜色精品国产 | 亚洲国产成人99精品激情在线 | 精品国产成人a区在线观看 精品国产成人AV在线看 | 在线 亚洲 日韩 欧洲视频 | 野花香HD免费高清版6高清版 | 特黄特色大片免费播放器9 特黄特黄aaaa级毛片免费看 |