999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺談數據庫連接池原理及實現

2014-12-15 02:32:59趙登峰朱洪濤
中國科技縱橫 2014年22期

趙登峰+朱洪濤

【摘 要】 本文探討了數據庫連接池的原理,并給出了一個在Tomcat服務器上配置了數據庫連接池的實例。

【關鍵詞】 數據庫連接池 Jsp Tomcat服務器

1 引言

在實際開發中,特別是在Web應用中,如果JSP使用JDBC直接訪問數據庫中的數據,每一次數據訪問請求都必須經歷建立數據庫連接、打開數據庫、存取數據和關閉數據庫連接等步驟,而連接并打開數據庫是一件既消耗系統內存又耗費時間的工作,而且如果頻繁執行這些數據庫操作,勢必占用很多系統資源,系統的性能必然會急劇下降,甚至會導致系統崩潰。數據庫連接池技術[1]是解決這個問題最常用的方法。

2 數據庫連接池實現原理

為了解決消耗系統資源問題,可以事先先創建一定數量的連接放入連接池中提供給用戶使用,用戶使用完后把連接返回連接池。

2.1 創建連接池

首先要創建一個靜態的連接池。這里的“靜態”是指池中的連接是在系統初始化時就分配好的,并且不隨意關閉。Java提供了很多容器類可用來構建連接池,例如Stack,Vector等。在系統初始化時,根據配置創建連接并放置在連接池中,以后所使用的連接都是從該連接池中獲取的,這樣就可以避免連接隨意建立、關閉造成的系統浪費。

2.2 分配、釋放策略

創建好連接池后,需要提供一套自定義的分配、釋放策略以保證數據庫連接的有效復用。當客戶請求數據庫連接時,首先看連接池中是否有空閑連接,如果存在空閑連接則把連接分配給客戶,并作相應處理;若池中沒有空閑連接,就在已經分配出去的連接中,尋找一個合適的連接給客戶,此時該連接在多個客戶間復用。當客戶釋放數據庫連接時,可以根據該連接是否被復用,進行不同的處理。如果連接沒有使用者,就再重新放入池中,而不是被關閉。

2.3 配置策略

數據庫連接池中到底放多少個連接,連接耗盡后該如何處理,這就是配置策略需要解決的問題。在一般情況下,配置策略[2]在開始時就根據具體的應用需求,給出一個初始的連接池中的數目以及一個連接池可以擴張的最大連接數目。

3 Tomcat中數據連接池的配置實例

以上講述了數據庫連接池的原理,下面給出一個具體的實例來說明如何配置Tomcat服務器的連接池。以SQL Sever 2005數據庫為例。

首先在進行Tomcat連接池配置之前,先將SQL Server 2005數據庫連接驅動程序包sqljdbc.jar放置于Tomcat 5.5安裝目錄下的lib目錄中。然后在Tomcat 5.5安裝目錄下的conf目錄中的context.xml文件的標簽中加入如下代碼。

在項目的/WEB-INF/目錄想的web.xml配置文件中添加數據連接池的引用代碼,具體配置代碼[3]如下:

<!--對數據庫連接池的描述 -->

SQL Server 2005 DataSource

<!--數據庫連接池引用名稱 -->

jdbc/dbpooling

<!--數據庫連接池引用類型 -->

javax.sql.DataSource

Container

這樣,Tomcat服務器上SQL Server 2005數據庫的連接池就被引入到Web應用程序中了。

下面創建測試數據庫連接池的頁面。在項目中創建顯示全部用戶信息的頁面showUser.jsp,其具體代碼如下:

<%@ page language = “java” import =”java.sql.*,javax.sql.*,javax.naming.*” pageEncoding=”GB2312”%>

全部用戶信息

<% try { DataSource ds =null;

InitialContext ctx =new InitialContext();//建立上下文對象

//通過JNDI查找數據連接池 Ds =(DataSource) ctx.lookup(“java:comp/env/jdbc/dbpooling”);

Connection con=ds.getConnection();//獲得數據庫連接對象

//創建PreparedStatement對象

PreparedStatement pst =con.prepareStatement(“select * from [User]”);

ResultSet rs =pst.executeQuery();//獲取結果集

Out.println(“”);

Out.println (“”);

//遍歷顯示結果集中的數據

while (rs.next()) { out.println(“”);

out.println(rs.gerString(3)); out.println(“”);

}

out.println(“

“用戶名” 密碼
”); out.println(rs.gerString(2));

out.println(“

”);

} catch (SQLException e) {

out.println(e);

} %>

將項目部署到Tomcat服務器上,啟動服務器進行訪問,程序通過測試。這里需要說明的是,配置完服務器中的連接池后,必須重新啟動服務器,數據連接池才會有效。

參考文獻:

[1]馬建紅,李占波.JSP應用與開發技術.2011.01

[2]孫更新,等編著. Java Web開發.2011.02

[3]飛思科技產品研發中心,JSP應用開發詳解.北京:電子工業出版社,2005.12,179-198,540-562.

【摘 要】 本文探討了數據庫連接池的原理,并給出了一個在Tomcat服務器上配置了數據庫連接池的實例。

【關鍵詞】 數據庫連接池 Jsp Tomcat服務器

1 引言

在實際開發中,特別是在Web應用中,如果JSP使用JDBC直接訪問數據庫中的數據,每一次數據訪問請求都必須經歷建立數據庫連接、打開數據庫、存取數據和關閉數據庫連接等步驟,而連接并打開數據庫是一件既消耗系統內存又耗費時間的工作,而且如果頻繁執行這些數據庫操作,勢必占用很多系統資源,系統的性能必然會急劇下降,甚至會導致系統崩潰。數據庫連接池技術[1]是解決這個問題最常用的方法。

2 數據庫連接池實現原理

為了解決消耗系統資源問題,可以事先先創建一定數量的連接放入連接池中提供給用戶使用,用戶使用完后把連接返回連接池。

2.1 創建連接池

首先要創建一個靜態的連接池。這里的“靜態”是指池中的連接是在系統初始化時就分配好的,并且不隨意關閉。Java提供了很多容器類可用來構建連接池,例如Stack,Vector等。在系統初始化時,根據配置創建連接并放置在連接池中,以后所使用的連接都是從該連接池中獲取的,這樣就可以避免連接隨意建立、關閉造成的系統浪費。

2.2 分配、釋放策略

創建好連接池后,需要提供一套自定義的分配、釋放策略以保證數據庫連接的有效復用。當客戶請求數據庫連接時,首先看連接池中是否有空閑連接,如果存在空閑連接則把連接分配給客戶,并作相應處理;若池中沒有空閑連接,就在已經分配出去的連接中,尋找一個合適的連接給客戶,此時該連接在多個客戶間復用。當客戶釋放數據庫連接時,可以根據該連接是否被復用,進行不同的處理。如果連接沒有使用者,就再重新放入池中,而不是被關閉。

2.3 配置策略

數據庫連接池中到底放多少個連接,連接耗盡后該如何處理,這就是配置策略需要解決的問題。在一般情況下,配置策略[2]在開始時就根據具體的應用需求,給出一個初始的連接池中的數目以及一個連接池可以擴張的最大連接數目。

3 Tomcat中數據連接池的配置實例

以上講述了數據庫連接池的原理,下面給出一個具體的實例來說明如何配置Tomcat服務器的連接池。以SQL Sever 2005數據庫為例。

首先在進行Tomcat連接池配置之前,先將SQL Server 2005數據庫連接驅動程序包sqljdbc.jar放置于Tomcat 5.5安裝目錄下的lib目錄中。然后在Tomcat 5.5安裝目錄下的conf目錄中的context.xml文件的標簽中加入如下代碼。

在項目的/WEB-INF/目錄想的web.xml配置文件中添加數據連接池的引用代碼,具體配置代碼[3]如下:

<!--對數據庫連接池的描述 -->

SQL Server 2005 DataSource

<!--數據庫連接池引用名稱 -->

jdbc/dbpooling

<!--數據庫連接池引用類型 -->

javax.sql.DataSource

Container

這樣,Tomcat服務器上SQL Server 2005數據庫的連接池就被引入到Web應用程序中了。

下面創建測試數據庫連接池的頁面。在項目中創建顯示全部用戶信息的頁面showUser.jsp,其具體代碼如下:

<%@ page language = “java” import =”java.sql.*,javax.sql.*,javax.naming.*” pageEncoding=”GB2312”%>

全部用戶信息

<% try { DataSource ds =null;

InitialContext ctx =new InitialContext();//建立上下文對象

//通過JNDI查找數據連接池 Ds =(DataSource) ctx.lookup(“java:comp/env/jdbc/dbpooling”);

Connection con=ds.getConnection();//獲得數據庫連接對象

//創建PreparedStatement對象

PreparedStatement pst =con.prepareStatement(“select * from [User]”);

ResultSet rs =pst.executeQuery();//獲取結果集

Out.println(“”);

Out.println (“”);

//遍歷顯示結果集中的數據

while (rs.next()) { out.println(“”);

out.println(rs.gerString(3)); out.println(“”);

}

out.println(“

“用戶名” 密碼
”); out.println(rs.gerString(2));

out.println(“

”);

} catch (SQLException e) {

out.println(e);

} %>

將項目部署到Tomcat服務器上,啟動服務器進行訪問,程序通過測試。這里需要說明的是,配置完服務器中的連接池后,必須重新啟動服務器,數據連接池才會有效。

參考文獻:

[1]馬建紅,李占波.JSP應用與開發技術.2011.01

[2]孫更新,等編著. Java Web開發.2011.02

[3]飛思科技產品研發中心,JSP應用開發詳解.北京:電子工業出版社,2005.12,179-198,540-562.

【摘 要】 本文探討了數據庫連接池的原理,并給出了一個在Tomcat服務器上配置了數據庫連接池的實例。

【關鍵詞】 數據庫連接池 Jsp Tomcat服務器

1 引言

在實際開發中,特別是在Web應用中,如果JSP使用JDBC直接訪問數據庫中的數據,每一次數據訪問請求都必須經歷建立數據庫連接、打開數據庫、存取數據和關閉數據庫連接等步驟,而連接并打開數據庫是一件既消耗系統內存又耗費時間的工作,而且如果頻繁執行這些數據庫操作,勢必占用很多系統資源,系統的性能必然會急劇下降,甚至會導致系統崩潰。數據庫連接池技術[1]是解決這個問題最常用的方法。

2 數據庫連接池實現原理

為了解決消耗系統資源問題,可以事先先創建一定數量的連接放入連接池中提供給用戶使用,用戶使用完后把連接返回連接池。

2.1 創建連接池

首先要創建一個靜態的連接池。這里的“靜態”是指池中的連接是在系統初始化時就分配好的,并且不隨意關閉。Java提供了很多容器類可用來構建連接池,例如Stack,Vector等。在系統初始化時,根據配置創建連接并放置在連接池中,以后所使用的連接都是從該連接池中獲取的,這樣就可以避免連接隨意建立、關閉造成的系統浪費。

2.2 分配、釋放策略

創建好連接池后,需要提供一套自定義的分配、釋放策略以保證數據庫連接的有效復用。當客戶請求數據庫連接時,首先看連接池中是否有空閑連接,如果存在空閑連接則把連接分配給客戶,并作相應處理;若池中沒有空閑連接,就在已經分配出去的連接中,尋找一個合適的連接給客戶,此時該連接在多個客戶間復用。當客戶釋放數據庫連接時,可以根據該連接是否被復用,進行不同的處理。如果連接沒有使用者,就再重新放入池中,而不是被關閉。

2.3 配置策略

數據庫連接池中到底放多少個連接,連接耗盡后該如何處理,這就是配置策略需要解決的問題。在一般情況下,配置策略[2]在開始時就根據具體的應用需求,給出一個初始的連接池中的數目以及一個連接池可以擴張的最大連接數目。

3 Tomcat中數據連接池的配置實例

以上講述了數據庫連接池的原理,下面給出一個具體的實例來說明如何配置Tomcat服務器的連接池。以SQL Sever 2005數據庫為例。

首先在進行Tomcat連接池配置之前,先將SQL Server 2005數據庫連接驅動程序包sqljdbc.jar放置于Tomcat 5.5安裝目錄下的lib目錄中。然后在Tomcat 5.5安裝目錄下的conf目錄中的context.xml文件的標簽中加入如下代碼。

在項目的/WEB-INF/目錄想的web.xml配置文件中添加數據連接池的引用代碼,具體配置代碼[3]如下:

<!--對數據庫連接池的描述 -->

SQL Server 2005 DataSource

<!--數據庫連接池引用名稱 -->

jdbc/dbpooling

<!--數據庫連接池引用類型 -->

javax.sql.DataSource

Container

這樣,Tomcat服務器上SQL Server 2005數據庫的連接池就被引入到Web應用程序中了。

下面創建測試數據庫連接池的頁面。在項目中創建顯示全部用戶信息的頁面showUser.jsp,其具體代碼如下:

<%@ page language = “java” import =”java.sql.*,javax.sql.*,javax.naming.*” pageEncoding=”GB2312”%>

全部用戶信息

<% try { DataSource ds =null;

InitialContext ctx =new InitialContext();//建立上下文對象

//通過JNDI查找數據連接池 Ds =(DataSource) ctx.lookup(“java:comp/env/jdbc/dbpooling”);

Connection con=ds.getConnection();//獲得數據庫連接對象

//創建PreparedStatement對象

PreparedStatement pst =con.prepareStatement(“select * from [User]”);

ResultSet rs =pst.executeQuery();//獲取結果集

Out.println(“”);

Out.println (“”);

//遍歷顯示結果集中的數據

while (rs.next()) { out.println(“”);

out.println(rs.gerString(3)); out.println(“”);

}

out.println(“

“用戶名” 密碼
”); out.println(rs.gerString(2));

out.println(“

”);

} catch (SQLException e) {

out.println(e);

} %>

將項目部署到Tomcat服務器上,啟動服務器進行訪問,程序通過測試。這里需要說明的是,配置完服務器中的連接池后,必須重新啟動服務器,數據連接池才會有效。

參考文獻:

[1]馬建紅,李占波.JSP應用與開發技術.2011.01

[2]孫更新,等編著. Java Web開發.2011.02

[3]飛思科技產品研發中心,JSP應用開發詳解.北京:電子工業出版社,2005.12,179-198,540-562.

主站蜘蛛池模板: 午夜视频免费试看| 亚洲午夜国产精品无卡| 亚洲精品第一在线观看视频| 国模在线视频一区二区三区| 国产一区二区免费播放| 欧美专区在线观看| 亚洲女人在线| 无遮挡一级毛片呦女视频| 麻豆国产在线观看一区二区 | 在线观看免费国产| 亚洲人成网站在线播放2019| 久久精品这里只有精99品| 成人av专区精品无码国产| 免费又黄又爽又猛大片午夜| 欧美亚洲日韩中文| 日韩国产综合精选| 日韩一级二级三级| 91精品久久久无码中文字幕vr| 欧美精品在线视频观看| 日日碰狠狠添天天爽| a在线观看免费| 99福利视频导航| 欧洲高清无码在线| av大片在线无码免费| 有专无码视频| 九色91在线视频| 97综合久久| 综合亚洲色图| 久久精品国产一区二区小说| 久久久波多野结衣av一区二区| 高清色本在线www| 色综合久久88| 六月婷婷综合| 国产精品精品视频| 国产国产人在线成免费视频狼人色| 国产欧美性爱网| 日韩天堂视频| 国产丝袜第一页| 亚洲AV无码久久精品色欲| jizz在线免费播放| lhav亚洲精品| 免费网站成人亚洲| 精品国产成人a在线观看| www.亚洲一区二区三区| 精品国产网| 国产欧美视频在线| 亚洲男人天堂2020| 尤物亚洲最大AV无码网站| 操国产美女| 欧美a网站| 国产v欧美v日韩v综合精品| 亚洲第一成年网| 国产香蕉97碰碰视频VA碰碰看| 欧美α片免费观看| 无码区日韩专区免费系列| 日韩视频福利| 中文字幕亚洲电影| 无码高潮喷水在线观看| 国产乱人伦AV在线A| 永久毛片在线播| 亚洲婷婷丁香| 久久99热这里只有精品免费看| 国产午夜福利亚洲第一| 在线精品自拍| 广东一级毛片| 欧美三级视频在线播放| 国产91成人| 最新国语自产精品视频在| 亚洲成年人网| 婷婷成人综合| 国产国拍精品视频免费看 | 国产免费自拍视频| 国产三级a| 欧美一区日韩一区中文字幕页| 性色一区| 欧美精品在线观看视频| 亚洲中文字幕在线观看| 国产欧美日韩免费| 亚洲人成影院午夜网站| yjizz国产在线视频网| 久久久久久久97| 欧美成人h精品网站|