Tomcat 配置连接池 数据源

TOMCAT 4.1 与TOMCAT 5.5以上版本(我只用过5.5 和6.0)配置数据源是有区别的(记得将驱动包放到common/lib文件夹下)

TOMCAT 4.1是将Resoucre配置参数都看做元素来配置的,而TOMCATE5.5以后都是把参数当作Resource元素的属性来配置的,
还要注意的4.1中 的
<factory>元素在5.5以后就没有了。

Tomcat4.1配置

 在TOMCAT 目录conf文件夹下找到server.xml再找到</host>元素将下面的代码写到
</HOST>元素前面即可:
  <Context path="/test" docBase="
test" debug="0"
                 reloadable="true" crossContext="true">
       <Logger className="org.apache.catalina.logger.FileLogger"
                          timestamp="true"/>
      <Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource"/>       
       <ResourceParams name="jdbc/test">
        <parameter>//在5.5以后就没有这个元素了如果存在就会报错
          <name>factory</name>
          <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
        </parameter>

         <parameter>
          <name>testonborrow </name>
          <value>true</value>
        </parameter>
         <parameter>
          <name>testonreturn  </name>
          <value>true</value>
        </parameter>
         <parameter>
          <name>testwhileidle</name>
          <value>true</value>
        </parameter>
        <parameter>
          <name>removeAbandoned</name>
          <value>true</value>
        </parameter>
        <parameter>
          <name>removeAbandonedTimeout</name>
          <value>100</value>
        </parameter>                           
        <parameter>
          <name>maxActive</name>
          <value>100</value>
        </parameter>
        <parameter>
          <name>maxIdle</name>
          <value>30</value>
        </parameter>
        <parameter>
        <name>maxWait</name>
        <value>10000</value>
        </parameter>           
        <parameter>
         <name>username</name>
         <value>sa</value>
        </parameter>
        <parameter>
         <name>password</name>
         <value></value>
        </parameter>
       <parameter>
       <name>driverClassName</name>
       <value>oracle.jdbc.driver.OracleDriver</value>
       </parameter>
        <parameter>
          <name>url</name>
          <value>jdbc:microsoft:sqlserver://192.168.10.77:1433;DatabaseName=pig</value>
        </parameter>
       </ResourceParams>             
       </Context>
    

tomcat 5.5配置数据源

  方法1:
直接在tomcat server.xml中配置将下面这段话写在serverl.xml 中</host>之前

<Context path="/test" docBase="test" debug="0"  reloadable="true" crossContext="true">   
         <Resource name="jdbc/test"
             auth="Container"
             type="javax.sql.DataSource"     
             driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
             url="jdbc:microsoft:sqlserver://192.168.10.77:1433;DatabaseName=pig"        
             username="sa" password="" 
             maxIdle="20"     maxWait="5000"   
             maxActive="100"  removeAbandoned="true"
             removeAbandonedTimeout="60" logAbandoned="true"
          />
     </Context>

         1.path是指定访问该web应用的URL入口;

         2.docBase指定web应用的文件路径,可以是绝对路径,也可以是相对于Host的appBase属性的相对路径;

         3.type指定Resource所属的JAVA类名

         4.maxActive是DBCP中处于活动状态的数据库连接的最大数目,取0表示不受限制

         5.maxIdle是DBCP中处于空闲状态的数据库连接的最大数目,取0表示不受限制

         6.maxWait是是DBCP中的数据库连接处于空闲状态的最长时间(以毫秒为单位)取0表示无限期等待

         7.username是数据库登陆名

         8.password是数据库登陆口令

         9.driverClassName是只定数据库的jdbc驱动程序

        10.url是指定连接数据库的URL,masenv是我的数据库名。

   方法2 :

如果你是想将你的TOMCAT绑定到你IDE(eclipse)上启动的话 可以采用这个方法

方法如下 :

  在你项目WebRoot 文件下面搞个META-INF文件夹在建个context.xml文件 在此XML文件里配置数据源即可。内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/test" docBase="test" debug="0"  reloadable="true" crossContext="true">   
   <Resource name="jdbc/test"  auth="Container" type="javax.sql.DataSource"     
              driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
              url="jdbc:microsoft:sqlserver://192.168.10.77:1433;DatabaseName=pig"        
              username="sa" password=""   maxIdle="20" maxWait="5000"   
              maxActive="100" removeAbandoned="true"
              removeAbandonedTimeout="60" logAbandoned="true"/>
</Context>

获得数据源方法

/**
     * 初始化数据库连接
     *
     * @throws SQLException
     */
    private static void loadDataSource()
    throws SQLException {
        try {
            if (dataSource == null) {
                 Context context = new InitialContext();
                 DataSource dataSource = (DataSource)context.lookup("java:comp/env/jdbc/mas");

            }              
        } catch (Exception e) {
           
            throw new SQLException("数据库命名服务错误:" + e.getMessage());
        }
    }    

/**

     * 取数据库连接
     *
     * @return Connection
     *
     * @throws SQLException
     */
    public static Connection getConnection() {       
        Connection conn = null;
        try {
            loadDataSource();
            Connection   conn =  dataSource.getConnection();

        } catch (SQLException sqle) {
           
            throw new RuntimeException(sqle);
        }   
        return conn;
    }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值