Tomcat數據源設置

          Step by Step:
          1。將數據庫驅動程序拷貝到tomcat\common\lib目錄下面。
          2。修改server.xml文件,在Context配置節點下面加上資源節點,如下:
          <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
                           maxActive="100" maxIdle="30" maxWait="10000"
                           username="root" password="" driverClassName="org.gjt.mm.mysql.Driver"
                           url="jdbc:mysql://127.0.0.1:3306/test?characterEncoding=GBK&amp;useUnicode=TRUE"/>
                  注意的是:如果有&字符,需要轉移成&amp;(XML文件規范)
          3。修改Web應用WEB-INF\web.xml文件,加上Resource-Def,如下:
            <resource-ref>
                <description>DB Connection</description>
                <res-ref-name>jdbc/TestDB</res-ref-name>
                <res-type>javax.sql.DataSource</res-type>
                <res-auth>Container</res-auth>
            </resource-ref>
          4。重新啟動Web應用,在Web應用中可以通過下面的代碼來獲取數據源和數據庫連接:
          javax.naming.InitialContext context = new javax.naming.InitialContext();
          DataSource ds = (DataSource) cxt.lookup( "java:/comp/env/jdbc/TestDB" );
          connection = (Connection)ds.getConnection();

          Problem And Answer:
          1。Question:如果出現下列提示:
                javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
                  at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:640),怎么辦?
                Answer:檢查在Tomcat中conf/server.xml文件,檢查<context>是否設置useNaming="false",如果是,去掉。
          2。Question:如果無法找到數據庫驅動程序怎么辦?
                Answer:檢查數據庫驅動JDBC程序是否放在了Tomcat\common\lib目錄下面



          對于第一個問題要特別注意:
          今天在調試時,突然發現數據連接池不能用了,但jsp文件測試,是ok了,于是在類文件中添加main進行測試,也出現了錯誤,一直想不明白,后來經過一位朋友的提醒,原來犯了一個低級錯誤:java單元的環境是jdk;而jsp的環境卻是tomcat;數據連接池是在tomcat中配置的,所以能正常運行的,但java測試的環境只有jdk,所以在引用數據連接池時就時出現找不環境的錯誤~

          javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
              at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645)
              at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
              at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:284)
          connect fail    at javax.naming.InitialContext.lookup(InitialContext.java:351)
              at com.zb.struts.db.Db.getDbConn(Db.java:37)
              at com.zb.struts.db.Db.getStm(Db.java:52)
              at com.zb.test.TestExcel.readDataToExcel3(TestExcel.java:239)
              at com.zb.test.TestExcel.main(TestExcel.java:50)

          posted on 2007-09-09 11:37 劉錚 閱讀(675) 評論(1)  編輯  收藏 所屬分類: Tomcat

          評論

          # 你怎么解決的 2008-06-27 11:43 小青蛙

          沒有解決呀
            回復  更多評論   


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


          網站導航:
           
          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導航

          統計

          留言簿(1)

          文章分類(141)

          文章檔案(147)

          搜索

          最新評論

          主站蜘蛛池模板: 宜宾市| 始兴县| 金溪县| 教育| 彰化县| 竹溪县| 大埔县| 两当县| 浦江县| 通城县| 平塘县| 淮滨县| 乡宁县| 资中县| 德清县| 香河县| 大埔县| 塘沽区| 邵阳县| 伊通| 鸡东县| 禄丰县| 武川县| 泌阳县| 大关县| 磐石市| 济宁市| 佛坪县| 榆树市| 陆河县| 当雄县| 青龙| 包头市| 江源县| 开鲁县| 沙河市| 大新县| 德庆县| 营口市| 扎兰屯市| 和政县|