top
Loading...
Servlet中jdbc應用高級篇(二)

一個動態的網站頻繁地從數據庫中取得數據來構成html頁面。每一次請求一個頁面都會發生數據庫操作。但連接數據庫卻是一個需要消耗大量時間的工作,因為請求連接需要建立通訊,分配資源,進行權限認證。這些工作很少能在一兩秒內完成。所以,建立一個連接,然后再后續的查詢中都使用此連接會大大地提高性能。因為servlet可以在不同的請求間保持狀態,因此采用數據庫連接池是一個直接的解決方案。

Servlet在服務器的進程空間中駐留,可以方便而持久地維護數據庫連接。接下來,我們介紹一個完整的連接池的實現。在實現中,有一個連接池管理器管理連接池對象,其中每一個連接池保持一組數據庫連接對象,這些對象可為任何servlet所使用。

一、數據庫連接池類 DBConnectionPool,提供如下的方法:

1、從池中取得一個打開的連接;

2、將一個連接返回池中;

3、在關閉時釋放所有的資源,并關閉所有的連接。

另外,DBConnectionPool還處理連接失敗,比如超時,通訊失敗等錯誤,并且根據預定義的參數限制池中的連接數。

二、管理者類,DBConnetionManager,是一個容器將連接池封裝在內,并管理所有的連接池。它的方法有

1、 調用和注冊所有的jdbc驅動程序;

2、 根據參數表創建DBConnectionPool對象;

3、 映射連接池的名字和DBConnectionPool實例;

4、 當所有的連接客戶退出后,關閉全部連接池。

這些類的實現,以及如何在servlet中使用連接池的應用在隨后的文章中講解
作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗