我想用tomcat設置連接池到mysql數據庫。我簡單的應用程序被稱爲Projekt的,在我的Projekt.xml中的Apache/conf目錄/卡塔利娜/本地主機我有Tomcat和JDBC連接池
<Context docBase="Projekt.war" path="/Projekt">
<Resource name="jdbc/mysqldb"
auth="Container"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/Music"
username="andrzej"
password="qazxsw"
maxActive="20"
maxIdle="30"
maxWait="5"
/>
</Context>
的web.xml我的應用程序的
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>org.jtp.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/Hai</url-pattern>
</servlet-mapping>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/mysqldb</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
和我的Apache/lib文件夾我有
mysql-connector-java-5.1.18-bin.jar
但是當我執行此代碼:
Context initContext = new InitialContext();
dataSource = (DataSource)initContext.lookup("java:comp/env/jdbc/mysqldb");
System.out.println(dataSource.getConnection().createStatement().
execute("select * from Users"));
我得到異常
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
我現在很疑惑,在一些地方,我讀了它可能通過不將駕駛員的tomcat/lib目錄引起的,但我有它和它的作品,因爲當我測試的司機手動連接它的工作。
對於我的設置,我試圖按照 http://people.apache.org/~fhanik/jdbc-pool/jdbc-pool.html
編輯: 終於得到了它的工作,似乎我有一些左的背景標籤在這樣解析時,他重寫其他屬性的文件之一,所以它是我最後的錯。
仍然是同樣的錯誤,我之前使用過這個構造,但是在某處我找到了我引用的那個,無論如何它們都返回相同的錯誤。 – Andna 2012-02-09 14:55:50
聽起來像這個人有同樣的問題,並已發佈解決方案http://blogs.agilefaqs.com/2009/11/23/cannot-create-jdbc-driver-of-class-for-connect-url-null/ – drobson 2012-02-09 15:06:54
還是沒什麼,我可以寫入這個文件夾,我甚至在我的webapp中創建contex.xml,仍然是同樣的錯誤。 – Andna 2012-02-09 15:33:24