Tomcat配置JNDI數據源
經過3個多小時的努力,配置JNDI數據源(主要是通過DBCP連接池)終于搞定~
還是Tomcat官方的說明好,不過全是英文的,大概還看得懂.
百度上那么花花綠綠的太多了,一個也沒成功!...
本例使用的數據庫為Ms SQL Server 2000,對于其它數據庫只是修改一下相應的參數即可,
服務器是Tomcat5.5, 與之間的版本配置連接池最簡便
自己總結了一下,希望起到一個拋磚引玉的作用
總結:
第一步:
將驅動程序(jar包)放到tomcat安裝目錄下的common\lib文件夾下
第二步:
在Tomcat的webapps目錄隨便創建一個工程目錄,例如myjdbc。在myjdbc目錄下創建META-INF目錄,在此目錄下創建一個context.xml文件,里面的內容如下:












附注如下:
Tomcat標準數據源資源工廠配置項如下:
* driverClassName - 所使用的JDBC驅動類全稱。
* maxActive - 同一時刻可以自數據庫連接池中被分配的最大活動實例數。
* maxIdle - 同一時刻數據庫連接池中處于非活動狀態的最大連接數。
* maxWait - 當連接池中沒有可用連接時,連接池在拋出異常前將等待的最大時間,單位毫秒。
* password - 傳給JDBC驅動的數據庫密碼。
* url - 傳給JDBC驅動的連接URL。
* user - 傳給JDBC驅動的數據庫用戶名。
* validationQuery - 一個SQL查詢語句,用于在連接被返回給應用前的連接池驗證。
* 如果指定了該屬性,則必為至少返回一行記錄的SQL SELECT語句。
jdbc/test是數據源的名稱(隨意寫,要和web.xml文件中 <res-ref-name>jdbc/test</res-ref-name> 一樣即可),
其他的參數按照自己的實際情況進行修改,例如數據庫的名稱、賬號、密碼。
第三步:
在myjdbc目錄下創建WEB-INF目錄,創建web.xml文件,內容如下:














說明:
<resource-ref>
<descrtiption>引用資源說明</descrtiption>
<res-ref-name>引用資源的JNDI名</res-ref-name>
<res-type>引用資源的類名</res-type>
<res-auth>管理者(Container)</res-auth><!--Container-容器管理 Application-Web應用管理-->
</resource-ref>
第四步:
寫個jsp,試一下吧!


























或寫個JSP用標簽庫測試一下:




















我成功了!Good Luck!
以下是配置JNDI的其他方法,個人不建議使用,因為修改服務器的
server.xml和web.xml,如果有一點錯誤,你的容器就會崩潰~
注:連接數據源的方法還有很多,在這里我簡要說之:
比如說第二步還可以這么做:
在/tomcat/conf/Catalina/localhost(或其它主機名)/中添加以
虛擬目錄名稱(你的工程名)命名的XML文件來配置context.
比如我的主機下有個目錄dbpool其地址為tomcat/webapps/test我可以這樣來配置這個上下文:
在tomcat/conf/Catalina/localhost/目錄下創建test.xml文件,內容和上面一樣.
還可以:
在/tomcat/conf/server.xml中<host></host>標簽之間添加







其中path是你的工程路徑(相對或絕對亦可),其中docBase="test"說明,此主機已經指向到webapps目錄下了,回頭
來看test這個上下文,它實際目錄是位于webapps的目錄下的,所以
在Context中我們可以將docBase直接設置為test了。如果它在webapps/dbpool/test下,則設置為dbpool/test就可以了。
附:JNDI——Java Naming and Directory Interface是一套提供naming和 directory功能的 API,
Java應用程式開發者透過使用 JNDI,在naming和 directory方面的應用上就有了共通的準則.
posted on 2008-01-13 08:28 々上善若水々 閱讀(29568) 評論(3) 編輯 收藏 所屬分類: JavaWeb