成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MySQL連接池與Tomcat相關(guān)問(wèn)題解答

數(shù)據(jù)庫(kù) MySQL
我們今天主要講述的是Tomcat和MySQL連接池的相關(guān)問(wèn)題的詳細(xì)解答,如果你對(duì)其實(shí)際相關(guān)解答有所疑問(wèn)的話(huà),你就可以借鑒以下的文章。

以下的文章主要 講述的是關(guān)于tomcat(一個(gè)十分好用的JSP運(yùn)行平臺(tái))和MySQL連接池相關(guān)問(wèn)題的詳細(xì)解析詳,我前兩天在一個(gè)信譽(yù)度很好的網(wǎng)站看見(jiàn)的資料,覺(jué)得挺好,就拿出來(lái)供大家分享。

研究了一天,終于有所收獲,希望對(duì)大家有所幫助。首先請(qǐng)大家注意:這里尤其討論tomcat(一個(gè)很好用的JSP運(yùn)行平臺(tái))5.5版本中遇到的問(wèn)題,為什么尤其單對(duì)這個(gè)版本,我一會(huì)兒便加以說(shuō)明。

問(wèn)題一:Cannot create JDBC driver of class '' for connect URL 'null'

答:

 

[原因分析]

 

很多朋友在配置好$tomcat(一個(gè)很好用的JSP運(yùn)行平臺(tái))/conf/server.xml(標(biāo)準(zhǔn)化越來(lái)越近了)、$tomcat(一個(gè)很好用的JSP運(yùn)行平臺(tái))/conf/context.xml(標(biāo)準(zhǔn)化越來(lái)越近了)、甚至WEB-INF/web.xml(標(biāo)準(zhǔn)化越來(lái)越近了)后發(fā)現(xiàn)調(diào)用MySQL連接池便會(huì)出現(xiàn)以上錯(cuò)誤。分析錯(cuò)誤原因,一般是因?yàn)榇蠹覜](méi)有邦定數(shù)據(jù)源(實(shí)際錯(cuò)誤原因是因?yàn)閐riverClassName、url的設(shè)置為空,但大家肯定不會(huì)忘記設(shè)置這個(gè)地方,所以肯定是大家設(shè)置完了沒(méi)有進(jìn)行連接!)。通常大家配置數(shù)據(jù)源有兩種方式(在$tomcat(一個(gè)很好用的JSP運(yùn)行平臺(tái))/conf/context.xml(標(biāo)準(zhǔn)化越來(lái)越近了)的設(shè)置方法就不單算了),一種是在$tomcat(一個(gè)很好用的JSP運(yùn)行平臺(tái))/conf/server.xml(標(biāo)準(zhǔn)化越來(lái)越近了)的</GlobalNamingResources>前添加如下代碼:

 

設(shè)置方法一:

 

<Resource

 

name="jdbc/test" //數(shù)據(jù)源名稱(chēng)

 

type="javax.sql.DataSource"

 

driverClassName="com.MySQL(和PHP搭配之最佳組合).jdbc.Driver" //這就是我剛才提到的driverClassName的設(shè)置

 

password="admin" //數(shù)據(jù)庫(kù)密碼

 

maxIdle="2"

 

maxWait="5000"

 

username="root" //數(shù)據(jù)庫(kù)用戶(hù)名

 

url="jdbc:MySQL(和PHP搭配之最佳組合)://localhost:3306/test?autoReconnect=true" //數(shù)據(jù)庫(kù)URL,就是剛才提到的url

 

maxActive="4"/>

 

除了有注釋的地方外,都是設(shè)置連接數(shù)目、閑置狀況和活動(dòng)狀況的參數(shù),如果你僅是做學(xué)習(xí)試驗(yàn),可以不必更改。MySQL連接池這種方法配制后的效果等同于在tomcat(一個(gè)很好用的JSP運(yùn)行平臺(tái))圖形界面中配置操作。

另一種發(fā)法是在$tomcat(一個(gè)很好用的JSP運(yùn)行平臺(tái))/conf/server.xml(標(biāo)準(zhǔn)化越來(lái)越近了)的<Context ...></Context>中加入如下代碼:

 

設(shè)置方法二:

 

 

  1. <Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource"/> 
  2. <ResourceParams name="jdbc/test"> 
  3. <parameter> 
  4. <name>factory</name> 
  5. <value>org.apache(Unix平臺(tái)最流行的WEB服務(wù)器平臺(tái)).commons.dbcp.BasicDataSourceFactory</value> 
  6. </parameter> 
  7. <parameter> 
  8. <name>username</name> 
  9. <value>root</value> 
  10. </parameter> 
  11. <parameter> 
  12. <name>password</name> 
  13. <value>admin</value> 
  14. </parameter> 
  15. <parameter> 
  16. <name>driverClassName</name> 
  17. <value>com.MySQL(和PHP搭配之最佳組合).jdbc.Driver</value> 
  18. </parameter> 
  19. <parameter> 
  20. <name>url</name> 
  21. <value>jdbc:MySQL(和PHP搭配之最佳組合)://localhost:3306/test?autoReconnect=true</value> 
  22. </parameter> 
  23. <parameter> 
  24. <name>initialSize</name> 
  25. <value>20</value> 
  26. </parameter> 
  27. <parameter> 
  28. <name>maxActive</name> 
  29. <value>30</value> 
  30. </parameter> 
  31. <parameter> 
  32. <name>maxWait</name> 
  33. <value>10000</value> 
  34. </parameter> 
  35. </ResourceParams> 

這樣設(shè)置的通常目的是想讓數(shù)據(jù)源在一個(gè)單獨(dú)的映射目錄中實(shí)現(xiàn),也就是通常這段代碼出現(xiàn)在<Context docBase="具體目錄(如D:\webapps\myjsp(SUN企業(yè)級(jí)應(yīng)用的首選))" path="訪問(wèn)名稱(chēng)(如/myjsp(SUN企業(yè)級(jí)應(yīng)用的首選))" reloadable="true"></Context>,這樣就可以通過(guò)訪問(wèn)http://localhost:8080/myjsp(SUN企業(yè)級(jí)應(yīng)用的首選)/XXX.jsp(SUN企業(yè)級(jí)應(yīng)用的首選)來(lái)訪問(wèn)D:\webapps\myjsp(SUN企業(yè)級(jí)應(yīng)用的首選)中的某個(gè)jsp(SUN企業(yè)級(jí)應(yīng)用的首選)頁(yè)面進(jìn)而調(diào)取數(shù)據(jù)源或進(jìn)行其它操作調(diào)取數(shù)據(jù)源。

問(wèn)題是,無(wú)論哪種方法,大家都沒(méi)有進(jìn)行連接!如果不進(jìn)行ResourceLink,也免或者bean等無(wú)法找到你設(shè)置的代碼,又怎么找到driverClassName和url呢?實(shí)際上任何一個(gè)參數(shù)設(shè)置都不會(huì)被找到的!

[解決方法]

知道了原因,解決也就方便了。無(wú)論你是使用哪種方法。

 

解決方法一:

 

如果想在某個(gè)映射目錄內(nèi)實(shí)現(xiàn)ResourceLink,就在<Context ...></Context>中間添加<ResourceLink global="數(shù)據(jù)源名稱(chēng)" name="映射后的名稱(chēng)" type="javax.sql.DataSource"/>,注意如果你不了解代碼關(guān)聯(lián)關(guān)系,一定緊緊貼在<Context ...>后寫(xiě)就好。

 

解決方法二:

 

如果想變成全局性的,在所有映射目錄中均可以使用,就干脆寫(xiě)在$tomcat(一個(gè)很好用的JSP運(yùn)行平臺(tái))/conf/context.xml(標(biāo)準(zhǔn)化越來(lái)越近了)中,萬(wàn)事OK了。

 

一般大家把“數(shù)據(jù)源名稱(chēng)”和“映射后的名稱(chēng)”設(shè)置成同一個(gè),例如我是這樣設(shè)置的<ResourceLink global="jdbc/test" name="jdbc/test" type="javax.sql.DataSource"/>。

 

另外必須說(shuō)明,在tomcat(一個(gè)很好用的JSP運(yùn)行平臺(tái))5.5中,如果你像上面第二種設(shè)置方法,即使加上ResourceLink,也會(huì)遇到不能正常運(yùn)行的問(wèn)題。

問(wèn)題二:javax.naming.NameNotFoundException: Name XXX is not bound in this Context

答:

 

[原因分析]

 

tomcat(一個(gè)很好用的JSP運(yùn)行平臺(tái))5.5中,在<Context ...><Context>中設(shè)置數(shù)據(jù)源不能正常運(yùn)行,我看過(guò)一位外國(guó)人寫(xiě)的帖子,我英語(yǔ)水平不高,不過(guò)剛好能看懂。他說(shuō)這是因?yàn)楸容^高的版本中(應(yīng)該是說(shuō)tomcat(一個(gè)很好用的JSP運(yùn)行平臺(tái))和dbcp),factory的值由org.apache(Unix平臺(tái)最流行的WEB服務(wù)器平臺(tái)).commons.dbcp.BasicDataSourceFactory改為了org.apache(Unix平臺(tái)最流行的WEB服務(wù)器平臺(tái)).tomcat(一個(gè)很好用的JSP運(yùn)行平臺(tái)).dbcp.dbcp.BasicDataSourceFactory。

但是我進(jìn)行過(guò)嘗試,并不能解決問(wèn)題。而且我發(fā)現(xiàn)tomcat(一個(gè)很好用的JSP運(yùn)行平臺(tái))5.5標(biāo)準(zhǔn)版本自帶dbcp,就在$tomcat(一個(gè)很好用的JSP運(yùn)行平臺(tái))\common\lib中。我看過(guò)另一個(gè)網(wǎng)友的解說(shuō),他說(shuō)用第二種設(shè)置方法是不行的。這說(shuō)明第二種設(shè)置方法只適用以前版本,現(xiàn)在的版本我不知道要在哪部分做更改,但錯(cuò)誤原因是想一起那么設(shè)置,服務(wù)器找不到“數(shù)據(jù)源名稱(chēng)”對(duì)應(yīng)的數(shù)據(jù)源。

 

[解決方法]

 

知道原因就可以解決了,看來(lái)只有把數(shù)據(jù)源聲明在<GlobalNamingResources>中才能起作用。所以大家就按照第一種設(shè)置方法設(shè)置tomcat(一個(gè)很好用的JSP運(yùn)行平臺(tái))5.5(這就是我為什么尤其講tomcat(一個(gè)很好用的JSP運(yùn)行平臺(tái))5.5)就可以了。

 

問(wèn)題三:Cannot load JDBC driver class 'com.MySQL(和PHP搭配之最佳組合).jdbc.Driver'

答:

 

[原因分析]

 

不光對(duì)于MySQL(和PHP搭配之最佳組合),對(duì)于別的數(shù)據(jù)庫(kù),只要找不到,就會(huì)拋出這個(gè)錯(cuò)誤"Cannot load JDBC driver class",那么為什么會(huì)找不到數(shù)據(jù)庫(kù)驅(qū)動(dòng)類(lèi)呢?如何才能找到呢?其實(shí)很簡(jiǎn)單。

 

[解決方法]

 

只要把jdbc拷貝到$tomcat(一個(gè)很好用的JSP運(yùn)行平臺(tái))\common\lib中就可以了。

 

問(wèn)題四:Cannot get a connection, pool exhausted

[原因分析]

 

很簡(jiǎn)單,不能建立連接,MySQL連接池溢出,這說(shuō)明你的連接資源都浪費(fèi)了,原因是你沒(méi)有及時(shí)回收它們。

 

[解決方法]

 

及時(shí)并正確使用close()方法釋放ResultSet、Statement、Connection,具體語(yǔ)句我就不說(shuō)了,推薦在finally中寫(xiě)。

 

總結(jié):所以,如果你想用tomcat(一個(gè)很好用的JSP運(yùn)行平臺(tái))5.5建立一個(gè)數(shù)據(jù)源MySQL連接池,只要三步。

第一:設(shè)置數(shù)據(jù)源,推薦用圖形操作界面,如果手動(dòng)就在$tomcat(一個(gè)很好用的JSP運(yùn)行平臺(tái))/conf/server.xml(標(biāo)準(zhǔn)化越來(lái)越近了)中</GlobalNamingResources>前添加如下代碼:

  1. <Resource 
  2. name="jdbc/test" //數(shù)據(jù)源名稱(chēng)  
  3. type="javax.sql.DataSource" 
  4. driverClassName="com.MySQL(和PHP搭配之最佳組合).jdbc.Driver" //這就是我剛才提到的driverClassName的設(shè)置  
  5. password="admin" //數(shù)據(jù)庫(kù)密碼  
  6. maxIdle="2" 
  7. maxWait="5000" 
  8. username="root" //數(shù)據(jù)庫(kù)用戶(hù)名  
  9. url="jdbc:MySQL(和PHP搭配之最佳組合)://localhost:3306/test?autoReconnect=true" //數(shù)據(jù)庫(kù)URL,就是剛才提到的url  
  10. maxActive="4"/> 

注釋參數(shù)記得更改成自己的。

第二:設(shè)置Resource連接。推薦在$tomcat(一個(gè)很好用的JSP運(yùn)行平臺(tái))/conf/context.xml(標(biāo)準(zhǔn)化越來(lái)越近了)中寫(xiě)入<ResourceLink global="數(shù)據(jù)源名稱(chēng)" name="映射后的名稱(chēng)" type="javax.sql.DataSource"/>,如果想就在某個(gè)單獨(dú)映射目錄實(shí)現(xiàn),就在$tomcat(一個(gè)很好用的JSP運(yùn)行平臺(tái))/conf/server.xml(標(biāo)準(zhǔn)化越來(lái)越近了)中需要映射的目錄中的<Context ...>后寫(xiě)入。

第三:將JDBC拷貝到$tomcat(一個(gè)很好用的JSP運(yùn)行平臺(tái))\common\lib中

另外,我在這里不詳細(xì)說(shuō)明如何調(diào)用數(shù)據(jù)源,這個(gè)問(wèn)題比較簡(jiǎn)單,但要注意,DataSource ds=(DataSource)envCtx.lookup("引用數(shù)據(jù)源");語(yǔ)句中"引用數(shù)據(jù)源"只的是"映射后的名稱(chēng)",不是"數(shù)據(jù)源名稱(chēng)",所以我建議大家方便起見(jiàn)把兩個(gè)名字設(shè)成同一個(gè)。而且特別要注意及時(shí)釋放閑置資源,不然MySQL連接池就會(huì)溢出!

以上是我今天研究的一些成果,我還是個(gè)初學(xué)者,希望這篇文章對(duì)大家有所幫助。有什么問(wèn)題可以聯(lián)系我,我的郵箱是:lk_l@sina.com(愛(ài)看霓虹燈的人)。本文為neonlight.bokee.com(CSDN_MathMagician)原創(chuàng),

【編輯推薦】

  1. MySQL啟動(dòng)方法與實(shí)際操作步驟
  2. 安裝在MySQL4.1的453h出現(xiàn)問(wèn)題的解決
  3. MySQL高效分頁(yè)查詢(xún)的實(shí)際操作步驟
  4. MySQL5 master slave安裝配置全過(guò)程
  5. 如何通用存儲(chǔ)過(guò)程來(lái)對(duì)MySQL分頁(yè)查詢(xún)進(jìn)行操作

 

責(zé)任編輯:佚名 來(lái)源: 博客園
相關(guān)推薦

2010-06-12 13:04:03

MySQL連接池

2011-05-10 14:14:10

OSPF路由

2010-10-09 17:19:50

mysql存儲(chǔ)過(guò)程

2011-05-10 14:32:19

OSPF路由

2009-12-03 18:09:51

Visual Stud

2009-12-24 18:03:35

WPF線程渲染

2011-06-01 13:54:10

MySQL

2009-06-30 16:12:24

Tomcat 4.0和JSP

2009-10-27 11:10:56

linux問(wèn)題解答

2009-12-25 10:59:08

WPF Timer

2009-10-13 14:56:00

CCNA培訓(xùn)

2010-07-26 13:05:44

Perl子程序參數(shù)

2011-07-13 17:57:15

SQLite

2011-08-09 15:10:00

SQLite

2010-09-13 14:43:47

無(wú)線技術(shù)常見(jiàn)問(wèn)題

2023-10-10 08:01:13

2011-10-20 09:57:58

AS400 FTPFTP

2011-01-11 15:12:46

Linux沖突停滯

2009-07-31 12:16:58

linux無(wú)盤(pán)系統(tǒng)

2011-08-03 13:25:19

布線系統(tǒng)規(guī)劃
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 成人欧美一区二区三区视频xxx | 成人在线中文字幕 | 激情视频中文字幕 | 欧美啊v在线观看 | 亚洲一区二区中文字幕在线观看 | 亚洲欧美日韩一区二区 | 午夜电影一区二区 | 亚洲免费一区二区 | 黑人一级片视频 | 亚洲一区国产精品 | 在线免费观看毛片 | 91在线精品秘密一区二区 | 国产精品99久久久久久动医院 | 日韩高清一区二区 | 中文字幕动漫成人 | 成人精品在线视频 | 在线视频成人 | 久久精品色欧美aⅴ一区二区 | 婷婷开心激情综合五月天 | 日本理论片好看理论片 | 日本精品一区二区在线观看 | 成人毛片一区二区三区 | 国产免费麻豆视频 | 国产精品精品久久久 | 99精品99久久久久久宅男 | 久久高清免费视频 | 国产精品视频网 | 欧美成人第一页 | 国产高清一区二区三区 | 黄色精品 | 中文字幕成人 | 国产 欧美 日韩 一区 | 麻豆毛片 | 免费在线观看一区二区 | 美女人人操| 一区二区三区四区在线播放 | 在线视频亚洲 | 在线观看国产视频 | 精品成人| 欧产日产国产精品视频 | 亚洲视频欧美视频 |