我在网上看到你他们讲数据连接池对于weblogic只要配置一下就可以了,也就是说我们不要自己去实现,问题1:我们如果自己去实现了,我还要配置吗?(是不是好傻自己不去试一试)
   对于tomcat是不是也可以直接配置一下呢?不要我们去实现?如果我们自己实现了,我们还需要配置吗,我们直接调用不可以到达效果吗?
谢谢大家参与!

解决方案 »

  1.   

    直接调用数据源就可以了(weblogic)
      

  2.   

    TOMCAT:
    在TOMCAT中,可以在服务器页面里进行工具生成,也可以直接手动的在CONF/SEVER.XML中写
        <Resource
          name="orcl"
          type="javax.sql.DataSource"
          password="zphr"
          driverClassName="oracle.jdbc.driver.OracleDriver"
          maxIdle="2"
          maxWait="5000"
          username="zphr"
          url="jdbc:oracle:thin:@192.168.2.77:1521:orcl"
          maxActive="4"/>写完该文件后面,还要声明
    <Context
                docBase="C:\XXXXXX"
                path="/XXXX"
                reloadable="true"
                workDir="C:\XXXXXXX">
                <ResourceLink name="orcl" global="orcl" type="javax.sql.DataSource"/>
           </Context> 这样,在TOMCAT中连池接定义完了,在代码里要使用连接池时,写法如下import java.sql.Connection;
    import java.sql.SQLException;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import javax.sql.DataSource;
    ...................
    Connection conn = null;
    try {
    Context initContext = new InitialContext();
    Context envContext  = (Context)initContext.lookup("java:/comp/env");
    DataSource ds = (DataSource)envContext.lookup("orcl");
    conn = ds.getConnection(); } catch (SQLException ex) {
    // catch ブロック
    ex.printStackTrace();
    } catch (NamingException e) {
    // catch ブロック
    e.printStackTrace();
    }
    return conn;
      

  3.   

    对了,忘说了.现在一般的工程中,已经很少在服务器工具(TOMCAT,WEBLOGIC等)来定义连接池了一般是在工程里建.象STRUTS,现在一般是将连接池的声明,写在STRUTS_CONFIG.XML里的<DATA-SOURCE>里
      

  4.   

    楼上的,官方说不建议使用struts的连接池,所以还是使用容器提供的连接池好LZ,看看这篇文章,希望对你有帮助,http://blog.csdn.net/baggio785/archive/2006/04/24/674822.aspx
      

  5.   

    对了,如果我想单独测验JDBC.用JUIT的话(不经过TOMCAT),那么怎么办
    如果只用JUIT一跑,
    Context initContext = new InitialContext();
    Context envContext  = (Context)initContext.lookup("java:/comp/env");
    这个地方一定有错
    ,反尔用网页就可以不知道JUIT怎么来做这个才可以
      

  6.   

    楼上的,你说的问题在http://blog.csdn.net/baggio785/archive/2006/04/24/674822.aspx有说明的,我也是碰到过这个问题,后来翻了资料,就写了这篇文章
      

  7.   

    没太看明白,你说的如何解决  V_@
    这个是我做的连接池代码
    import java.sql.Connection;
    import java.sql.SQLException;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import javax.sql.DataSource;
    public class DataBase {

        /**
         * 
         * <p> [概要] データベース接続を行う。</p>
         * <p> [詳細] データベース接続を行う。</p>
         * <p> [備考] なし</p>
         * @return conn      
         * @since 221/01
         */ public static Connection getConn() { Connection conn = null;
    try {
    Context initContext = new InitialContext();
    Context envContext  = (Context)initContext.lookup("java:/comp/env");
    DataSource ds = (DataSource)envContext.lookup("orcl");
    conn = ds.getConnection(); } catch (SQLException ex) {
    // catch ブロック
    ex.printStackTrace();

    } catch (NamingException e) {
    // catch ブロック
    e.printStackTrace();
    }
    return conn;
    }
    }JUNIT一跑就抛javax.naming.NoInitialContextException
    我看了一下InitialContext这个,根本就没取得,所以在Context envContext  = (Context)initContext.lookup("java:/comp/env"),这个地方会出错.能具体说一下,如何解决好么
      

  8.   

    http://cc.ocsky.cn/document/show_article.asp?ID=228这个是我写的一篇文章,看看,我也摸索了很久。