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

首頁 > 編程 > JSP > 正文

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

2024-09-05 00:21:43
字體:
來源:轉載
供稿:網友

以前,我們已經提到,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
    日韩视频亚洲视频| 九九热这里只有精品6| 在线亚洲国产精品网| 欧美日韩福利视频| 日韩在线观看视频免费| 亚洲欧美日韩区| 亚洲精品一二区| 亚洲欧美在线免费观看| 国产精品爽爽ⅴa在线观看| 97精品免费视频| 国产精品网址在线| 高清在线视频日韩欧美| 亚洲视频专区在线| 国产精品视频午夜| 97婷婷涩涩精品一区| 欧美日韩999| 国产精品2018| 国产主播欧美精品| 精品久久久999| 91网站免费观看| 国产成人综合久久| 91免费电影网站| 最新91在线视频| 久久久国产精彩视频美女艺术照福利| 国产精品高清免费在线观看| 日韩精品在线免费观看| 国产精品入口免费视| 欧亚精品在线观看| 亚洲精品二三区| 一区二区日韩精品| 亚洲字幕一区二区| 激情亚洲一区二区三区四区| 欧美人与性动交a欧美精品| 亚洲国产中文字幕在线观看| 亚洲国产女人aaa毛片在线| 日韩电视剧在线观看免费网站| 主播福利视频一区| 欧美在线亚洲在线| 成人免费在线视频网址| 欧美激情精品久久久久久| 麻豆乱码国产一区二区三区| 精品中文字幕在线观看| 国产一区二区三区视频免费| 欧美裸体xxxx极品少妇软件| 在线观看久久久久久| 欧美激情aaaa| 日韩中文字幕在线播放| 亚洲香蕉伊综合在人在线视看| 亚洲欧美日韩天堂一区二区| 国内精品免费午夜毛片| 亚洲色图校园春色| 亚洲已满18点击进入在线看片| 成人乱人伦精品视频在线观看| 在线观看视频99| 日韩高清免费在线| 91影院在线免费观看视频| 97香蕉久久超级碰碰高清版| 亚洲图片欧美午夜| 欧美日本啪啪无遮挡网站| 伊人亚洲福利一区二区三区| 成人亚洲综合色就1024| 91高清视频免费观看| 九九视频这里只有精品| 最近2019好看的中文字幕免费| 亚洲人成网站免费播放| 日韩欧美国产高清91| 欧美性xxxx| 久久免费视频这里只有精品| 韩国精品久久久999| 性金发美女69hd大尺寸| 欧美怡春院一区二区三区| 国产日韩视频在线观看| 在线看福利67194| 欧美精品在线免费| 欧美在线视频播放| 第一福利永久视频精品| 欧美成人在线影院| 成人黄色影片在线| 久久精品美女视频网站| 久久精品电影网| 久久九九亚洲综合| 中文字幕精品在线| 51视频国产精品一区二区| 亚洲男人第一网站| 亚洲欧美日韩第一区| 中文字幕亚洲一区二区三区五十路| 国产精品男女猛烈高潮激情| 久久99精品久久久久久琪琪| 91av免费观看91av精品在线| 97国产精品视频人人做人人爱| 国产精品欧美久久久| 国产视频福利一区| 国产精品偷伦免费视频观看的| 欧美成人免费全部观看天天性色| 日韩av在线网址| 久久综合网hezyo| 国产成人精品999| 日韩电视剧在线观看免费网站| 亚洲国产精久久久久久久| 亚洲www在线观看| 亚洲综合在线中文字幕| 色婷婷成人综合| 奇米影视亚洲狠狠色| 日韩视频在线一区| 久久免费精品视频| 精品国产电影一区| 日韩av中文字幕在线| 国产精品视频999| 日韩高清电影免费观看完整| 久久精品这里热有精品| 欧美巨乳在线观看| 国产91精品在线播放| 久久色免费在线视频| 亚洲色图欧美制服丝袜另类第一页| 亚洲日本中文字幕| 国产精品视频永久免费播放| 日韩理论片久久| 亚洲国产高清福利视频| 欧美精品在线免费播放| 国产精品观看在线亚洲人成网| 黑人巨大精品欧美一区二区免费| 超薄丝袜一区二区| 久久久久久久久久婷婷| 欧美色视频日本高清在线观看| 热久久免费视频精品| 国产精品劲爆视频| 亚洲国产精品va在线看黑人动漫| 亚洲午夜精品久久久久久久久久久久| 久久久噜噜噜久噜久久| 992tv在线成人免费观看| 中文字幕日韩视频| 国产一区二区美女视频| 中文字幕一区二区三区电影| zzijzzij亚洲日本成熟少妇| 成人免费视频在线观看超级碰| 欧美激情亚洲自拍| www国产精品com| 久久久之久亚州精品露出| 久久视频在线观看免费| 98精品国产高清在线xxxx天堂| 日韩中文在线中文网三级| 国内精品久久久久影院优| 欧美在线亚洲一区| 最近的2019中文字幕免费一页| 欧美午夜片欧美片在线观看| 日韩国产精品一区| 亚洲欧洲在线看| 日韩激情视频在线播放| 欧美成人午夜激情视频| 色99之美女主播在线视频| xvideos成人免费中文版| 亚洲欧美日韩精品久久奇米色影视| 最新国产精品拍自在线播放| 国产区精品视频| 久久免费视频在线观看| 欧美黄色片在线观看| 国产欧美中文字幕| 日本一区二区不卡| 福利视频一区二区| 亚洲精品一区av在线播放| 日韩国产精品亚洲а∨天堂免| 九九热这里只有精品免费看| 中文字幕av一区中文字幕天堂| 91在线高清视频|