posts - 22, comments - 32, trackbacks - 0, articles - 73
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
          好久沒(méi)有更新我的博客了!這幾天在網(wǎng)上看到了關(guān)于Tomcat6.0數(shù)據(jù)庫(kù)連接池配置問(wèn)題,我講下自己配置過(guò)程,不足這處,希望請(qǐng)大家提出來(lái),共同進(jìn)步.
          第一: 首先聲明,這些配置過(guò)程只適合Tomcat6.0,因?yàn)門omcat6.0以下的版本,配置過(guò)程有那么一點(diǎn)不一樣!Tomcat6.0數(shù)據(jù)庫(kù)連接池配置的更加靈活(個(gè)人觀點(diǎn)).

          第一種方式:1.把context.xml(這個(gè)文件名字不能改)文件建到你的工程根目錄下META-INF文件下,這是因?yàn)槟闳绻霌Q別的數(shù)據(jù)庫(kù)連接池方式可以修改這個(gè)文件就OK了,(低版本的好像的去Tomcat目錄下的config文件修改server.xml , 本人認(rèn)為這樣比較死板,這也是因?yàn)門omcat6.0配置更加靈活之處,但是6.0也可以去修改server.xml這個(gè)文件,本人覺(jué)的用第一種方法比較好,如果想試下,可以自己去看一看配置方式).

          代碼:

          <?xml version="1.0" encoding="UTF-8"?>
          <Context path="/studentproject" docBase="studentproject"
              debug="5" crossContext="true" reloadable="true"
              cachingAllowed="true" cacheMaxSize="20480"
              cacheTTL="10000">
          <WatchedResource>WEB-INF/web.xml</WatchedResource>
          <Resource

          name="jdbc/test"
          auth="Container"
          type="javax.sql.DataSource"
          driverClassName="com.mysql.jdbc.Driver"
          url="jdbc:mysql://localhost:3306/bbs?autoReconnect=true"
          username="root"
          password="root"
          maxActive="20"
          maxIdle="10"
          maxWait="-1" />

          </Context>


          下邊解釋幾個(gè)主要屬性:
          path="/studentproject"; studentproject 這是我的工程名字,這里要寫(xiě)上你自己工程名字;
          docBase="studentproject" 同理;
          reloadable="true"------>自動(dòng)加載;
          name="jdbc/test"------>數(shù)據(jù)源的名字其格式不能錯(cuò)jdbc/name,其中test可以自己定
          別的不多說(shuō)了自己看一看應(yīng)該會(huì)明白的.

          2.修改你工程目錄文件WEB-INF下的web.xml文件(注意是你的工程目錄下的).
          代碼如下:

          <?xml version="1.0" encoding="UTF-8"?>
          <web-app version="2.5"
           xmlns="http://java.sun.com/xml/ns/javaee"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
           http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
           
          <resource-ref>  
          <description>DB Connections</description>
          <res-ref-name>jdbc/test</res-ref-name>
          <res-type>javax.sql.DataSource</res-type>
          <res-auth>Container</res-auth>
          </resource-ref> 

          </web-app>
          注意:
          <res-ref-name>jdbc/test</res-ref-name>中間的名字一定要和你name="jdbc/test"名字一樣;

          這樣基本的配置算上完成了,但一定要記得把你的MYSQL5.0驅(qū)動(dòng)jar包考到Tomcat6.0 的lib文件下!


          下邊寫(xiě)個(gè)測(cè)試代碼:

          <%@ page language="java"  pageEncoding="UTF-8"%>
          <%@page contentType="text/html; charset=UTF-8"%>
          <%@page import="java.sql.*" %>
          <%@page import="javax.naming.*" %>
          <%@page import="javax.sql.DataSource" %>
          <head>
          <title>Tomcat6.0 JNDI 測(cè)試!</title>
          </head>
           
            <body>
              This is my JSP page. <br>
              JNDI配置測(cè)試開(kāi)始 ... <br>
          <%
          try {
           //初始化 Context 上下文對(duì)象;
              Context ctx = new InitialContext();

              Context envContext = (Context)ctx.lookup("java:/comp/env");
              DataSource ds = (DataSource)envContext.lookup("jdbc/test"); //查找配置
              //方法二:
              //DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mysql");

              Connection conn = ds.getConnection();

                conn.close();
                out.println("JNDI數(shù)據(jù)源配置成功了");
          } catch (NamingException e) {
              e.printStackTrace();
          } catch (SQLException e) {
              e.printStackTrace();
          }
          %>
            </body>
          </html>

           完了打開(kāi)你的IE:http://localhost:8080/studentproject/MyJsp.jsp 這是我的測(cè)試地址,成功后會(huì)看到如下信息:

          這是Tomcat6.0數(shù)據(jù)庫(kù)連接池測(cè)試!!
          JNDI配置測(cè)試開(kāi)始 ...
          JNDI數(shù)據(jù)源配置成功了

          如果不成功,可能是版本問(wèn)題.這種方法在我的上邊列出版本下測(cè)試通過(guò)!
          有問(wèn)題請(qǐng)發(fā)Email:zzzlyr@163.com

          評(píng)論

          # re: Tomcat6.0+MyEclipse6.0+mysql5.0數(shù)據(jù)庫(kù)連接池配置!  回復(fù)  更多評(píng)論   

          2009-05-06 09:43 by zzzlyr
          不錯(cuò),好的東東!謝謝

          # re: Tomcat6.0+MyEclipse6.0+mysql5.0數(shù)據(jù)庫(kù)連接池配置!  回復(fù)  更多評(píng)論   

          2009-07-27 13:41 by RangerWolf
          真的很好用!非常感謝

          # re: Tomcat6.0+MyEclipse6.0+mysql5.0數(shù)據(jù)庫(kù)連接池配置!  回復(fù)  更多評(píng)論   

          2009-08-16 08:46 by Down_light_Spotlight
          學(xué)習(xí)了新的東西了

          # re: Tomcat6.0+MyEclipse6.0+mysql5.0數(shù)據(jù)庫(kù)連接池配置!  回復(fù)  更多評(píng)論   

          2009-11-09 22:23 by 好象不能連接
          在tomcat6.0的conf/Context.xml可以用﹐在META-INF/Context.xml就不行,用的是Struts2, tomcat dbcp datasource
          大家?guī)兔Ψ治鱿漏u謝謝﹗
          Context.xml:
          <Context>
          <WatchedResource>WEB-INF/web.xml </WatchedResource>
          <Resource name="jdbc/edidb_t" auth="Container" type="javax.sql.DataSource"
          maxActive="10" maxIdel="5" maxWait="1000"
          username="testdb" password="testdb"
          driverClassName="oracle.jdbc.driver.OracleDriver"
          url="jdbc:oracle:thin:@10.186.122.138:1521:RACTT"
          factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" />
          </Context>
          java:
          Context context=new InitialContext();
            DataSource ds=(DataSource) context.lookup("java:/comp/env/jdbc/edidb_t");
            // "java:/comp/env/"是固定寫(xiě)法,后面接的是context.xml中的Resource中name屬性的值
            Connection conn = ds.getConnection();
          error message:
          org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'

          # re: Tomcat6.0+MyEclipse6.0+mysql5.0數(shù)據(jù)庫(kù)連接池配置!  回復(fù)  更多評(píng)論   

          2009-11-09 22:25 by 好象不能連接
          my blog:
          http://hi.csdn.net/Jasun_Li

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 盐山县| 九寨沟县| 基隆市| 长宁区| 南投县| 屯昌县| 游戏| 平阴县| 绿春县| 山阴县| 富锦市| 南宁市| 湘阴县| 清新县| 张家界市| 华阴市| 临沧市| 天等县| 临泉县| 侯马市| 桃园县| 株洲县| 金乡县| 林甸县| 霍城县| 东方市| 龙井市| 成安县| 上思县| 阿克| 乐至县| 开化县| 仁寿县| 琼中| 徐州市| 万年县| 黎川县| 固始县| 湘乡市| 文昌市| 钦州市|