昨天配置了一下tomcat 6的数据源,是这样设置Tomcat 的server.xml的:
<Context path="/aa" docBase="D:\aa\WebRoot" reloadable="true" crossContext="true">
<Resource name="jdbc/aa"
auth="Container"
type="javax.sql.DataSource"
maxActive="20"
maxIdle="30"
maxWait="10000"
username="root"
password="1314"
drivername="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/aa"
/>
</Context>
同时,在web.xml中,是这样配置的:
<resource-ref>
<res-ref-name>jdbc/aa</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
因为以前曾配置过数据源,所以这样编写完两个文件后,马上就编写了一个测试页面。测试页面test.jsp代码如下:
<body>
<%
Context ctx = new InitialContext();
DataSource ds = (DataSource)
ctx.lookup("java:comp/env/jdbc/aa");
Connection conn = ds.getConnection();
%>
<%=conn.toString()%>
</body>
然后,开启Tomcat,在浏览器中访问测试页面test.jsp,却得到了不想看到的异常:
org.apache.tomcat.dbcp.dbcp.SQLNestedException:
Cannot create JDBC driver of class '' for connect URL 'jdbc:mysql://localhost:3306/aa'
这就奇怪了!我折腾来折腾去,老是没发现问题。
没办法,只得去查查Tomcat帮助文档,看了上面的示例后,再看看自己写的配置文件,才发现自己又犯了“低级错误”!
将server.xml中的Resource元素中的drivername属性改成正确的形式driverClassName,OK了!
所以,以后再犯这种错误的话,一定要好好检讨自己!o(∩_∩)o...