Tomcat6.0+MyEclipse6.0+mysql5.0数据库连接池配置!

http://gstarwd.iteye.com/blog/542845

Connection conn = ds.getConnection(); 报错 Cannot create JDBC driver of clas

第一种方式:1.把context.xml(这个文件名字不能改)文件建到你的工程根目录下META-INF文件下,这是因为你如果想换别的数据库连接池方式可以修改这个文件就OK了,(低版本的好像的去Tomcat目录下的config文件修改server.xml , 本人认为这样比较死板,这也是因为Tomcat6.0配置更加灵活之处,但是6.0也可以去修改server.xml这个文件,本人觉的用第一种方法比较好,如果想试下,可以自己去看一看配置方式).

<?xml version="1.0" encoding="UTF-8"?>  
<Context path="/studentproject" docBase="studentproject"   
    debug="5" crossContext="true" reloadable="true"   
    cachingAllowed="true" cacheMaxSize="20480"   
    cacheTTL="10000">   
<WatchedResource>WEB-INF/web.xml</WatchedResource>  
<Resource   
  
name="jdbc/test"   
auth="Container"  
type="javax.sql.DataSource"  
driverClassName="com.mysql.jdbc.Driver"  
url="jdbc:mysql://localhost:3306/bbs?autoReconnect=true"  
username="root"  
password="root"  
maxActive="20"  
maxIdle="10"  
maxWait="-1" />  
  
</Context>  

下边解释几个主要属性:
path="/studentproject"; studentproject 这是我的工程名字,这里要写上你自己工程名字;
docBase="studentproject" 同理;
reloadable="true"------>自动加载;
name="jdbc/test"------>数据源的名字其格式不能错jdbc/name,其中test可以自己定
别的不多说了自己看一看应该会明白的.

2.修改你工程目录文件WEB-INF下的web.xml文件(注意是你的工程目录下的).
代码如下:


<?xml version="1.0" encoding="UTF-8"?>  
<web-app version="2.5"   
 xmlns="http://java.sun.com/xml/ns/javaee"   
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
   
<resource-ref>     
<description>DB Connections</description>  
<res-ref-name>jdbc/test</res-ref-name>  
<res-type>javax.sql.DataSource</res-type>  
<res-auth>Container</res-auth>  
</resource-ref>   
  
</web-app>


注意:
<res-ref-name>jdbc/test</res-ref-name>中间的名字一定要和你name="jdbc/test"名字一样;

这样基本的配置算上完成了,但一定要记得把你的MYSQL5.0驱动jar包考到Tomcat6.0 的lib文件下!


下边写个测试代码:


<%@ page language="java"  pageEncoding="UTF-8"%>   
<%@page contentType="text/html; charset=UTF-8"%>   
<%@page import="java.sql.*" %>   
<%@page import="javax.naming.*" %>   
<%@page import="javax.sql.DataSource" %>   
<head>   
<title>Tomcat6.0 JNDI 测试!</title>  
</head>  
    
  <body>   
    This is my JSP page. <br>   
    JNDI配置测试开始 ... <br>   
<%   
try {   
 //初始化 Context 上下文对象;  
    Context ctx = new InitialContext();   
  
    Context envContext = (Context)ctx.lookup("java:/comp/env");   
    DataSource ds = (DataSource)envContext.lookup("jdbc/test"); //查找配置   
    //方法二:   
    //DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mysql");   
  
    Connection conn = ds.getConnection();   
  
      conn.close();   
      out.println("JNDI数据源配置成功了");   
} catch (NamingException e) {   
    e.printStackTrace();   
} catch (SQLException e) {   
    e.printStackTrace();   
}   
%>   
  </body>   
</html>   

搞了一下午终于在这篇博客的方法指导下顺利搞定了。

http://blog.sina.com.cn/s/blog_70d4900f01018k8d.html

上面这篇文章提到tomcat的部署方式造成的错误,我查看了下,的确有可能是这样,但是我照他的方法做了之后,出现了其他错误。

大部分网上的数据池连接方式都是跟上面的新浪博客中提到的配置一样,但是我在本机配置时总是报错执行到Connection conn = ds.getConnection(); 时候报错“Cannot create JDBC driver of class '' for connect URL 'null'”。根据这个错误提示分析,应该是context.xml中配置的信息没有发挥作用造成的,采用最上面的方法后可以成功。估计改变tomcat的server部署方式,部署webapp到tomcat/webapps下的话,采取统一配置context.xml的方法应该好用。有机会再尝试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值