JNDI环境简易搭建
笔者近期在做oracle的项目,想用JNDI连接oracle数据库;在网上查阅资料捣鼓了好久才弄好,明明很简单的东西,却老是不成功;做个记录,方便自己,希望也能帮助到你。
附上Oracle驱动包下载地址:http://download.csdn.net/detail/luohuaishao/8046485
1、在Tomcat\lib下加入oracle驱动包,如果没有,你可以在从上述链接得到。
2、在Tomcat\conf下的context.xml文件的<Context>节点下加入如下说明:
<Resource
name="jdbc/name_db"
type="javax.sql.DataSource"
username="system"
password="525000"
driverClassName="oracle.jdbc.driver.OracleDriver"
maxIdle="3"
maxWait="5000"
url="jdbc:oracle:thin:@localhost:1521:SCHOOL"
maxActive="10"/>
3、在你新建的工程项目的web.xml中加入如下说明:
<resource-ref>
<description>dbconnect</description>
<res-ref-name>jdbc/name_db</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
4、在servlet下试试时候链接成功,可参考代码:
try {
Contextctx = new InitialContext();
//此处要添加的是查找数据源的名字 但是要加前缀java:comp/env
DataSourceds = (DataSource) ctx.lookup("java:comp/env/jdbc/name_db");
Connectionconn = ds.getConnection(); // 通过数据源获得数据源中的连接
Stringsql = "select * from T_STUDENT";
PreparedStatementpstmt = conn.prepareStatement(sql);
ResultSetrs = pstmt.executeQuery();
while(rs.next()) {
System.out.println(rs.getString(1));
}
}catch (Exception e) {
e.printStackTrace();
}
注意:1、(2)中的username、password、url中的SCHOOL分别改为自己的数据库用户名、密码和数据库名称。
2、(2)中的name、(3)中的res-ref-name和(4)中lookup()的参数名称要一致。