最近我作了數(shù)據(jù)庫jsp的頻繁連接,在此給出數(shù)據(jù)庫連接池的必要性,對于jsp來說一個很好的j2ee服務(wù)器是很必要的,jboos,weblogic都是很好的解決方案。 
一般情況下,在使用開發(fā)基于數(shù)據(jù)庫的web程序時,傳統(tǒng)的模式基本是按以下步驟:
  1. 在主程序(如servlet、beans)中建立數(shù)據(jù)庫連接。 
  2. 進行sql操作,取出數(shù)據(jù)。
  3. 斷開數(shù)據(jù)庫連接。
  使用這種模式開發(fā),存在很多問題。首先,我們要為每一次web請求(例如察看某一篇文章的內(nèi)容)建立一次數(shù)據(jù)庫連接,對于一次或幾次操作來講,或許你覺察不到系統(tǒng)的開銷,但是,對于web程序來講,即使在某一較短的時間段內(nèi),其操作請求數(shù)也遠遠不是一兩次,而是數(shù)十上百次(想想全世界的網(wǎng)友都有可能在您的網(wǎng)頁上查找資料),在這種情況下,系統(tǒng)開銷是相當大的。事實上,在一個基于數(shù)據(jù)庫的web系統(tǒng)中,建立數(shù)據(jù)庫連接的操作將是系統(tǒng)中代價最大的操作之一。很多時候,可能您的網(wǎng)站速度瓶頸就在于此。
  其次,使用傳統(tǒng)的模式,你必須去管理每一個連接,確保他們能被正確關(guān)閉,如果出現(xiàn)程序異常而導(dǎo)致某些連接未能關(guān)閉,將導(dǎo)致數(shù)據(jù)庫系統(tǒng)中的內(nèi)存泄露,最終我們將不得不重啟數(shù)據(jù)庫。
  針對以上問題,我們首先想到可以采用一個全局的connection對象,創(chuàng)建后就不關(guān)閉,以后程序一直使用它,這樣就不存在每次創(chuàng)建、關(guān)閉連接的問題了。但是,同一個連接使用次數(shù)過多,將會導(dǎo)致連接的不穩(wěn)定,進而會導(dǎo)致web server的頻頻重啟。故而,這種方法也不可取。實際上,我們可以使用連接池技術(shù)來解決上述問題。首先,介紹一下連接池技術(shù)的基本原理。顧名思義,連接池最基本的思想就是預(yù)先建立一些連接放置于內(nèi)存對象中以備使用:
 



新聞熱點
疑難解答