Tomcat 5.0-5.5連接池配置指南

發表于:2007-06-22來源:作者:點擊數: 標簽:
本文以目前最流行的MySQL為例,講解通過Tomcat連接池連接MySQL數據庫的基本步驟,如果你了解MySQL可跳過第一步。 在進行Tomcat連接池配置前,先解壓縮 mysql -connector- java -xxx.zip,將其中的mysql-connector-java-3.x.x-xxx.jar取出,置于\common\lib中

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

  在進行Tomcat連接池配置前,先解壓縮mysql-connector-java-xxx.zip,將其中的mysql-connector-java-3.x.x-xxx.jar取出,置于\common\lib中。
  
  接下來,讓我們一起進入精彩的Tomcat配置之旅。
  
  一.新建用戶及數據庫
  
  操作步驟如下:
  
  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進行如下配置:
  
  在\conf\server.xml的...之間加入以下代碼:
  
     factory   org.apache.commons.dbcp.BasicDataSourceFactory
  
     maxActive   100
  
     maxIdle   30
  
     maxWait   10000
  
     username   jcc
  
     password   jsp.com.cn
  
      driverClassName    com.mysql.jdbc.Driver
  
     url   jdbc:mysql://localhost/jcc
  
  Tomcat5.5進行如下配置:
  
  在\conf\server.xml的...之間加入以下代碼:
  
  三.在/下,新建MySQL數據庫連接文件Select.jsp
  
  Select.jsp源碼如下:
  
  "); while(rs.next()){  out.print(rs.getString(1)+" ");  out.print(rs.getString(2)+"
  "); } rs.close(); stmt.close(); conn.close();}catch(Exception e){ out.print(e);}%>
  
  四.運行http://localhost/Select.jsp,顯示結果如下:
  
  User-list
  1 Corebit
  2 Ivan
  
  則表示數據庫連接成功!恭喜!恭喜!
  
  否則請檢查數據庫連接器版本,出錯可能性比較高!
  
 ?。ⅲ?br />  
  Tomcat連接池中,部分參數說明如下:
  
  maxActive="100"  
  
  maxIdle="30"
  
  maxWait="10000"
  
  jdbc:mysql://localhost/jcc
  
  PS:如果最大數據庫活躍連接數過大,可想而知,內存占用量是非常驚人的!如果空閑連接數過大,則資源利用率低,連接池長期未釋放,可導致連接池結點異常。所以選好maxActive和maxIdle是連接池性能的關鍵因素,當然這取決于服務器環境。
  
 ?。剑?br />  
  連接池運作原理:
  
  在實際應用開發中,特別是在WEB應用系統中,如果JSP、Servlet或EJB使用JDBC直接訪問數據庫中的數據,每一次數據訪問請求都必須經歷建立數據庫連接、打開數據庫、存取數據和關閉數據庫連接等步驟,而連接并打開數據庫是一件既消耗資源又費時的工作,如果頻繁發生這種數據庫操作,系統的性能必然會急劇下降,甚至會導致系統崩潰。數據庫連接池技術是解決這個問題最常用的方法,在許多應用程序服務器(例如:Weblogic,WebSphere,JBoss)中,基本都提供了這項技術,無需自己編程,但是,深入了解這項技術是非常必要的。
  
  數據庫連接池技術的思想非常簡單,將數據庫連接作為對象存儲在一個Vector對象中,一旦數據庫連接建立后,不同的數據庫訪問請求就可以共享這些連接,這樣,通過復用這些已經建立的數據庫連接,可以克服上述缺點,極大地節省系統資源和時間。
  
  數據庫連接池的主要操作如下:
  
 ?。?)建立數據庫連接池對象(服務器啟動)。
  
 ?。?)按照事先指定的參數創建初始數量的數據庫連接(即:空閑連接數)。
  
 ?。?)對于一個數據庫訪問請求,直接從連接池中得到一個連接。如果數據庫連接池對象中沒有空閑的連接,且連接數沒有達到最大(即:最大活躍連接數),創建一個新的數據庫連接。
  
 ?。?)存取數據庫。
  
 ?。?)關閉數據庫,釋放所有數據庫連接(此時的關閉數據庫連接,并非真正關閉,而是將其放入空閑隊列中。如實際空閑連接數大于初始空閑連接數則釋放連接)。
  
 ?。?)釋放數據庫連接池對象(服務器停止、維護期間,釋放數據庫連接池對象,并釋放所有連接)。
  
  希望本文能對你使用Tomcat連接池連接MySQL數據庫有所幫助!

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97