您的位置:首页 > 运维架构 > Tomcat

Tomcat 6连接池配置

2013-11-22 15:43 351 查看
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例:

<?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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: