天天看點

Tomcat 5.5.x + mysql 5.0.x 配置連接配接池

一、在tomcat/conf/server.xml

1.<GlobalNamingResources></GlobalNamingResources>之間添加

複制内容到剪貼闆代碼:

<Resource

      name="jdbc/mysql"    //這個名字可以随便取,連接配接時用到的,

      type="javax.sql.DataSource"

      password="mysql的登入使用者密碼"

      driverClassName="com.mysql.jdbc.Driver"

      maxIdle="10"

      maxWait="1000"

      username="mysql的登入使用者"

      url="jdbc:mysql://localhost:3306/test"   //test 是你的JSP檔案.

      maxActive="20"/>

2.在</Host>這之前添加

複制内容到剪貼闆代碼:

<Context

            docBase="你的服務目錄"

            path="/虛拟路徑"

            reloadable="true">

            <ResourceLink

                global="jdbc/mysql"

                name="jdbc/mysql"

                type="javax.sql.DataSourcer"/>

</Context>

二、在tomcat/conf/context.xml,<Context></Context>之間添加

複制内容到剪貼闆代碼:

<Resource

      name="jdbc/mysql"

      type="javax.sql.DataSource"

      password="mysql的登入使用者密碼"

      driverClassName="com.mysql.jdbc.Driver"

      maxIdle="10"

      maxWait="1000"

      username="mysql的登入使用者"

      url="jdbc:mysql://localhost:3306/test"

      maxActive="20"/>

<ResourceLink

                global="jdbc/mysql"

                name="jdbc/mysql"

                type="javax.sql.DataSourcer"/>

注意: 這一步重要,要不然後,

報錯javax.naming.NameNotFoundException: Name is not bound in this Context 錯誤

三、下面是測試檔案

testDataSource.jsp

複制内容到剪貼闆代碼:

<%@ page language="java" pageEncoding="UTF-8"%>

<%@ page import="java.sql.*" %>

<%@ page import="javax.sql.*" %>

<%@ page import="javax.naming.*" %>

<%

Connection con = null;

Statement sm = null;

ResultSet rs = null;

try {

        InitialContext ctx = new InitialContext();

        Context envctx = (Context)ctx.lookup("java:comp/env");

        DataSource ds = (DataSource)envctx.lookup("jdbc/mysql");

        con = ds.getConnection();

        sm = con.createStatement();

        rs = sm.executeQuery("select * from person"); //對應改

        while(rs.next()) {

                out.println(rs.getString(1)+",");

        }

}catch(Exception e) {

        e.printStackTrace();

}finally {

        if(rs !=null) {

                try {

                        rs.close();

                } catch(SQLException e) {}

                rs = null;

        }

        if(sm != null) {

                try {

                        sm.close();

                } catch(SQLException e) {}

                sm = null;

        }

        if(con != null) {

                try {

                        con.close();

                } catch(SQLException e) {}

                con = null;

        }

}

%>

說明: JDBC確定放在Tomcat/common/lib目錄下