Tomcat中配制数据源

 Datasource对象是由Tomcat提供的,因而需要使用JNDI来获得Datasouce

在Javax.naming 中提供了Context接口,

数据源的配置涉及到Server.xml和web.xml,需要在server.xml中加入如下内容:

<Context path="/text" docBase="d:/upload" debug="0">
     <Resource name="jdbc/testDb" auth="Container"
                    type="javax.sql.DataSource"/>
          <ResourceParams name="jdbc/testDB">\\数据源的名称
            <parameter><name>username</name><value>root</value></parameter>数据库的名称
            <parameter><name>password</name><value>password</value></parameter>数据库密码
            <parameter><name>driverClassName</name>
              <value>org.gjt.mm.mysql.Driver</value></parameter>\\要加载的驱动
            <parameter><name>url</name>
              <value>jdbc:mysql://172.20.0.73/rk?</value></parameter>\\要连接的URL
          </ResourceParams>
         
   </Context>

具体还有一些详细的选项例如:MaxActive等,参加Server.xml中说明

另外在Web.xml中加入如下内容:
<description>test connection</description>\\描述
    <res-ref-name>jdbc/testDB</res-ref-name>\\名称与上对应
    <res-type>javax.sql.DataSource</res-type>\\与上对应
    <res-auth>Container</res-auth>\\与上一置
    </resource-ref>

配置以上内容后,只要在你的Jsp或Javabean通过以下方式获得Connection对像 
  import   java.sql.*   ;  
  import   javax.naming.*   ;  
  import   javax.sql.DataSource  ;
  public   class   DBConnection   {   
  public   static   synchronized   Connection   getConnection()   throws   java.lang.Exception  
  {  
      try{  
           javax.naming.Context   initCtx   =   new   javax.naming.InitialContext()   ;  
           javax.naming.Context   envCtx     =   (Context)initCtx.lookup("java:comp/env")   ;  
           javax.sql.DataSource   ds   =   (DataSource)envCtx.lookup("jdbc/bbs")   ;  
           return   ds.getConnection()   ;  
      }
      catch(java.sql.SQLException   e)   {throw   e   ;}  
      catch(javax.naming.NamingException   e)   {throw   e;   }  
  }
  }

posted @ 2008-09-27 18:44  枣阳人在深圳  阅读(209)  评论(0编辑  收藏  举报