`
jspengxue
  • 浏览: 178784 次
  • 性别: Icon_minigender_1
  • 来自: 天堂和地狱的中间
社区版块
存档分类
最新评论

tomcat5.5.9连接池的配置

阅读更多
最近做个项目,需要在tomcat,weblogic中写连接池.weblogic还是老样子,照着图形界面配置就可以了.Tomcat我用的是5.5.9.虽说以前用tomcat4版本写过,可早就听说,5版本和4版本的差距很大.所以就提前做好了心里准备,先看了一个帮助文档,花了进一个小时的时间搞定,现在整理出来与大家分享.
其实Tomcat5要比tomcat4简单多了,如果还是按tomcat4的套路来,呵呵,那恐怕那走很多弯路了.
第一步:在tomcat5→common→lib下加入你所连接数据库的驱动包.这里我用的mysql数据库.
第二步:在tomcat5→conf→Catalina→localhost配置一个xml文件.这里一定要注意,必须和你的项目名称是一模一样的.我用的项目名为testTomcat.testTomcat.xml文件配置如下:
    <Resource name='jdbc/mysql' auth='Container' 
              type='javax.sql.DataSource' driverClassName='com.mysql.jdbc.Driver' 
             url='jdbc:mysql://127.0.0.1:3306/addressbooksample' 
              username='root' password='' maxActive='20' maxIdle='10' 
              maxWait='-1'/> 
 
 <ResourceLink
    global="UserDatabase"
    name="users"
type="org.apache.catalina.UserDatabase"/>
这里就和以前的tomcat4版本不一样了,以前要在server.xml配置.而tomcat5版本直接在这里配置就可以了.
第三步:在你项目的web.xml配置如下:
 <resource-ref>
    <description>mysql  for 192.1.1.156 </description>
    <res-ref-name> jdbc/mysql </res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
 </resource-ref>
注意:这里的res-ref-name名字必须和testTomcat.xml文件中的一样.其实这一步省去也是可以的.但还是建议配置一下.
第四步:建一个JSP页面来感受一下成功的喜悦吧.页面代码如下
Context initCtx = new InitialContext();
           Context ctx = (Context) initCtx.lookup("java:comp/env");
          ds   =(javax.sql.DataSource) ctx.lookup("jdbc/mysql");
          System.out.println("Init datasource OK @!");
注意:别忘了引入相关的包哦.还要注意的是这里不能用主函数来测试.因为你主函是得到tomcat的上下文的.
在项目中应用如下:
public class TomcatJDNI {
 
     public static String
     DATASOURCE_CONFIG_FILE="test.db";
         public static DataSource ds;
         
         static{
              try{
          ResourceBundle rb = ResourceBundle.getBundle(DATASOURCE_CONFIG_FILE);
          String dsName     = rb.getString("datasource_name");
               Context initCtx = new InitialContext();
              Context ctx = (Context) initCtx.lookup("java:comp/env");
          ds   =(javax.sql.DataSource) ctx.lookup(dsName);
          System.out.println("Init datasource OK @!");
     }catch(Exception e){
         System.out.println("can’t init datasource !");
     }
     }
 
     public static Connection getConnection() throws SQLException{
         return ds.getConnection();
     }
}

这里的test.db是一个db.properties文件.文件内容如下
datasource_name= jdbc/mysql
这样扩展性比较好.连接其它的数据库,只需要改动此文件,无需重新编译.
就到这里吧
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics