问个关于tomcat+mysql配置数据库连接池的问题
我的tomcat 是jakarta-tomcat-4.1.30.tar.gz mysql是4.1.14的,jdk是1.4.2_05-b04
我在server.xml 中配置如下:
<Context path="/536" docBase="F:/536bak/536/web" debug="0" reloadable="true" crossContext="true">
<Resource name="jdbc/536" auth="Container" type="javax.sql.DataSource" />
<ResourceParams name="jdbc/536">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost/linkdatabase?autoReconnect=true</value>
</parameter>
<parameter>
<name>username</name>
<value>11</value>
</parameter>
<parameter>
<name>password</name>
<value>11</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>25200</value>
</parameter>
</ResourceParams>
</Context>
在web.xml中配置如下:
<description>Oracle Datasource example</description>
<res-ref-name>jdbc/536</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
并且在/etc/profile中配置如下
export JAVA_HOME=/usr/java/jdk
export CATALINA_HOME=/usr/tomcat
export CLASSPATH=/usr/java/jdk/lib:/usr/java/jdk/jre/lib:/usr/tomcat/common/lib:/usr/tomcat/common/lib/mysql-connector-java-3.0.16-ga.jar:/usr/tomcat/common/lib/commons-dbcp.jar:/usr/tomcat/common/lib/commons-collections.jar:/usr/tomcat/common/lib/commons-pool.jar
export PATH=$PATH:/usr/java/jdk/bin:/usr/java/jdk/jre/bin:/usr/tomcat/bin:/usr/apache/bin:
LANG=zh_CN; LC_ALL=zh_CN.GBK; export LANG LC_ALL
并且也拷了mysql-connector-java-3.0.16-ga.jar,这几个文件到/tomcat/common/lib下
连接的代码是:
private void getDataSource() {
try {
Context ctx = new InitialContext();
if (ctx == null)
throw new Exception("Boom - No Context");
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/536");
if (ds != null)
conn = ds.getConnection();
}
catch (Exception e) {
System.err.println("getDataSource() error: " + e);
}
}
为什么还报如下错误:
org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null', cause:
java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getDriver(DriverManager.java:243)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:743)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:518)
at web536.db.DBConnect.<init>(DBConnect.java:62)