tomcat 6.0 mysql 连接池

今天下午一直在配置tomcat6.0数据库连接池,从网上找了些资料,但都不是很完全,在综合了数份资料后,还是成功了,呵呵,现在把它写在这里:

1. 首先,修改conf/server.xml文件:在<host>目录下添加红色背景的代码

     <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">

   
       <Context path="/jdbctest" docbase="jdbctest" debug="5" reloadable="true"           crossContext="true">
         <Resource name="jdbc/userdb"
        auth="Container"
        type="javax.sql.DataSource"
        maxActive="100"
        maxIdle="30"
        maxWait="10000"
       username="root"
       password="root"
       driverClassName="com.mysql.jdbc.Driver"
       url="jdbc:mysql://localhost:3306/userdb"
      />
    </Context>
 </Host>

注意:1.path=""为工程路径。2. <Resource name=""...>name为jndi目录名(大小写敏感),userdb是数据库名。

2. 然后,在相同目录下的web.xml文件<web-app>下添加如下代码:

 

    <ResourceLink name="jdbc/userdb" global="jdbc/userdb" type="javax.sql.DataSource"/>

 

    或者:在项目下的web.xml文件添加如下代码:

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

 

3. 要测试的java代码: 

   package dongqu;

import javax.naming.*;
import javax.sql.*;
import java.sql.*;

public class DBTest {
     String username = "";
     int userid;
 
     public DBTest(){
         try{
             Context ctx = new InitialContext();
             System.out.println(ctx.toString()+"nnnnnnnnnnnnn");   
             if(ctx == null){
                  throw new Exception("No contest created");
             }
             DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/userdb");
             System.out.println(ds.toString()+"ddddddddddddd"); 
             if(ds != null){
                 Connection conn = ds.getConnection();
                 if(conn != null){    
                     Statement stmt = conn.createStatement();
                     ResultSet rs = stmt.executeQuery("select * from t_user");
                     while(rs.next()){
                          userid = rs.getInt("userid");
                          username = rs.getString("username");
                     }
                }
               conn.close();
           }
       }catch(Exception e){
           e.printStackTrace();
       }
    }

 

    public String getUserName() {
        return username;
    }

    public int getUserId() {
         return userid;
    }
}
4. 简单的jsp页面:

    <body>

        <%!
             DBTest dbt = new DBTest();      
        %>

       <h2>tomcat6.0 + mysql 数据库连接池</h2>
       用户ID:      <%=   dbt.getUserId()   %><br/>
       用户名:   <%=   dbt.getUserName()   %>

   </body>

5. 最好要注意的是:我的mysql5.0以上版本,开始用的是mysql驱动jar包是mysql-connector-java-2.0.14.jar,但好象不能用了,而用的是mysql-connector-java-3.1.14.jar,并且要放在tomcat 下lib目录下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值