Tomcat配置mysql連接池:
第一步::首先在tomcat的lib下加入mysql的jar包。
第二步:在Context.xml裏配置以下內容:
<Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource"
username="Spider"
password="Spider"
maxActive="850"
maxidle="80"
maxWait="10000"
removeAbandoned="true"
removeAbandonedTimeout="5"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/Spider"
minEvictableIdleTimeMillis="4000"
timeBetweenEvictionRunsMillis="5000">
</Resource>
網上有說在server.xml裏配置,但我測試了會報:org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'這個錯誤。
第三步:在項目的web.xml裏配置
<!-- tomcat連接池--> <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連接池測試不能用main方法或者單元測試類測試,因爲main函數是獨立入口,不在tomcat的生命週期內。我測試的是直接在項目裏建一個測試jsp,然後啓動tomcat進行測試,測試代碼如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page import="java.sql.*" %> <%@ page import="javax.naming.*" %> <%@ page import="javax.sql.DataSource" %> <html> <body> <h2>Tomcat連接池測試</h2> <% try { //初始化查找命名空間 Context ctx = new InitialContext(); //參數java:/comp/env爲固定路徑 Context envContext = (Context)ctx.lookup("java:/comp/env"); //參數jdbc/mysqlds爲數據源和JNDI綁定的名字 DataSource ds = (DataSource)envContext.lookup("jdbc/mysql"); Connection conn = ds.getConnection(); conn.close(); out.println("<span style='color:green;'>測試成功<span>"); } catch (Exception e) { out.println(e.toString()); } %> </body> </html>
測試結果如下:
說明配置成功。