隨筆-86  評論-33  文章-0  trackbacks-0
          =======學(xué)習(xí)Tomcat5.0連接池總結(jié)========
          Tomcat5.0連接池測試
          1、通過圖形界面在Tomcat5.0里建立DataSource,如果用的專用驅(qū)動將驅(qū)動包放到tomcat/common/lib下。
          2、建立完后server.xml在 <GlobalNamingResources>標(biāo)簽下會增加以下內(nèi)容
          <Resource name="jdbc/Sqlserver" type="javax.sql.DataSource" auth="Container"/>

             
          <ResourceParams name="jdbc/Sqlserver">
                
          <parameter>                                                     <!--factory該參數(shù)需要自己添加-->
                  
          <name>factory</name> 
                  
          <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
           
                
          </parameter>
           
                
          <parameter>

                  
          <name>validationQuery</name>
                  
          <value>select * from bookinfor</value>
                
          </parameter>
                
          <parameter>
                  
          <name>maxWait</name>
                  
          <value>5000</value>
                
          </parameter>
                
          <parameter>
                  
          <name>maxActive</name>
                  
          <value>4</value>
                
          </parameter>
                
          <parameter>
                  
          <name>password</name>
                  
          <value>dada</value>
                
          </parameter>
                
          <parameter>
                  
          <name>url</name>
                  
          <value>Jdbc:Odbc:tushu</value>
                
          </parameter>
                
          <parameter>
                  
          <name>driverClassName</name>
                  
          <value>sun.jdbc.odbc.JdbcOdbcDriver</value>
                
          </parameter>
                
          <parameter>
                  
          <name>maxIdle</name>
                  
          <value>2</value>
                
          </parameter>
                
          <parameter>
                  
          <name>username</name>
                  
          <value>sa</value>
                
          </parameter>
              
          </ResourceParams>


          3、由于WAR部署在webapps下,則要在server.xml的<host>標(biāo)簽下定義相關(guān)內(nèi)容
             手動添加<Context>標(biāo)簽內(nèi)容,其中Context標(biāo)簽內(nèi)定義了WAR文件的部署情況,即該源只針對該應(yīng)用,其下再次定義數(shù)據(jù)源,COPY上面系統(tǒng)生成的數(shù)據(jù)源參數(shù)文件內(nèi)容。同時可以刪除以上由系統(tǒng)生成的數(shù)據(jù)源定義,不刪也可以!即只在<host></host>中定義既可!
          <host>
            <Context>
               <!--數(shù)據(jù)源-->
            </Context>
          </host>

          例子如下:

          <Host appBase="webapps" name="localhost">
                  
          <Context path="/WebData" docBase="D:/Program Files/Tomcat5/webapps/WebData" debug="1" reloadable="true">
                  
          <Resource name="jdbc/Sqlserver" type="javax.sql.DataSource" auth="Container"/>
                  
          <ResourceParams name="jdbc/Sqlserver">
                
          <parameter> 
                  
          <name>factory</name>
           
                  
          <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
           
                
          </parameter>
           
                
          <parameter>

                  
          <name>validationQuery</name>
                  
          <value>select * from bookinfor</value>
                
          </parameter>
                
          <parameter>
                  
          <name>maxWait</name>
                  
          <value>5000</value>
                
          </parameter>
                
          <parameter>
                  
          <name>maxActive</name>
                  
          <value>4</value>
                
          </parameter>
                
          <parameter>
                  
          <name>password</name>
                  
          <value>dada</value>
                
          </parameter>
                
          <parameter>
                  
          <name>url</name>
                  
          <value>Jdbc:Odbc:tushu</value>
                
          </parameter>
                
          <parameter>
                  
          <name>driverClassName</name>
                  
          <value>sun.jdbc.odbc.JdbcOdbcDriver</value>
                
          </parameter>
                
          <parameter>
                  
          <name>maxIdle</name>
                  
          <value>2</value>
                
          </parameter>
                
          <parameter>
                  
          <name>username</name>
                  
          <value>sa</value>
                
          </parameter>
              
          </ResourceParams>
                  
          </Context>
                  
          <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_log."    suffix=".txt" timestamp="true"/>
          </Host>

          4、至此數(shù)據(jù)源Tomcat數(shù)據(jù)源配置完成!
             下面將對數(shù)據(jù)源開始使用
             首先配置應(yīng)用服務(wù)webMoudle的web.xml文件,即添加數(shù)據(jù)源的應(yīng)用定義
           <resource-ref>
              
          <res-ref-name>jdbc/Sqlserver</res-ref-name>   <!--Tomcat中定義的JNDI的名稱-->
              
          <res-type>javax.sql.DataSource</res-type>     <!--數(shù)據(jù)源類-->
              
          <res-auth>Container</res-auth>                <!--容器中-->
            
          </resource-ref>


          5、測試代碼:

          <%@ page contentType="text/html;charset=gb2312"%> 
          <%@ page import="java.sql.*"%>

          <%@ page import="javax.sql.*"%>  
          <%@ page import="javax.naming.*"%>
            
          <html>
           
          <body>
           
          <%

          Context ctx 
          = new InitialContext();
          Connection conn
          =null
          ;
                    ctx 
          = new
           InitialContext();
                    DataSource ds 
          =(DataSource)ctx.lookup("java:comp/env/jdbc/Sqlserver");//查找JNDI數(shù)據(jù)源名

                    conn = ds.getConnection();
          Statement stmt
          =
          conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
          String sql
          ="select * from bookinfor"

          ResultSet rs
          =
          stmt.executeQuery(sql); 
          while
          (rs.next()) {
          out.print(rs.getString(1
          ));
          out.print(rs.getString(2
          ));
          out.print(rs.getString(3
          ));
          }
          out.print("數(shù)據(jù)庫操作成功,恭喜你"
          );
          rs.close(); 
          stmt.close(); 
          conn.close(); 
          %>
           
          </body>
           
          </html>
          posted on 2005-09-11 10:13 Derek.Guo 閱讀(2060) 評論(0)  編輯  收藏 所屬分類: Java
          MSN:envoydada@hotmail.com QQ:34935442
          主站蜘蛛池模板: 松江区| 永仁县| 大姚县| 南郑县| 双鸭山市| 周口市| 海阳市| 湘乡市| 东安县| 绩溪县| 肃北| 沙坪坝区| 益阳市| 永济市| 德昌县| 宁海县| 津市市| 鄂托克旗| 固始县| 台中市| 原平市| 龙口市| 会东县| 凌源市| 宝山区| 如皋市| 恩施市| 钟山县| 柞水县| 康保县| 桦甸市| 吕梁市| 义马市| 嘉祥县| 肇源县| 太和县| 丰宁| 自治县| 浦北县| 吉安市| 宜兰市|