亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

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

2020-07-27 21:48:31
字體:
來源:轉載
供稿:網友

    以前,我們已經提到,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)之間的數據傳遞。

    發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
    久久九九有精品国产23| 精品一区二区三区四区在线| 日韩av资源在线播放| 97精品一区二区三区| 亚洲大胆人体视频| 日韩视频第一页| 亚洲自拍高清视频网站| 国产精品吊钟奶在线| 久久综合久久美利坚合众国| 国产精品96久久久久久又黄又硬| 欧美国产日韩二区| 日韩av在线网站| 日韩美女av在线| 久久久久久久久久久成人| 尤物九九久久国产精品的分类| 国产主播在线一区| 欧美成人精品在线视频| 91视频88av| 国产91在线播放九色快色| 永久免费毛片在线播放不卡| 日韩影视在线观看| 国产亚洲综合久久| 91天堂在线观看| 精品国偷自产在线视频| 欧美电影电视剧在线观看| 日韩视频在线免费观看| 91精品视频网站| 狠狠色香婷婷久久亚洲精品| 欧美日韩亚洲一区二区| 黑人巨大精品欧美一区二区免费| 国产成人精品优优av| 欧美激情精品久久久久久蜜臀| 欧美黄色小视频| 欧美激情女人20p| 欧美日韩中文字幕日韩欧美| 国产精品96久久久久久又黄又硬| 欧美高跟鞋交xxxxxhd| 欧美成人国产va精品日本一级| 精品视频—区二区三区免费| 午夜剧场成人观在线视频免费观看| 亚洲欧美中文字幕在线一区| 色综合导航网站| 免费不卡在线观看av| 日产精品99久久久久久| 亚洲国产精品女人久久久| 日韩在线观看免费高清完整版| 久久天堂av综合合色| 国产精品久久久久秋霞鲁丝| 国内精品久久久久影院优| 成人免费激情视频| 日韩欧美视频一区二区三区| 亚洲自拍欧美另类| 精品日韩视频在线观看| 91成人在线视频| 91精品国产成人| 欧美精品激情在线观看| 久久天天躁狠狠躁夜夜躁2014| 欧美性受xxxx白人性爽| 一区二区三区视频在线| 91亚洲精品久久久| 国产精品久久久久久久久久久不卡| 欧美激情网站在线观看| 欧美一区二粉嫩精品国产一线天| 欧美日本在线视频中文字字幕| 国产亚洲精品美女| 日本亚洲欧美三级| 亚洲片在线观看| 国产精品毛片a∨一区二区三区|国| 精品无人国产偷自产在线| 亚洲一区二区少妇| 欧美日韩裸体免费视频| 成人精品视频久久久久| 国产小视频国产精品| 日韩欧美在线网址| 欧美成人精品在线视频| 精品视频在线播放免| 日韩视频欧美视频| 成人亚洲欧美一区二区三区| 国产精品永久免费在线| 亚洲理论在线a中文字幕| 国产亚洲精品va在线观看| 精品香蕉一区二区三区| 久久精品最新地址| 欧美视频不卡中文| 欧美性猛交xxxx偷拍洗澡| 亚洲激情久久久| 亚洲人a成www在线影院| 欧美丝袜美女中出在线| 久久国产精品免费视频| 色综合影院在线| 成人久久18免费网站图片| 亚洲高清一区二| 欧美日韩国产二区| 日本高清不卡在线| 国产精品福利在线观看网址| 欧美性猛交xxxx富婆| 亚洲精品日韩激情在线电影| 欧美日韩精品在线播放| 搡老女人一区二区三区视频tv| 91精品国产免费久久久久久| 91国语精品自产拍在线观看性色| 久久精品成人一区二区三区| 亚洲天堂日韩电影| 亚洲精品成a人在线观看| 午夜精品理论片| 日韩精品亚洲精品| 2019国产精品自在线拍国产不卡| 久久五月情影视| 日韩av免费看网站| 日韩av电影手机在线| 奇米四色中文综合久久| 亚洲韩国日本中文字幕| 久久国产精品99国产精| www国产亚洲精品久久网站| 中文字幕日韩欧美| 亚洲色图50p| 九九九久久久久久| 亚洲成人精品在线| 国内精品小视频| 91免费在线视频网站| 欧美黑人一区二区三区| 97超碰蝌蚪网人人做人人爽| 美女精品视频一区| 久久免费精品视频| 久久精品国产一区二区三区| 欧美亚洲视频在线看网址| 久久视频精品在线| 国产精品视频精品| 日韩在线观看免费全集电视剧网站| 欧美电影免费观看网站| 欧美大片大片在线播放| 69**夜色精品国产69乱| 国产在线观看不卡| 亚洲精品视频在线观看视频| 国产成人精品一区二区三区| 狠狠躁天天躁日日躁欧美| 欧美成人黑人xx视频免费观看| 精品中文字幕在线观看| 久久久国产一区| 国产伦精品免费视频| 国产免费成人av| 日韩精品免费在线播放| 久久久久久国产精品久久| 欧美成在线观看| 亚洲午夜未删减在线观看| 青青草原成人在线视频| 亚洲成人av资源网| 国产中文字幕91| 伊人伊成久久人综合网站| 青青草一区二区| 亚洲国产精品大全| www高清在线视频日韩欧美| 欧美成人全部免费| 成人久久精品视频| 日韩电影第一页| 丝袜亚洲欧美日韩综合| 欧美激情图片区| 成人性生交大片免费看视频直播| 国产精品精品久久久久久| 亚洲最大的成人网| 在线观看日韩专区| 美女福利视频一区| 久久久久久有精品国产| 欧美午夜激情视频|