Tomcat5.5中配置JNDI DataSource

来源:互联网 发布:mysql 改变表名 编辑:程序博客网 时间:2024/05/19 01:12

JNDI架构实现图
 
对象和名称绑定在一起,通过名称来访问对象
1.什么是JNDI
Java Naming and Directory Interface(java命名和目录服务接口API)
命名服务将名称和对象联系起来,使得我们可以用名称来访问对象
命名和目录服务可以更好的存储共有信息,便于管理
2.JNDI 包
Javax.naming: 包含了访问命名服务的类和接口
比如:Context接口
Javax.naming.directory:对命名包的扩充
提供了访问目录服务的接口和类
Javax.naming.event:提供了对访问命名和目录服务时的时间通知支持
Javax.naming.ldap:对LDAP版本3扩充
Java.naming.spi:这个报提供了一个方法,通过javax.naming和有关包动态
增加对访问命名和目录服务的支持

JNDI分为两个客户端包javax.naming javax.naming.directory和一个服务端包javax.naming.spi
所需要的开发包:commons-pool.jar, commons-dbcp.jar

在TOMCAT_HOME/conf/context.xml 可在此xml文件中加入
<Resource name="jdbc/test" auth="Container"
            type="javax.sql.DataSource" username="数据库用户名" password="密码"
            driverClassName="驱动名" url="数据库地址"
            maxActive="8" maxIdle="4"/>
然后再jsp或者servlet中编写测试代码,查看是否连接成功编写的代码如下:

try {
 Context context = new InitialContext();
 DataSource ds = (DataSource)context.lookup("java:comp/env/jdbc/test");
 Connection conn = ds.getConnection();
 if (conn != null) {
  System.out.println("连u25509 成u21151 2");
 }
 Statement s = conn.createStatement();
 ResultSet rs = s.executeQuery("select * from student");
 if (rs != null) {
  while(rs.next()) {
   String str = rs.getString(2);
  }
 }
} catch (Exception e) {
 e.printStackTrace();
}
Tomcat5.5不支持在TOMCAT_HOME/conf/localhost/目录下配置相应的数据库连接配置文件来建立数据库连接池

原创粉丝点击