Hello World
          Java技術學習
          posts - 17,  comments - 7,  trackbacks - 0
          原文地址: http://blog.csdn.net/mshust2006/archive/2006/08/07/1033876.aspx


          今天幫一同事配置一個數據源,采用tomcat5.5.9,本來是個很簡單的事,以前也配過,但由于很長時間沒用過容器提供的數據源了(IOC用慣了),也只記的個大概了,所以剛開始一配就出錯了,google了一下,有很多資料,照著試試卻都不好使(到不是別人說的不對,只是大家用的版本不同)。其實tomcat中配置數據源有好幾中方式,很靈活,所以也容易相互整竄,個人認為比較簡單的方法就是在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,所以數據源的配置信息采用屬性的形式寫,不能用結點的形式,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提供的數據源,但這樣做,你可以將你生成的war包放在容器下運行,卻不能在jbuilder中啟動項目,因為jbuilder啟動web項目時是不會去讀你指定的tomcat中的server.xml的,這樣的話數據源就不可用了,如果我們不能在jbuilder中啟動項目,我門就不能在調試狀態下來運行了,這樣對我們來寫程序就沒有太大意義了(當然我們可以在外面啟動tomcat,采用遠程調試的方法,這樣即可以使用數據源,也可以調試修改程序,但這個有點殺雞用牛刀的意思,不推薦),實際上jbuilder在啟動web項目時它會在工程目錄下建立一個tomcat文件架,它會去讀conf下的server8080.xml文件(8080為你為tomcat設定的端口),所以我們要想在jbuilder中啟動數據源,必須要在該配置文件中加上數據源信息),具體的是將server8080.xml中的一條注釋刪掉,(否則它仍然會是臨時文件,會被覆蓋的)在<host>結點中加上
          <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>結點可用它自身的,不要修改,重啟項目,這時你就可以使用數據源了。之所以在jbuilder中啟動web項目有點麻煩,是它沒有把項目發布到tomcat的webapp下面去,而是把tomcat的一些東西拿過來了(相當于),象eclispe或idea就沒有這種問題了。
          以上所說的配置數據源是在tomcat5.5.9下實驗的,估計5.5.x應該都沒啥問題,要是別的tomcat的版本就不保了,誰叫咱用的開源的東東了,版本的兼容就不能恭維了!
          posted on 2006-10-31 09:41 Java初心 閱讀(482) 評論(0)  編輯  收藏 所屬分類: web配置

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 子洲县| 齐河县| 仁寿县| 东安县| 南华县| 扎赉特旗| 永春县| 枣庄市| 正阳县| 佳木斯市| 西安市| 陇川县| 洞口县| 桂林市| 南通市| 健康| 资兴市| 修水县| 油尖旺区| 师宗县| 东丰县| 惠水县| 教育| 桃江县| 高雄县| 方正县| 什邡市| 交城县| 尤溪县| 荥经县| 盐池县| 东丽区| 乌兰察布市| 荔浦县| 陆河县| 镇远县| 玉林市| 南昌县| 绍兴县| 廊坊市| 银川市|