Tomcat6.0 连接池的配置及实例
1. 配置Tomcat目录文件夹conf下的context.xml文件添加如下节点:
SqlServer为:
MySql为:
2. 找到WEB-INF/web.xml 在
<resource-ref>
<description>TestDBdescription>
<res-ref-name>jdbc/testDBres-ref-name>
<res-type>javax.sql.DataSourceres-type>
<res-auth>Containerres-auth>
resource-ref>
3. 编写测试程序代码如下:
package com.szkp;
import java.sql.*;
import javax.naming.*;
import javax.sql.DataSource;
import java.util.*;
public class Conn {
public Connection getCon(){
Connection con=null;
try {
Context ic=new InitialContext();
DataSource data=(DataSource)ic.lookup("java:comp/env/jdbc/testDB");
con=data.getConnection();
} catch (NamingException e) {
e.printStackTrace();
}catch (SQLException e) {
e.printStackTrace();
}
return con;
}
public List getData(Connection con){
List
String sql="select au_lname from authors";
try {
Statement s=con.createStatement();
ResultSet rs=s.executeQuery(sql);
name=new ArrayList
while(rs.next()){
String ss=rs.getString(1);
name.add(ss);
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return name;
}
}
4. 编写测试Jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ page import="com.szkp.*" %>
<%@ page import="java.sql.*" %>
<%
request.setCharacterEncoding("gbk");
response.setContentType("text/html; charset=gb2312");
%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting pagetitle>
<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">
head>
<body>
This is my JSP page. <br>
<%Conn c=new Conn(); %>
<%Connection con=c.getCon(); %>
<%List name=c.getData(con);
for(int i=0;i
out.println(name.get(i)+"
");
}%>
body>
html>