Tomcat 6,配置了连接池,可是运行总是报HTTP Status 500 - javax.servlet.ServletException: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'的错误,检查URL没有错啊!
上网查了下,Tomcat 6的配置和以前的不同了,不推荐在server.xml中进行配置,而是在context.xml中进行配置才是更好的方法。是站点目录下的context.xml文件,不是tomcat_home\conf下的。tomcat_home\webapps\yourApp\META-INF\context.xml,我的网站目录中没有context.xml,于是创建一个,这样可以在不同的网站下单独配置连接池了,并且不需要重启Tomcat,Tomcat会自动重载。
运行环境:MyEclipse 6.5
context.xml例:
在此种配置连接池后,然后试着删除context.xml给配置文件,同时清除了Tomcat目录下的work目录中的内容,然后从新运行了一下,神奇的是还可以正常运行??
造成以上的原因是:此种配置方法,MyEclipse部署后会自动在 apache-tomcat-6.0.37\conf\Catalina\localhost目录下将以上的conext.xml文件拷贝到其中并以项目的Web Context-root名重命名,所以删除了context.xml文件后还可以正常运行。同时值得注意的是在MyEclipse修改context.xml文件应用程序不会再重新把apache-tomcat-6.0.37\conf\Catalina\localhost目录下的文件做相应的修改,即修改无效。(不知道这是不是MyEclipse 6.5的问题,也不知道其他版本的MyEclipse是不是也出现这样的问题)
还可以使用全局配置方式
第一步:配置tomcat下的conf下的context.xml文件,在之间添加连接池如下:
Xml代码
第二步:配置你的应用下的web.xml中的之间加入:
上网查了下,Tomcat 6的配置和以前的不同了,不推荐在server.xml中进行配置,而是在context.xml中进行配置才是更好的方法。是站点目录下的context.xml文件,不是tomcat_home\conf下的。tomcat_home\webapps\yourApp\META-INF\context.xml,我的网站目录中没有context.xml,于是创建一个,这样可以在不同的网站下单独配置连接池了,并且不需要重启Tomcat,Tomcat会自动重载。
运行环境:MyEclipse 6.5
context.xml例:
<?xml version="1.0" encoding="UTF-8"?>
<Context reloadable="true" crossContext="true"><!-- Default set of monitored resources --><WatchedResource>WEB-INF/web.xml</WatchedResource><!-- Uncomment this to disable session persistence across Tomcat restarts --><!--<Manager pathname="" />--><Resource name="jdbc/ConnectionPool"
auth="Container"
type="javax.sql.DataSource"
maxActive="20"
maxIdle="5"
maxWait="10000"
username="sa"
password="admin"
url="jdbc:sqlserver://localhost:1433;DatabaseName=db_net"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>
</Context>
在此种配置连接池后,然后试着删除context.xml给配置文件,同时清除了Tomcat目录下的work目录中的内容,然后从新运行了一下,神奇的是还可以正常运行??
造成以上的原因是:此种配置方法,MyEclipse部署后会自动在 apache-tomcat-6.0.37\conf\Catalina\localhost目录下将以上的conext.xml文件拷贝到其中并以项目的Web Context-root名重命名,所以删除了context.xml文件后还可以正常运行。同时值得注意的是在MyEclipse修改context.xml文件应用程序不会再重新把apache-tomcat-6.0.37\conf\Catalina\localhost目录下的文件做相应的修改,即修改无效。(不知道这是不是MyEclipse 6.5的问题,也不知道其他版本的MyEclipse是不是也出现这样的问题)
还可以使用全局配置方式
第一步:配置tomcat下的conf下的context.xml文件,在之间添加连接池如下:
Xml代码
<Resource name="jdbc/ConnectionPool"
auth="Container"
type="javax.sql.DataSource"
maxActive="20"
maxIdle="5"
maxWait="10000"
username="sa"
password="admin"
url="jdbc:sqlserver://localhost:1433;DatabaseName=db_net"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>
</Context>
第二步:配置你的应用下的web.xml中的之间加入:
<resource-ref><description>SQL server text app</description><res-ref-name>jdbc/ConnectionPool</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth></resource-ref>