PariScamper的java天空

            BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
            14 Posts :: 0 Stories :: 7 Comments :: 0 Trackbacks

          肯定是tomcat的數(shù)據(jù)庫(kù)連接池沒(méi)配置對(duì),給tomcat配置mysql數(shù)據(jù)庫(kù)連接池方法如下
          1,用Tomcat的管理界面建立Data Source,此時(shí)會(huì)在conf/server.xml生成如下片段:
              <Resource
                name="jdbc/game"
                type="javax.sql.DataSource"
                maxActive="4"
                maxIdle="2"
                username="root"
                maxWait="5000"
                driverClassName="com.mysql.jdbc.Driver"
                password="3306"
                url="jdbc:mysql://localhost:3306/game"/>
          2,在server.xml <Host></Host>之間配置下面代碼:
                  <Context path="/game" debug="5" reloadable="true" crossContext="true">
                   <ResourceLink name="jdbc/game" global="jdbc/game" type="javax.sql.DataSource"/>
                  </Context>
          其中path="/game"是部署供訪問(wèn)的url

          其中1,2步也可以合為一步在server.xml添加如下代碼,但我沒(méi)驗(yàn)證。
            <Context path="/game" debug="5" reloadable="true" crossContext="true">
                  <Resource name="jdbc/game" auth="Container" type="javax.sql.DataSource"
                  driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/game" username="root" password="3306"
                  maxActive="20" maxIdle="10" maxWait="10000"/>
            </Context>
          3,在project的web.xml的</web-app>前加入 
           <resource-ref>
              <res-ref-name>jdbc/game</res-ref-name>
              <res-type>javax.sql.DataSource</res-type>
              <res-auth>Container</res-auth>
            </resource-ref>

          另外,如果tomcat啟動(dòng)出現(xiàn)java.lang.NoClassDefFoundError: **********錯(cuò)誤,有可能是因?yàn)椴粩嗟挠胢yeclipse添加library比如Hibernate 3.2 Core Librarys,Spring 2.0 AOP Librarys,Spring 2.0 Core Librarys,Spring 2.0 Persistence Core Librarys等之后,deploy時(shí)myeclipse將所有這些包都拷到WEB-INF的lib下但其中有一些jar包重復(fù)或不兼容造成的。

          也可參考這篇網(wǎng)文

          昨天,配置了一整天Eclipse,終于搞定。不過(guò)在配置好Tomcat的連接池之后,測(cè)試與SQL Server2000的連接的時(shí)候出現(xiàn)了Cannot create JDBC driver of class '' for connect URL 'null'的錯(cuò)誤。下面把我的解決方案寫(xiě)出:注意:我使用的是JTDS驅(qū)動(dòng)!

          1.請(qǐng)保證你的SQL Server 2000已經(jīng)打過(guò)SP4的補(bǔ)丁了。之前我出現(xiàn)Cannot create JDBC driver of class '' for connect URL 'null'的問(wèn)題,原因就是沒(méi)打SP4的補(bǔ)丁!

          2.正確配置連接池!

          常用的配置Tomcat連接池有兩種方法:一是利用Tomcat的管理界面。二是修改Tomcat的配置文件。這里簡(jiǎn)單介紹通過(guò)修改Tomcat的配置文件配置連接池的方法。配置Tomcat連接池需要修改兩個(gè)個(gè)地方,一是$Tomcat_HOME/conf/server.xml$Tomcat_HOME是指Tomcat的安裝目錄,在server.xml <Host></Host>之間配置下面代碼。

          例程 1-3 配置server.xml文件

          <Context path="/Blog" docBase="Blog" debug="5" reloadable="true" crossContext="true">

                     <Resource name="jdbc/blog" auth="Container"

                     type="javax.sql.DataSource" driverClassName="net.sourceforge.jtds.jdbc.Driver"

                     url="jdbc:jtds:sqlserver://localhost:1305;DatabaseName=blog"

                     username="sa" password="" maxActive="20" maxIdle="10" maxWait="-1"/>

           </Context>

          另外一個(gè)需要修改的地方是$Tomcat_HOME/webapps/bookshop/WEB-INF/web.xml,在里web.xml文件里增加下面代碼:

          例程1-4 web.xml文件里要增加的內(nèi)容

          <resource-ref>

                            <description>blog DB connect pool</description>

                            <res-ref-name>jdbc/blog</res-ref-name>

                            <res-type>javax.sql.DataSource</res-type>

                            <res-auth>Container</res-auth>

                   </resource-ref>

          下面是測(cè)試代碼:
          <%@ page contentType="text/html;charset=GBK"%>
          <%@ page import="java.sql.*"%>
          <html>
          <body>
          <%
            
          Context ctx=null;
             Connection cnn=null;
             Statement stmt=null;
             ResultSet rs=null;
             try   {
              ctx=new InitialContext();
              if(ctx==null) throw new Exception("沒(méi)有匹配的環(huán)境");
              DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/connectDB");
              if(ds==null) throw new Exception("沒(méi)有匹配數(shù)據(jù)庫(kù)");    
             cnn=ds.getConnection();    stmt=cnn.createStatemen(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
          String sql="select * from blog_user";
          rs=stmt.executeQuery(sql);
          <%out.print("數(shù)據(jù)庫(kù)操作成功,恭喜你");%>
          <%
          }catch(Exception ee){
               System.out.println("connect db error:"+ee.getMessage());
               return false;
          }finally
             {
              if(rs!=null)rs.close();
              if(stmt!=null)stmt.close();
              if(cnn!=null)cnn.close();
              if(ctx!=null)ctx.close();
             }
          %>
          </body>
          </html>


           

          posted on 2007-10-09 23:10 PariScamper 閱讀(12070) 評(píng)論(1)  編輯  收藏 所屬分類(lèi): Struts+Spring+Hibernate

          Feedback

          # re: tomcat啟動(dòng)出現(xiàn)Cannot create JDBC driver of class '' for connect URL 'null'的解決方法[未登錄](méi) 2016-03-23 22:58
          2,在server.xml <Host>和</Host>之間配置下面代碼:
          <Context path="/game" debug="5" reloadable="true" crossContext="true">
          <ResourceLink name="jdbc/game" global="jdbc/game" type="javax.sql.DataSource"/>
          </Context>

          里面的"/game"到底是數(shù)據(jù)庫(kù)的名字 還是連接池的名字  回復(fù)  更多評(píng)論
            

          主站蜘蛛池模板: 遂昌县| 麦盖提县| 金阳县| 贵定县| 萍乡市| 永顺县| 阳朔县| 正安县| 长宁县| 濮阳市| 孙吴县| 东阿县| 郧西县| 封丘县| 巢湖市| 武平县| 读书| 瑞丽市| 界首市| 兴海县| 绩溪县| 遵义县| 孙吴县| 广昌县| 乡城县| 阿瓦提县| 绥中县| 金乡县| 荥经县| 石河子市| 锡林浩特市| 灵宝市| 蒲城县| 黄大仙区| 顺义区| 都安| 渝中区| 昂仁县| 大冶市| 烟台市| 霍林郭勒市|