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>

测试结果如下:


说明配置成功。

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