Tomcat數(shù)據(jù)源配置方法_JBuilder中
更新時間:2008年10月07日 23:33:38 作者:
今天幫一同事配置一個數(shù)據(jù)源,采用tomcat5.5.9,本來是個很簡單的事,以前也配過,但由于很長時間沒用過容器提供的數(shù)據(jù)源了(IOC用慣了),也只記的個大概了,所以剛開始一配就出錯了,google了一下,有很多資料,照著試試卻都不好使(到不是別人說的不對,只是大家用的版本不同)。
其實tomcat中配置數(shù)據(jù)源有好幾中方式,很靈活,所以也容易相互整竄,個人認為比較簡單的方法就是在tomcat下的conf文件夾下的server.xml增加
<Context path="/test" docBase="test"
debug= "99" reloadable="true" crossContext="true" verbosity="DEBUG">
<Resource name="jdbc/***" auth="Container"
type="javax.sql.DataSource" password="****"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
maxIdle="2"
maxWait="5000"
username="sa"
url="jdbc:microsoft:sqlserver://192.168.*.*:1433;DatabaseName=***"
maxActive="4"/>
</Context>
注意它是加在</host>前的,另外由于采用的tomcat5.5.9,所以數(shù)據(jù)源的配置信息采用屬性的形式寫,不能用結(jié)點的形式,tomcat5.0.X好象可以。
改了tomcat的server.xml文件后,剩下一個要改的地方就是在你的web項目中的web.xml中加入引用
<resource-ref>
<description>Resource reference to a factory for java.sql.Connection
instances that may be used for talking to a particular
database that is configured in the server.xml file.</description>
<res-ref-name>jdbc/***</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
僅僅需要改這兩個地方就能在web程序中使用tomcat提供的數(shù)據(jù)源,但這樣做,你可以將你生成的war包放在容器下運行,卻不能在jbuilder中啟動項目,因為jbuilder啟動web項目時是不會去讀你指定的tomcat中的server.xml的,這樣的話數(shù)據(jù)源就不可用了,如果我們不能在jbuilder中啟動項目,我門就不能在調(diào)試狀態(tài)下來運行了,這樣對我們來寫程序就沒有太大意義了(當(dāng)然我們可以在外面啟動tomcat,采用遠程調(diào)試的方法,這樣即可以使用數(shù)據(jù)源,也可以調(diào)試修改程序,但這個有點殺雞用牛刀的意思,不推薦),實際上jbuilder在啟動web項目時它會在工程目錄下建立一個tomcat文件架,它會去讀conf下的server8080.xml文件(8080為你為tomcat設(shè)定的端口),所以我們要想在jbuilder中啟動數(shù)據(jù)源,必須要在該配置文件中加上數(shù)據(jù)源信息),具體的是將server8080.xml中的一條注釋刪掉,(否則它仍然會是臨時文件,會被覆蓋的)在<host>結(jié)點中加上
<Resource name="jdbc/***" auth="Container"
type="javax.sql.DataSource" password="****"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
maxIdle="2"
maxWait="5000"
username="sa"
url="jdbc:microsoft:sqlserver://192.168.*.*:1433;DatabaseName=***"
maxActive="4"/>
注意這里<context>結(jié)點可用它自身的,不要修改,重啟項目,這時你就可以使用數(shù)據(jù)源了。之所以在jbuilder中啟動web項目有點麻煩,是它沒有把項目發(fā)布到tomcat的webapp下面去,而是把tomcat的一些東西拿過來了(相當(dāng)于),象eclispe或idea就沒有這種問題了。
以上所說的配置數(shù)據(jù)源是在tomcat5.5.9下實驗的,估計5.5.x應(yīng)該都沒啥問題,要是別的tomcat的版本就不保了,誰叫咱用的開源的東東了,版本的兼容就不能恭維了!
復(fù)制代碼 代碼如下:
<Context path="/test" docBase="test"
debug= "99" reloadable="true" crossContext="true" verbosity="DEBUG">
<Resource name="jdbc/***" auth="Container"
type="javax.sql.DataSource" password="****"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
maxIdle="2"
maxWait="5000"
username="sa"
url="jdbc:microsoft:sqlserver://192.168.*.*:1433;DatabaseName=***"
maxActive="4"/>
</Context>
注意它是加在</host>前的,另外由于采用的tomcat5.5.9,所以數(shù)據(jù)源的配置信息采用屬性的形式寫,不能用結(jié)點的形式,tomcat5.0.X好象可以。
改了tomcat的server.xml文件后,剩下一個要改的地方就是在你的web項目中的web.xml中加入引用
復(fù)制代碼 代碼如下:
<resource-ref>
<description>Resource reference to a factory for java.sql.Connection
instances that may be used for talking to a particular
database that is configured in the server.xml file.</description>
<res-ref-name>jdbc/***</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
僅僅需要改這兩個地方就能在web程序中使用tomcat提供的數(shù)據(jù)源,但這樣做,你可以將你生成的war包放在容器下運行,卻不能在jbuilder中啟動項目,因為jbuilder啟動web項目時是不會去讀你指定的tomcat中的server.xml的,這樣的話數(shù)據(jù)源就不可用了,如果我們不能在jbuilder中啟動項目,我門就不能在調(diào)試狀態(tài)下來運行了,這樣對我們來寫程序就沒有太大意義了(當(dāng)然我們可以在外面啟動tomcat,采用遠程調(diào)試的方法,這樣即可以使用數(shù)據(jù)源,也可以調(diào)試修改程序,但這個有點殺雞用牛刀的意思,不推薦),實際上jbuilder在啟動web項目時它會在工程目錄下建立一個tomcat文件架,它會去讀conf下的server8080.xml文件(8080為你為tomcat設(shè)定的端口),所以我們要想在jbuilder中啟動數(shù)據(jù)源,必須要在該配置文件中加上數(shù)據(jù)源信息),具體的是將server8080.xml中的一條注釋刪掉,(否則它仍然會是臨時文件,會被覆蓋的)在<host>結(jié)點中加上
復(fù)制代碼 代碼如下:
<Resource name="jdbc/***" auth="Container"
type="javax.sql.DataSource" password="****"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
maxIdle="2"
maxWait="5000"
username="sa"
url="jdbc:microsoft:sqlserver://192.168.*.*:1433;DatabaseName=***"
maxActive="4"/>
注意這里<context>結(jié)點可用它自身的,不要修改,重啟項目,這時你就可以使用數(shù)據(jù)源了。之所以在jbuilder中啟動web項目有點麻煩,是它沒有把項目發(fā)布到tomcat的webapp下面去,而是把tomcat的一些東西拿過來了(相當(dāng)于),象eclispe或idea就沒有這種問題了。
以上所說的配置數(shù)據(jù)源是在tomcat5.5.9下實驗的,估計5.5.x應(yīng)該都沒啥問題,要是別的tomcat的版本就不保了,誰叫咱用的開源的東東了,版本的兼容就不能恭維了!
相關(guān)文章
業(yè)務(wù)系統(tǒng)的Prometheus實踐示例詳解
這篇文章主要為大家介紹了業(yè)務(wù)系統(tǒng)的Prometheus實踐示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04
Java之Error與Exception的區(qū)別案例詳解
這篇文章主要介紹了Java之Error與Exception的區(qū)別案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-09-09
IDEA導(dǎo)入geoserver項目的詳細步驟及注意事項
由于GeoServer是基于Java開發(fā)的。因此在安裝之前,必須確保安裝了Java。本文給大家分享IDEA導(dǎo)入geoserver項目的詳細步驟及注意事項,感興趣的朋友一起看看吧2021-06-06
IDEA遠程部署調(diào)試Java應(yīng)用程序的詳細流程
這篇文章主要介紹了IDEA遠程部署調(diào)試Java應(yīng)用程序,本文通過圖文并茂的形式給大家介紹的非常詳細,需要的朋友可以參考下2021-10-10
idea使用easyCode生成代碼(根據(jù)mybatis-plus模板創(chuàng)建自己的模板)
本文主要介紹了idea使用easyCode生成代碼,easyCode代碼生成器可以減少低價值搬磚,具有一定的參考價值,感興趣的可以了解一下2023-10-10

