Myeclipse6.1 + tomcat6 + jdk1.6 + oracle
使用MVC模式,数据操作在JavaBean中完成,现在想用连接池,tomcat下已经配置成功,但是不知道在MyEclipse里的main 函数下如何绑定tomcat的连接池,网上查了很多资料都没有结果,希望得到大家的帮助,或者可以使用第三方jar包,只要能让我的JavaBean使用连接池连接数据库

解决方案 »

  1.   

    使用jndi访问数据源是需要环境的,main方法里初始化不了在web项目中可以这样
    Context initCtx = new InitialContext();
    String strLookUp = "java:comp/env/impactds";
    DataSource ds = (DataSource) initCtx.lookup(strLookUp);
    conn = ds.getConnection();
      

  2.   

    从头配起:
    在server.xml中的HOST中插入:<Context path="/项目目录名称" docBase="项目目录名称">   
      <Resource name="jdbc/test" scope="Shareable" type="javax.sql.DataSource"/>   
      <ResourceParams name="jdbc/test">    
        <!-- DBCP database connection settings -->   
        <parameter>   
          <name>url</name>   
          <value>jdbc:oracle:thin:@你的IP:1521:数据库名称</value>   
        </parameter>   
        <parameter>   
          <name>driverClassName</name>   
          <value>oracle.jdbc.driver.OracleDriver</value>   
        </parameter>   
        <parameter>   
          <name>username</name>   
          <value>xxx</value>   
        </parameter>   
        <parameter>   
          <name>password</name>   
          <value>xxx</value>   
        </parameter>   
        <parameter>   
          <name>maxWait</name>   
          <value>3000</value>   
        </parameter>   
        <parameter>   
          <name>maxIdle</name>   
          <value>100</value>   
        </parameter>   
        <parameter>   
          <name>maxActive</name>   
          <value>10</value>   
        </parameter>   
      </ResourceParams>   
    </Context>  
    2.web.xml<resource-ref>   
      <res-ref-name>jdbc/test</res-ref-name>   
      <res-type>javax.sql.DataSource</res-type>   
      <res-auth>Container</res-auth>   
    </resource-ref>  
    3.java中:Context context = new InitialContext();   
    DataSource ds = context.lookup("java:comp/env/jdbc/test");   
    Connection conn = ds.getConnection();  
    //然后JDBC操作注意:你千万不要通过main函数去获取链接,只有通过服务器才能获取链接,所有
    上述java代码放在main函数中肯定异常!
      

  3.   

    连接池是连接池,
    tomcat是tomcat,
    tomcat只是把取得连接池的方法封装了一下。dbcp的话,
    lz可以看看这个里面的代码
    http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/doc/大致的步骤是:
    在main里面,用配置参数或者配置文件初始化一个factory之类的东西,
    然后通过这个factory取得connection。其实我也没做过,
    不过思路应该是正确的,
    应该是,
    正确的
    呵呵good luck
      

  4.   

    我的数据库操作都在JavaBean里完成了,jsp页面是不连接数据库的,如何使用连接池哦 ?
      

  5.   


    你既然是个mvc结构,在jsp的request过来时会进入到你的action,在action里获得datasource
      

  6.   

    不建议用dbcp  
      http://msq.javaeye.com/blog/60387
      

  7.   

     既然是mvc,那就用jndi。
     连接池的操作放在main方法中肯定会异常的。
     因为连接池是需要容器来管理的。Context initCtx = new InitialContext(); 
    String strLookUp = "java:comp/env/impactds"; 
    DataSource ds = (DataSource) initCtx.lookup(strLookUp); 
    conn = ds.getConnection();