最近做个项目,需要在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
		
		这样扩展性比较好.连接其它的数据库,只需要改动此文件,无需重新编译.
		就到这里吧
		Good luck!