問題描述:
在頁面裡要連接數據庫進行查詢,將取得的結果顯示在頁面上,在每次查詢後都用close關閉了連接的。平時的顯示正常,在數據庫中可以監視得到,創建了一個連接後,查詢完了後很快就釋放了,但是在一次查詢還沒完時,如果在浏覽器上很快的按F5刷新頁面,數據庫的連接會不停的增加,而原來的連接釋放很慢,很快就把數據庫拖死了。
采用連接池也只能限制總的連接數,如果一個人很快的不停的刷新,數據庫不會死了,但很快一個人就把資源用完了,應用被拖死,
解決辦法:
不要把連結建在BEAN中,應該寫在一個類的靜態方法中,然後作為參數傳過去,使每個調用的人都使用同一靜態連結.
在連結的BEAN中首先看那個靜態的連結是否是null,如果不是,就直接引用,如果是就重新建立這個連結.