Tomcat配置連接池

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>

測試結果如下:


說明配置成功。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章