JNDI英文全称是:Java Naming and Directory Interface,Java命名与目录接口。JNDI提供统一的客户端API,通过不同的访问提供者接口JNDI SPI的实现,由管理者将JNDI API映射为特定的命名服务和目录系统,使得Java应用程序可以和这些命名服务和目录服务之间进行交互。JNDI是把 J2EE 应用程序合在一起的粘合剂,但还没有紧到无法让人很容易地把它们分开并重新装配。JNDI 提供的间接寻址允许跨企业交付可伸缩的、功能强大且很灵活的应用程序。
JNDI程序包:
javax.naming:命名操作;
javax.naming.directory:目录操作;
javax.naming.event:在命名目录服务器中请求事件通知;
javax.naming.ldap:提供LDAP支持;
javax.naming.spi:允许动态插入不同实现。
本文的目的只是对JNDI有一个基本的认识,通过一个简单的实例来了解其使用,在日后的学习中会经常用到(诸如EJBs、JMS、JDBC 2.0以及IIOP上的RMI通过JNDI来使用CORBA的命名服务)。
记得在classpath里加上两个可以访问文件系统的jar:fscontext.jar和providerutil.jar。
public class JNDITest {
public static void main(String[] args) {
String name = "C:\\";
Hashtable<String, String> env = new Hashtable<String, String>();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.fscontext.RefFSContextFactory");
try {
// Create the initial context
Context ctx = new InitialContext(env);
// Look up an object
Object obj = ctx.lookup(name);
// Print it
System.out.println(name + " is bound to: " + obj);
} catch (NamingException e) {
System.err.println("Problem looking up " + name + ": " + e);
}
}
}
运行结果:
C:\ is bound to: com.sun.jndi.fscontext.RefFSContext@691f36
找到了我的C盘。。。
源代码和jar文件
下载
posted on 2009-06-07 23:21
chenkkkabc 阅读(118)
评论(0) 编辑 收藏 所属分类:
J2EE