Tomcat 5內建DBCP連接池,通過JNDI資源配置實現MySQL數據源管理,免除手寫連接池代碼。
mysql-connector-java-3.0.9-stable-bin.jar或更高版本https://localhost:8080/admin/| 參數 | 示例值 |
|---|---|
| JNDI Name | jdbc/mysql |
| Data Source URL | jdbc:mysql://192.168.0.16/SUBRDB |
| JDBC Driver Class | org.gjt.mm.mysql.Driver |
| User Name | root |
| Password | ******** |
| Max Active Connections | 4 |
| Max Idle Connections | 2 |
| Max Wait for Connection | 500 |
| Validation Query | (空) |
點擊Save → Commit Changes。
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/mysql</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
在%TOMCAT_HOME%\conf\Catalina\localhost\ROOT.xml(或對應WebApp的xml)中添加:
<ResourceLink name="jdbc/mysql" global="jdbc/mysql" type="javax.sql.DataSource" />
將JDBC驅動jar放入兩個位置:
%TOMCAT_HOME%\common\lib\(全局共享)WEB-INF\lib\(應用隔離)<%@ page import="java.sql.*,javax.sql.*,javax.naming.*" %>
<%
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mysql");
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT '12345678' AS test");
if (rs.next()) out.println("測試結果:" + rs.getString("test"));
rs.close(); stmt.close(); conn.close();
%>
重啟Tomcat,訪問測試頁驗證連接池工作正常。