Eclipse+Tomcat+MySQL的数据库连接池配置

本文详细介绍了如何在Eclipse3.3.0环境下配置Tomcat5.5.23和MySQL5.0.41进行数据库连接的过程。主要分为四个步骤:拷贝JDBC驱动、配置web.xml、配置server.xml以及编写数据库连接代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用版本为Eclipse3.3.0 Tomcat5.5.23 MySQL5.0.41

第一步:需要把mysql-connector-java-5.0.6-bin.jar这个文件拷贝到$Tomcat_ROOT$/common/lib目录下面

第二步:配置web.xml文件
      如果以前没有配置过数据库,则需要在项目的web.xml中添加代码(可以检查是否有该段代码,没有则要添加)

<resource-ref>
   <description>Test Connection</description>
        <res-ref-name>jdbc/mysql</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
        <res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>

第三步:配置server.xml文件
     在Eclipse中的工作空间(Workspace)中配置的Tomcat服务器下的server.xml文件中的<host>和</host>之间添加代码

<Context path="/iBook" docBase="iBook" debug="0" reloadable="true" crossContext="true" source="org.eclipse.jst.j2ee.server:iBook">
    <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_quality_log." suffix=".txt" timestamp="true"/>
  
    <Resource
       name="jdbc/test"
      type="javax.sql.DataSource"
      password="yingfei"
      driverClassName="com.mysql.jdbc.Driver"
      maxIdle="2"         
      maxWait="5000"      
      username="root"     
      url="jdbc:mysql://localhost:3306/db_iBook"
      maxActive="4"/>   
  
    <ResourceParams name="jdbc/db_iBook">       
     <parameter>
      <name>removeAbandoned</name><!-- Abandoned DB connections are removed and recycled -->
      <value>true</value>
     </parameter>
     <parameter>
      <name>removeAbandonedTimeout</name><!-- Use the removeAbandonedTimeout parameter to set the number of seconds a DB connection has been idle before it is considered abandoned. -->
      <value>60</value>
     </parameter>
     <parameter>
      <name>logAbandoned</name><!-- Log a stack trace of the code which abandoned -->
      <value>false</value>
     </parameter>  
     <parameter>
      <name>factory</name><!--DBCP Basic Datasource Factory -->
      <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
     </parameter>
    </ResourceParams>
   </Context>

第四步:编写获取数据库连接的代码

try {
        Context initCtx=new InitialContext();
       Context ctx=(Context)initCtx.lookup("java:comp/env");
         
       Object obj=ctx.lookup("jdbc/test");
         
       javax.sql.DataSource ds=(javax.sql.DataSource)obj;
       this.conn=ds.getConnection();
}catch(SQLException e) {
    e.printStackTrace();
}catch(NamingException e) {
    e.printStackTrace();
}

这样就可以了。

我曾经碰到的两个问题:

第一个问题:Cannot create JDBC driver of class '' for connect URL 'null'
     这可能是因为上面红色字体的文字没有写成一致,网上有些人server.xml中写成jdbc/mysql,而查找时又写成jdbc/dbname,dbname为数据库名。实际这个是一个名称,可以随便写,但是要保证两边一致。

第二个问题:Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
    这可能是因为上面的第一个步骤没有做,导致Tomcat找不到驱动程序。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值