这些Java教程是针对JDK 8编写的。本页中描述的示例和实践不利用后续版本中引入的改进,并可能使用不再可用的技术。
请参阅Java语言更改,了解Java SE 9及后续版本中更新的语言功能的摘要。
请参阅JDK版本说明,了解所有JDK版本的新功能、增强功能和已删除或弃用选项的信息。
要从命名服务中查找对象,使用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。