查找对象

要从命名服务中查找对象,请使用Context.lookup()并将其名称传递给您要检索的对象。假设命名服务中存在一个名称为cn=Rosanna Lee,ou=People的对象。要检索对象,您可以编写

Object obj = ctx.lookup("cn=Rosanna Lee,ou=People");

lookup\(\)返回的对象的类型既取决于基础的命名系统,也取决于与对象本身关联的数据。命名系统可以包含许多不同类型的对象,并且在系统的不同部分中查找对象可能会产生不同类型的对象。在此示例中,"cn=Rosanna Lee,ou=People"正巧绑定到上下文对象(javax\.naming\.ldap\.LdapContext)。您可以将lookup\(\)的结果强制转换为其目标类。

例如,以下代码查找对象"cn=Rosanna Lee,ou=People"并将其强制转换为LdapContext

import javax.naming.ldap.LdapContext;
...
LdapContext ctx = (LdapContext) ctx.lookup("cn=Rosanna Lee,ou=People");

完整的示例在文件Lookup.java中。

查找示例图

Java SE 6 中提供了两种新的静态方法来查找名称:

这些方法提供了一种在不实例化 InitialContext 的情况下查找名称的快捷方式。