Tomcat6配置数据源:Cannot create JDBC driver of class '' for connect URL 'null'解决方案

在使用Eclipse+Lomboz+Tomcat6开发 Java Web的时候,如果要访问如mysql 数据库,可以使用tomcat自带的数据源缓冲池。方法如下:

1、在使用mysql数据库的时候,如同使用jdbc连接数据库一样,mysql的驱动jar包是一定需要的,可以放在tomcat安装目录的lib目录下,必要的话,还要想设置java的jdk一样,设置环境变量,是CATALINA =tomcat的安装目录。将mysql的jar包放在%CATALINA_HOME%/lib的目录下;

2、配置tomcat/conf/server.xml文件,

<GlobalNamingResources>
    <!-- Editable user database that can also be used by
         UserDatabaseRealm to authenticate users
    -->
    <Resource name="UserDatabase"
      auth="Container"
      type="org.apache.catalina.UserDatabase"
       description="User database that can be updated and saved"
       factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
       pathname="conf/tomcat-users.xml" />
      
   
<Resource name="jdbc/mysqls"
     type="javax.sql.DataSource"
     password="zhou"
     driverClassName="com.mysql.jdbc.Driver"
     maxIdle="30"
     maxWait="10000"
     username="root"
     url="jdbc:mysql://localhost:3306/dbdemo"
     maxActive="100"/>
     
  </GlobalNamingResources>

<ContextdocBase="guestbook" path="/guestbook5"reloadable="true"source="org.eclipse.jst.jee.server:guestbook">

      <ResourceLink

              name="jdbc/mysqls"

              type="javax.sql.DataSource"

              global="jdbc/mysqls"/>

</Context>

其中红色是新加入的。

并且最好是将该server.xml文件拷贝一份放在\conf\Catalina\localhost目录下,很关键,我就是因为这一步没弄,耽误了很多时间。

 

3、在当前项目中,找到web.xml文件,添加

 <resource-ref>
    <res-ref-name>jdbc/mysqls</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref>

 

4、附上检验代码:

1<%@ page language="java"import="java.util.*" pageEncoding="UTF-8"%>
2<%@ pageimport="java.sql.*,javax.sql.*,javax.naming.*"%>
3
4<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN">

5<html>
6   <head>
7       <title>My JSP'index.jsp' starting page</title>
8   </head>
9
10   <body>

11           <%
12                Context initCtx=null;
13               final String JNDINAME= "java:comp/env/jdbc/MySQL";//java:comp/env/是固定的,jdbc/MySQL则是我们配置的JNDI名称

14                Connection conn=null;
15               try
{
16                    initCtx=new
InitialContext();
17                    DataSource ds=
(DataSource) initCtx.lookup(JNDINAME);
18                    conn=
ds.getConnection();
19                    out.println("数据连接为:"+
conn);
20                }
catch (NamingException e){
21
                    e.printStackTrace();
22                }
catch (SQLException e){
23
                    e.printStackTrace();
24                }
finally{
25                   if (conn != null)
{
26                       try
{
27
                            conn.close();
28                        }
catch (SQLException e){
29
                            e.printStackTrace();
30                        }

31                    }

32                }

33           %>
34       <br>
35   </body>
36</html>
37若成功,则输出:

数据连接为:jdbc:mysql://localhost:3306/test?autoReconnect=true, UserName=root@localhost, MySQL-AB JDBC Driver

 

 

 

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值