JNDI

JNDI全称 Java Naming and Directory Interface 
JNDI是Java平台的一个标准扩展,提供了一组接口、类和关于命名空间的概念。如同其它很多Java技术一样,
JDNI是provider-based的技术,暴露了一个API和一个服务供应接口(SPI)。
这意味着任何基于名字的技术都能通过JNDI而提供服务,只要JNDI支持这项技术。
JNDI目前所支持的技术包括LDAP、CORBA Common Object Service(COS)名字服务、RMI、NDS、DNS、Windows注册表等等。
很多J2EE技术,包括EJB都依靠JNDI来组织和定位实体。 
 JDNI通过绑定的概念将对象和名称联系起来。在一个文件系统中,文件名被绑定给文件。
  在DNS中,一个IP地址绑定一个URL。在目录服务中,一个对象名被绑定给一个对象实体。 
 JNDI中的一组绑定作为上下文来引用。每个上下文暴露的一组操作是一致的。
         例如,每个上下文提供了一个查找操作,返回指定名字的相应对象。
       每个上下文都提供了绑定和撤除绑定名字到某个对象的操作。
     JNDI使用通用的方式来暴露命名空间,即使用分层上下文以及使用相同命名语法的子上下文。 
  jndi的用途: 
 1。你可以用jndi来得到object类的属性 
如:Attribute attr =directory.getAttributes(personName).get("email"); 
  String email = (String)attr.get(); 
 2。你可以用jndi来搜索对象 
如:foxes = directory.search("o=Wiz,c=US", "sn=Fox", controls); 
查找谁的名字叫Fox在wiz部门的员工? 
 3。你可以用jndi通过naming/directory服务查询像printers和databases的对象 
如:查询  Printer 
Printer printer = (Printer)namespace.lookup(printerName); 
printer.print(document); 
 4。你可以用jndi列表出命名空间的特殊级别的内容 
如: 
  NamingEnumeration list = namespace.list("o=Widget, c=US"); 
while (list.hasMore()) { 
  NameClassPair entry = (NameClassPair)list.next(); 
  display(entry.getName(), entry.getClassName()); 
} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值