tomcat配置数据源通过JNDI访问mysql数据库

 

<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

 

 

 

 

posted @ 2010-04-08 14:31  因是因非  阅读(381)  评论(0编辑  收藏  举报