最近做個項目,需要在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檔案配置如下:
[code] <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"/>[/code]這裡就和以前的tomcat4版本不一樣了,以前要在server.xml配置.而tomcat5版本直接在這裡配置就可以了.
第三步:在你項目的web.xml配置如下:
[code] <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>[/code]注意:這裡的res-ref-name名字必須和testTomcat.xml檔案中的一樣.其實這一步省去也是可以的.但還是建議配置一下.
第四步:建一個JSP頁面來感受一下成功的喜悅吧.頁面代碼如下
[code]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 @!");[/code]注意:别忘了引入相關的包哦.還要注意的是這裡不能用主函數來測試.因為你主函是得到tomcat的上下文的.
在項目中應用如下:
[code]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();
}
}[/code]
這裡的test.db是一個db.properties檔案.檔案内容如下
datasource_name= jdbc/mysql
這樣擴充性比較好.連接配接其它的資料庫,隻需要改動此檔案,無需重新編譯.
就到這裡吧