<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Dict.CN 在線詞典, 英語學習, 在線翻譯

    都市淘沙者

    荔枝FM Everyone can be host

    統(tǒng)計

    留言簿(23)

    積分與排名

    優(yōu)秀學習網(wǎng)站

    友情連接

    閱讀排行榜

    評論排行榜

    Tomcat5.0-5.5連接池配置指南 (轉)

    本文以目前最流行的MySQL為例,講解通過Tomcat連接池連接MySQL數(shù)據(jù)庫的基本步驟,如果你了解MySQL可跳過第一步。

      在進行Tomcat連接池配置前,先解壓縮mysql-connector-java-xxx.zip,將其中的mysql-connector-java-3.x.x-xxx.jar取出,置于<%TOMCAT_HOME%>\common\lib中。

      接下來,讓我們一起進入精彩的Tomcat配置之旅。

    一.新建用戶及數(shù)據(jù)庫

    操作步驟如下:

    C:\Documents and Settings\Administrator>d:

    D:\>cd mysql\bin

    D:\MySQL\bin>mysql -u root -p
    Enter password: *******
    Welcome to the MySQL monitor.??Commands end with ; or \g.
    Your MySQL connection id is 51 to server version: 4.1.12a-nt

    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

    mysql> GRANT ALL PRIVILEGES ON jcc.* TO jcc@localhost IDENTIFIED BY 'jsp.com.cn'
    WITH GRANT OPTION;
    Query OK, 0 rows affected (0.01 sec)

    mysql> USE mysql;
    Database changed
    mysql> SELECT Host,User,Password FROM user;
    +-----------+------+-------------------------------------------+
    | Host??????| User | Password??????????????????????????????????|
    +-----------+------+-------------------------------------------+
    | localhost | root | *60D5B730382EC2170CA366DE181767E4C5343DE8 |
    | %???????? | jsp??| *C22AB0FD8A289C7D337C9998B63B8EA8335E5F35 |
    | localhost | jcc??| *C22AB0FD8A289C7D337C9998B63B8EA8335E5F35 |
    +-----------+------+-------------------------------------------+
    3 rows in set (0.01 sec)

    mysql> exit
    Bye

    D:\MySQL\bin>mysql -u jcc -p
    Enter password: **********
    Welcome to the MySQL monitor.??Commands end with ; or \g.
    Your MySQL connection id is 57 to server version: 4.1.12a-nt

    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

    mysql> CREATE DATABASE jcc;
    Query OK, 1 row affected (0.02 sec)

    mysql> USE jcc;
    Database changed
    mysql> CREATE TABLE user(
    ????->?? id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ????->?? name VARCHAR(8) NOT NULL
    ????-> );
    Query OK, 0 rows affected (0.08 sec)

    mysql> INSERT INTO user (name) VALUES ('Corebit');
    Query OK, 1 row affected (0.03 sec)

    mysql> INSERT INTO user (name) VALUES ('Ivan');
    Query OK, 1 row affected (0.03 sec)

    mysql> SELECT * FROM user;
    +----+---------+
    | id | name????|
    +----+---------+
    |??1 | Corebit |
    |??2 | Ivan????|
    +----+---------+
    2 rows in set (0.00 sec)

    mysql>

    二.配置Tomcat連接池

    Tomcat5.0進行如下配置:

    在<%TOMCAT_HOME%>\conf\server.xml的<Host>...</Host>之間加入以下代碼:

    <Context path="" docBase="D:/jcc"
    ????????debug="5" reloadable="true" crossContext="true">

    ??<Logger className="org.apache.catalina.logger.FileLogger"
    ???????????? prefix="localhost_DBTest_log." suffix=".txt"
    ???????????? timestamp="true"/>

    ??<Resource name="jdbc/JCC"
    ?????????????? auth="Container"
    ?????????????? type="javax.sql.DataSource"/>

    ??<ResourceParams name="jdbc/JCC">
    ????<parameter>
    ??????<name>factory</name>
    ??????<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
    ????</parameter>

    ????<parameter>
    ??????<name>maxActive</name>
    ??????<value>100</value>
    ????</parameter>

    ????<parameter>
    ??????<name>maxIdle</name>
    ??????<value>30</value>
    ????</parameter>

    ????<parameter>
    ??????<name>maxWait</name>
    ??????<value>10000</value>
    ????</parameter>

    ????<parameter>
    ???? <name>username</name>
    ???? <value>jcc</value>
    ????</parameter>
    ????<parameter>
    ???? <name>password</name>
    ???? <value>jsp.com.cn</value>
    ????</parameter>

    ????<parameter>
    ?????? <name>driverClassName</name>
    ?????? <value>com.mysql.jdbc.Driver</value>
    ????</parameter>

    ????<parameter>
    ??????<name>url</name>
    ??????<value>jdbc:mysql://localhost/jcc</value>
    ????</parameter>
    ??</ResourceParams>
    </Context>

    Tomcat5.5進行如下配置:

    在<%TOMCAT_HOME%>\conf\server.xml的<Host>...</Host>之間加入以下代碼:

    <Context path="" docBase="D:/jcc"
    ????????debug="5" reloadable="true" crossContext="true">

    ??<Resource name="jdbc/JCC" auth="Container" type="javax.sql.DataSource"
    ?????????????? maxActive="100" maxIdle="30" maxWait="10000"
    ?????????????? username="jcc" password="jsp.com.cn" driverClassName="com.mysql.jdbc.Driver"
    ?????????????? url="jdbc:mysql://localhost/jcc"/>

    </Context>

    三.在<%wwwroot%>/下,新建MySQL數(shù)據(jù)庫連接文件Select.jsp

      Select.jsp源碼如下:

    <%@page contentType="text/html;charset=gb2312"%>
    <%@page import="java.sql.*"%>
    <%@page import="javax.sql.DataSource"%>
    <%@page import="javax.naming.*"%>
    <html>
    <body>
    <%
    try{
    ??Context initCtx=new InitialContext();
    ??DataSource db = (DataSource)initCtx.lookup("java:comp/env/jdbc/JCC");
    ??Connection conn = db.getConnection();
    ??Statement stmt = conn.createStatement();
    ??ResultSet rs = stmt.executeQuery("SELECT * FROM user");
    ??out.println("User-list"+"<br>");
    ??while(rs.next()){
    ????out.print(rs.getString(1)+" ");
    ????out.print(rs.getString(2)+"<br>");
    ??}
    ??rs.close();
    ??stmt.close();
    ??conn.close();
    }
    catch(Exception e){
    ??out.print(e);
    }
    %>
    </body>
    </html>

    四.運行http://localhost/Select.jsp,顯示結果如下:

    User-list
    1 Corebit
    2 Ivan

      則表示數(shù)據(jù)庫連接成功!恭喜!恭喜!

      否則請檢查數(shù)據(jù)庫連接器版本,出錯可能性比較高!

     ?。ⅲ?br />
      Tomcat連接池中,部分參數(shù)說明如下:

      maxActive="100"  <!--最大活躍連接數(shù),這里取值為100,表示同時最多有100個數(shù)據(jù)庫連接。設為0表示無限制。-->

      maxIdle="30"?????? <!--最大的空閑連接數(shù),這里取值為30,表示即使沒有數(shù)據(jù)庫連接時依然可以保持30個空閑的連接,而不被清除,隨時處于待命狀態(tài)。設為0表示無限制。-->

      maxWait="10000"????<!--最大建立連接等待時間。如果超過此時間將接到異常。這里設置為10000,表示10秒后超時。設為-1表示無限制,直到超時為止。-->

    ????jdbc:mysql://localhost/jcc????<!--數(shù)據(jù)庫連接字符串,同jdbc:mysql://localhost:3306/jcc?autoReconnect=true-->

    ????PS:如果最大數(shù)據(jù)庫活躍連接數(shù)過大,可想而知,內存占用量是非常驚人的!如果空閑連接數(shù)過大,則資源利用率低,連接池長期未釋放,可導致連接池結點異常。所以選好maxActive和maxIdle是連接池性能的關鍵因素,當然這取決于服務器環(huán)境。

      *附:

      連接池運作原理:

      在實際應用開發(fā)中,特別是在WEB應用系統(tǒng)中,如果JSP、Servlet或EJB使用JDBC直接訪問數(shù)據(jù)庫中的數(shù)據(jù),每一次數(shù)據(jù)訪問請求都必須經(jīng)歷建立數(shù)據(jù)庫連接、打開數(shù)據(jù)庫、存取數(shù)據(jù)和關閉數(shù)據(jù)庫連接等步驟,而連接并打開數(shù)據(jù)庫是一件既消耗資源又費時的工作,如果頻繁發(fā)生這種數(shù)據(jù)庫操作,系統(tǒng)的性能必然會急劇下降,甚至會導致系統(tǒng)崩潰。數(shù)據(jù)庫連接池技術是解決這個問題最常用的方法,在許多應用程序服務器(例如:Weblogic,WebSphere,JBoss)中,基本都提供了這項技術,無需自己編程,但是,深入了解這項技術是非常必要的。

      數(shù)據(jù)庫連接池技術的思想非常簡單,將數(shù)據(jù)庫連接作為對象存儲在一個Vector對象中,一旦數(shù)據(jù)庫連接建立后,不同的數(shù)據(jù)庫訪問請求就可以共享這些連接,這樣,通過復用這些已經(jīng)建立的數(shù)據(jù)庫連接,可以克服上述缺點,極大地節(jié)省系統(tǒng)資源和時間。

      數(shù)據(jù)庫連接池的主要操作如下:

      (1)建立數(shù)據(jù)庫連接池對象(服務器啟動)。

     ?。?)按照事先指定的參數(shù)創(chuàng)建初始數(shù)量的數(shù)據(jù)庫連接(即:空閑連接數(shù))。

     ?。?)對于一個數(shù)據(jù)庫訪問請求,直接從連接池中得到一個連接。如果數(shù)據(jù)庫連接池對象中沒有空閑的連接,且連接數(shù)沒有達到最大(即:最大活躍連接數(shù)),創(chuàng)建一個新的數(shù)據(jù)庫連接。

     ?。?)存取數(shù)據(jù)庫。

      (5)關閉數(shù)據(jù)庫,釋放所有數(shù)據(jù)庫連接(此時的關閉數(shù)據(jù)庫連接,并非真正關閉,而是將其放入空閑隊列中。如實際空閑連接數(shù)大于初始空閑連接數(shù)則釋放連接)。

     ?。?)釋放數(shù)據(jù)庫連接池對象(服務器停止、維護期間,釋放數(shù)據(jù)庫連接池對象,并釋放所有連接)。

      希望本文能對你使用Tomcat連接池連接MySQL數(shù)據(jù)庫有所幫助!

    參考文獻:
    http://jakarta.apache.org/tomcat/tomcat-5.0-doc/jndi-datasource-examples-howto.html
    http://jakarta.apache.org/tomcat/tomcat-5.5-doc/jndi-datasource-examples-howto.html

    posted on 2006-12-16 11:08 都市淘沙者 閱讀(1301) 評論(0)  編輯  收藏 所屬分類: JSP/PHP

    主站蜘蛛池模板: 亚洲导航深夜福利| 国产国拍亚洲精品mv在线观看 | 羞羞视频在线观看免费| 久久久久国色AV免费看图片| 亚洲精品免费在线视频| 96免费精品视频在线观看| 亚洲黑人嫩小videos| 亚洲免费观看在线视频| 亚洲人成在久久综合网站| 中文字幕乱码免费视频| 亚洲一区在线免费观看| 毛片免费vip会员在线看| 亚洲国产精品嫩草影院| 亚洲国产免费综合| 黄色网页在线免费观看| 亚洲电影国产一区| 美女视频黄的全免费视频| 亚洲一区精彩视频| 免费萌白酱国产一区二区| 一级毛片在线免费视频| 国产精一品亚洲二区在线播放| 无码日韩精品一区二区三区免费| 综合自拍亚洲综合图不卡区| 成人免费福利电影| 日韩大片免费观看视频播放| 日韩亚洲变态另类中文| 黄在线观看www免费看| 亚洲AV无码一区二区三区性色| 亚洲日韩人妻第一页| 99re6在线精品视频免费播放| 激情内射亚洲一区二区三区爱妻| 免费a级毛片在线观看| 免费在线中文日本| 中文字幕乱码亚洲精品一区| 亚洲精品线路一在线观看| 精品一区二区三区免费毛片爱 | 久久久免费的精品| 色偷偷女男人的天堂亚洲网 | 国产精品视频白浆免费视频| 亚洲三级视频在线| 亚洲国产中文v高清在线观看|