在WebRoot下-INF目录中新建文件context.xml,内容如下
<Context path="/doclib" docBase="doclib" debug="5" reloadable="true" crossContext="true" >
<Resource name="jdbc/doclib" auth="Container"
type="javax.sql.DataSource" username="" password=""
driverClassName="sun.jdbc.odbc.JdbcOdbcDriver" url="jdbc:odbc:doclib"
maxActive="8" maxIdle="4"/>
</Context>
用于取得数据库连接的Java Bean
import java.sql.Connection;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
/**
* 从系统配置的JNDI数据连接池中获得数据库连接
*
* @author jimshen
*
*/
public class JndiBean {
/**
* 从系统配置的JNDI数据连接池中获得数据库连接
*
* @return 获得的数据库连接,该连接在使用之后应该释放(close)
* @throws Exception
*/
public static Connection getConnection() throws Exception {
Connection conn = null;
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbc/doclib");
if (ds != null) {
conn = ds.getConnection();
} else
throw new Exception("Can't find JNDI data source!");
if (conn == null)
throw new Exception("Can't establish connection!");
return conn;
}
}
使用示例
Connection conn=JndiBean.getConnection();
....
conn.close();
没有评论:
发表评论