Tomcat5好像可以使用可视化配置了

解决方案 »

  1.   

    采用JavaWebStudio的连接池比较方便,详情见:
    http://dev.csdn.net/user/kui
      

  2.   

    方法1:oracle本身自带连接池,只用在server.xml中配置;
       方法2:自己编写connectionPool类BEAN,修改server.xml;
       方法3:自己编写connectionPool类BEAN,修改web.xml;
       方法4:自己编写connectionPool类BEAN,修改server.xml,修改web.xml;
       方法5:自己编写connectionPool类BEAN;
    ---------------------------------------那来的那么多方法?别听那些所谓什么文章误人子弟。一般来说只有三种方法可以考虑:1.中间件服务器管理的连接池(在这里是Tomcat),这是最优方案(效率最高)
    2.DBMS管理的连接池,只适合一种特定的数据库,扩展性灵活性相对比较差
    3.自己用JDBC实现的连接池,如果你能力很强,而且很有经验和时间,那么可以考虑无论你采用什么方法实现连接池,你最终交给DAO的都应该是DATASOURCE,通过DATASOURCE来获取连接池,以保证灵活性,也就是说,用DATASOURCE把连接池封装起来,如果连接池发生改变,那么DAO的代码将无需改变。
      

  3.   

    补充一下,在你的tomcat5+struts1.1+oracle9 结构下,还有一种可以采用的方案是:4.使用Struts管理的连接池,这种方法最简单,对于小型项目可以采用。
      

  4.   

    http://community.csdn.net/Expert/topic/3352/3352743.xml?temp=.9837915
      

  5.   

    太感谢了!我想问问“自己用JDBC实现的连接池”和“使用Struts管理的连接池”这两种方法都需要编写(或修改)哪些文件(稍微具体点)?
      

  6.   

    to kui:采用JavaWebStudio的连接池比较方便,详情见:
    http://dev.csdn.net/user/kui
    -------------------------------用任何一种IDE写数据源或连接池的代码都很方便。建议你别整天跟这挨家挨户的推销你那不成气候的JavaWebStudio,帮别人解决实际问题是正经。你要是能说服任何一个百人以上的软件公司放弃JBUILDER或ECLIPSE而改用你的JavaWebStudio,那么JavaWebStudio也就可以不用你如此辛苦的宣传了。
      

  7.   

    太感谢了!我想问问“自己用JDBC实现的连接池”和“使用Struts管理的连接池”这两种方法都需要编写(或修改)哪些文件(稍微具体点)?
      

  8.   

    使用Struts管理的数据源很简单,举一个使用MYSQL数据库的例子,只要在struts-config.xml文件里面声明一个DATASOURCE:  <data-sources>
        <data-source type="org.apache.commons.dbcp.BasicDataSource" key="dataSource">
          <set-property value="org.gjt.mm.mysql.Driver" property="driverClassName" />
          <set-property value="jdbc:mysql://192.168.1.2:3306/worklog?
                        useUnicode=true&amp;characterEncoding=GBK" property="url" />
          <set-property value="root" property="username" />
          <set-property value="" property="password" />
        </data-source>
      </data-sources>java代码中,在Action里通过request对象把DATASOURCE传递到DAO(这是一个用户登录的例子):emp = empbean.checkUser(empform.getEmpid(),
                                  getDataSource(request, "dataSource"));在DAO中可以采用如下类似的方法去使用数据源,连接池由数据源封装了,你不用管的:  public Employee checkUser(String empid, DataSource dataSource) throws
          Exception {
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        Employee emp = new Employee();
        try {
          conn = dataSource.getConnection();
          stmt = conn.createStatement();
          String strSql = "select * from employee where empid='" + empid + "'";
          rs = stmt.executeQuery(strSql);
          if (rs.next()) {
            emp.setEmpid(rs.getString("empid"));
            emp.setPsw(rs.getString("psw"));
            emp.setEmpname(rs.getString("empname"));
            emp.setPosition(rs.getString("position"));
          }
        }
        finally {
          try {
            if (rs != null) {
              rs.close();
            }
            if (stmt != null) {
              stmt.close();
            }
            if (conn != null) {
              conn.close();
            }
          }
          catch (Exception e) {
            System.err.println(e.getMessage());
          }
        }
        return emp;
      }
      

  9.   

    致于自己编码去实现连接池就比较难了,我自己也没做过,ibm-900 上有一些实用的相关文章,自己去找来看吧。实际上除了学习需要之外,你根本没必要去自己做连接池,在实际开发中肯定是使用中间件管理的数据源,例如weblogic、websphere、jeus、jboss等。
      

  10.   

    你的意思就是说只需要修改struts-config.xml,连接池就可以使用了?好象没有看到设置连接池的size,maxCount,minCount等等?
      

  11.   

    size,maxCount,minCount等参数可以通过setProperty标签来解决,如果不设定,那么就用缺省配置。举个例子:<data-sources>
    <data-source type="org.apache.commons.dbcp.BasicDataSource" 
                 key="dataSourceOracle">
    <set-property value="true" property="autoCommit" />
    <set-property value="Alnitak Data Source" 
                  property="description" />
    <set-property value="oracle.jdbc.driver.OracleDriver" 
                  property="driverClass" />
    <set-property value="10" property="maxCount" />
    <set-property value="2" property="minCount" />
    <set-property value="GL_DYNAMO" property="user" />
    <set-property value="GL_DYNAMO" property="password" />
    <set-property value="jdbc:oracle:thin:@ALNITAK:1521:GL" 
                  property="url" />
    </data-source>
    </data-sources>