在网上看到一些数据库连接池的资料,自己照着弄了,老报错,觉得挺烦的,不过还是弄好了,觉得比较全面,发上来跟大家分享分享。
一、 在我们的tomcat5.5的安装文件下有一个apache-tomcat-5.5.15压缩包,把解压缩后的文件拷贝到安装好的目录下面,将里面conf和server下的admin.xml和admin文件分别拷贝到tomcat相应的文件目录下。
二、将数据库架包导入commer下lib
三、准备工作做好后。如果你的东西都没有放错的话,就可以进入tomcat控制台http://localhost:8080/admin
四、 l在Resources中的Data Sources中的jndi配置 ,填写好个参数,记住你的连接池名字
五、 l配置config/context.xml
l<Resource ¡auth=“Container”
¡Description=“test”
l name="jdbc/SQL"
l type="javax.sql.DataSource"
l password=""
l driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
l maxIdle="2"
l maxWait="5000"
l username="sa"
l url=“jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pubs”
lmaxActive="4"/>
六、 l在tomcat/conf/Catalina/localhost下新建一个与你web文件夹同名的xml文件(我的是testsql.xml)
l l 这一步非常重要,如果没有这步就会出错,会出现org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null' l l 这样的错误,在文件中加入第2步的内容,如下: l
l <?xml version="1.0" encoding="UTF-8"?>
<Context>
l <Resource
l name="jdbc/SQL"
l type="javax.sql.DataSource" l
password="" l
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" l
maxIdle="2" l
maxWait="5000" l
username="sa" l
url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pubs" l
maxActive="4"/> </Context>
(“|”是换行 要删掉)
七、测试文件如下
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'testPool.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
This is my JSP page. <br>
<%
Connection conn=null;
Context initCtx=new InitialContext();
Context ctx=(Context)initCtx.lookup("java:comp/env");
javax.sql.DataSource ds=(javax.sql.DataSource)ctx.lookup("jdbc/SQL");
conn=ds.getConnection();
Statement stmt=conn.createStatement();
PreparedStatement ps=conn.prepareStatement("select * from USERS");
ResultSet rs=ps.executeQuery();
while(rs.next()){
out.println(rs.getString(1)+"<br>");
}
rs.close();
stmt.close();
out.println("ok");
%>
</body>
</html>