关于Tomcat 5 连接池配置,原来如此
因为不想去公司加班,所以就把要做的demo项目拿回家里做了,装好SQLSERVER2005,导入工程,用公司已有的连接池配置xml文件改改准备开工,没想到Tomcat启动的时候居然报错:
?
Cannot create JDBC driver of class '' for connect URL 'null'
?
xml配置文件在公司用的好好的啊,在网上找解决办法,有说要改server.xml的,有说要改在web.xml里面加引用的,还有说要在 META-INF 文件夹下建 context.xml 的,都试了一遍,还是报同样的错误。后来按一篇文章说的,在Tomcat的Admin页面里配了数据源,然后修改server.xml,在localhost文件夹下按文章给的范例加工程的xml文件,还在web.xml里加引用,启动Tomcat,居然成了。仔细核对,发现范例的localhost文件夹下的xml和公司用的xml不一样:
公司的:
<Context docBase="Y:\MyEclipse 6.6\workspace\aaaaaaa\docroot" path="/aaaaaaa" reloadable="false"><Resource name="com.xxxxxx" auth="Container" type="javax.sql.DataSource"/> <ResourceParams name="com.xxxxxx"> <parameter> <name>username</name> <value>sa</value> </parameter> <parameter> <name>password</name> <value>aaaa</value> </parameter> <parameter> <name>driverClassName</name> <value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value> </parameter> <parameter> <name>url</name> <value>jdbc:sqlserver://127.0.0.1:1433;DatabaseName=bbbbb;SelectMethod=cursor</value> </parameter> </ResourceParams></Context>
?范例的:
<?xml version="1.0" encoding="UTF-8"?><Context docBase="Y:\MyEclipse 6.6\workspace\aaaaaaa\docroot" path="/aaaaaaa" reloadable="false"> <Resource name="com.xxxxxx" type="javax.sql.DataSource" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=bbbbb;SelectMethod=cursor" password="aaaa" username="sa"/> </Context>
?不同之处在于公司的数据源的配置属性写在<ResourceParams>里,范例是直接作为 <Resource>的属性。
?
然后又试着把server.xml文件中<GlobalNamingResources>里的数据源配置删掉,web.xml中的数据源引用删掉,META-INF里的context.xml也删掉,因为公司的环境里就没这些东西,重启Tomcat,居然也能正常使用。看来数据源只需要在localhost下建立工程对应的xml文件就行了,但得注意要把数据源属性写在Resource元素里。
?
不知道为啥公司的xml文件在家又用不了,有可能是那个地方没配置对吧,而且现在的方法可能也不规范,先不管了,能在家里跑起来就行:)