<p>4.tomcat配置資料來源通過JNDI訪問mysql資料庫</p><p>Cannot create JDBC driver of class '' for connect URL 'null'錯誤</p>
1.添加mysql jdbc驅動至build path,並複製到tomcat目錄/lib下
2.在tomcat目錄/conf/server.xml的<host></host>之間添加
<Context path="/BBS" docBase="BBS" debug="5" reloadable="true" crossContext="true">
<Resource name="jdbc/bbs" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="root" password="0." driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/bbs?autoReconnect=true"/>
</Context>
3.在工程的web-inf/web.xml中的<web-app></web-app>之間添加
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/bbs</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
4.建立測試jsp
<%@ page contentType="text/html;charset=utf-8"%>
<%@ page language="java"%>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>測試</title>
</head>
<body bgcolor="#DAF9FE">
<h1>mysql jndi test</h1>
<hr>
<%
DataSource ds = null;
try {
Context initCtx = new InitialContext();
if (initCtx == null)
throw new Exception("Initial Failed!");
Context ctx = (Context) initCtx.lookup("java:comp/env");
if (ctx != null)
ds = (DataSource) ctx.lookup("jdbc/bbs");
if (ds == null)
throw new Exception("Look up DataSource Failed!");
} catch (Exception e) {
System.out.println(e.getMessage());
}
%>
<%
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from user");
while (rs.next()) {
%>
<%=rs.getInt(1)%>
<%=rs.getString(2)%>
<%
}
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
5.相關錯誤: <1>Cannot create JDBC driver of class '' for connect URL 'null' Tomcat先找到web.xml下的<resource-ref>,然後再找server.xml下面的<Resource>。如果沒有找到<Resource name=”JDBC/TestDB”>,或者名字錯了,則會報“Cannot create JDBC driver of class '' for connect URL 'null'”錯誤。 注意步驟2和3中jdbc/bbs處名稱要相同,3處的url資訊要正確 <2>Cannot load JDBC driver class 'com.mysql.jdbc.Driver' 參加步驟1