package common;
import java.sql.Connection;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
/**
* 通过JNDI获取数据源
*
* @author 范光洲 时间:2008年12月8日22:37:09
*/
public
class
DBConnection {
/**
* 通过JNDI获取数据源在获取连接对象
*
* @return Connection con
*/
public
static
Connection getCon(){
Connection con =
null
;
try
{
Context ic =
new
InitialContext();
DataSource source = (DataSource)ic.lookup(
"java:comp/env/jdbc/books"
);
con = source.getConnection();
}
catch
(NamingException e) {
System.
out
.println(
"数据源没找到!"
);
e.printStackTrace();
}
catch
(SQLException e) {
System.
out
.println(
"获取数连接对象失败!"
);
e.printStackTrace();
}
return
con;
}
}
JNDI的配置:
1.context.xml文件的配置:
<Resource name=
"jdbc/books"
auth=
"Container"
type=
"javax.sql.DataSource"
maxActive=
"100"
maxIdle=
"30"
maxWait=
"10000"
username=
"sa"
password=
"123"
driverClassName=
"com.microsoft.sqlserver.jdbc.SQLServerDriver"
2.web.xml文件的配置:
<resource-
ref
>
<res-
ref
-name> jdbc/books </res-
ref
-name>
<res-type> javax.sql.DataSource </res-type>
<res-auth> Container </res-auth>
</resource-
ref
>
3.添加数据库驱动文件:
通过数据源访问数据库,由于数据源由Tomcat 维护,所有必须把JDBC驱动程序复制到Tomcat的common/lib目录下。
|
Java使用JNDI技术获取DataSource对象
最新推荐文章于 2024-08-19 11:44:41 发布