在tomcat下配置:
<Resource
name="jdbc/test"
type="javax.sql.DataSource"
auth="Container"
username="root"
password="123"
url="jdbc:mysql://localhost:3306/test"
driverClassName="com.mysql.jdbc.Driver"
maxActive="100"
maxIdle="30"
maxWait="10000"
/>
属性 描述
name 指定Resource的JNDI名字
auth 指定管理Resource的Manager,它有两个可选值:Container、Application
type 指定Resource所属的Java类名
maxActive 指定数据库连接池中处于活动状态的最大连接数目,0表示不受限制
maxIdle 指定数据库连接池中处于空闲状态的最大连接数目,0表示不受限制
maxWait 指定连接池中连接处于空闲状态的最长时间,超过会抛出异常,-1表示无限
username 指定连接数据库的用户名
password 指定连接数据库的口令
driverClassName 指定连接数据库的JDBC驱动程序
url 指定连接数据库的URL
<resource-ref>
<description>mysqlSource</description>
<res-ref-name>jdbc/test</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<span style="white-space:pre"> </span><res-auth>Container</res-auth>
</resource-ref>
<%@ page language="java" contentType="text/html; charset=gb2312" %>
<%@ page import="javax.naming.*" %>
<%@ page import="javax.sql.*"%>
<%@ page import="java.sql.*" %>
<!--JSP测试JNDI TOMCAT数据源是否配置成功-->
<%
DataSource ds = null;
try{
Context initCtx = new InitialContext();
ds = (DataSource)initCtx.lookup("java:comp/env/jdbc/test");
if(ds!=null){
out.println("DataSource is OK!");
Connection cn=ds.getConnection();
if(cn!=null){
out.println("连接成功");
String sql="select id,loginName,password from user";
try {
PreparedStatement pstmt=cn.prepareStatement(sql);
ResultSet rs=pstmt.executeQuery();
if(rs.next()){
out.println(rs.getString(1));
out.println(rs.getString(2));
out.println(rs.getString(3));
}
} catch (SQLException e) {
e.printStackTrace();
}
}else {
out.println("连接失败");
}
}else{
out.println("获取数据源失败");
}
}catch(Exception ne){
ne.printStackTrace();
out.println(ne.getMessage());
}
%>