文档

Java™ 教程
隐藏目录
检索出区分名称
路径: Java 命名和目录接口
课程: JDK 5.0 和 JDK 6 的新特性

检索特殊名称

在JDK 5.0之前的版本中,没有直接的方法可以从搜索结果中获取到唯一标识名称(DN)。搜索结果的SearchResults.getName()方法总是返回相对于进行搜索的上下文的名称。为了获取搜索条目的绝对名称,需要一定的跟踪祖先上下文的工作。在JDK 5.0中添加了下面两个新的API,用于在执行上下文的搜索、列表或列表绑定操作时从NameClassPair中检索到绝对名称:

下面是一个从LDAP搜索中获取DN的示例:

     public static void printSearchEnumeration(NamingEnumeration retEnum) {
         try {
             while (retEnum.hasMore()) {
                 SearchResult sr = (SearchResult) retEnum.next();
                 System.out.println(">>" + sr.getNameInNamespace());
             }
         } catch (NamingException e) {
             e.printStackTrace();
         }
     }

完整的示例可以从这里获取。这个程序生成的输出如下:

        >>cn=Jon Ruiz, ou=People, o=JNDITutorial
        >>cn=Scott Seligman, ou=People, o=JNDITutorial
        >>cn=Samuel Clemens, ou=People, o=JNDITutorial
        >>cn=Rosanna Lee, ou=People, o=JNDITutorial
        >>cn=Maxine Erlund, ou=People, o=JNDITutorial
        >>cn=Niels Bohr, ou=People, o=JNDITutorial
        >>cn=Uri Geller, ou=People, o=JNDITutorial
        >>cn=Colleen Sullivan, ou=People, o=JNDITutorial
        >>cn=Vinnie Ryan, ou=People, o=JNDITutorial
        >>cn=Rod Serling, ou=People, o=JNDITutorial
        >>cn=Jonathan Wood, ou=People, o=JNDITutorial
        >>cn=Aravindan Ranganathan, ou=People, o=JNDITutorial
        >>cn=Ian Anderson, ou=People, o=JNDITutorial
        >>cn=Lao Tzu, ou=People, o=JNDITutorial
        >>cn=Don Knuth, ou=People, o=JNDITutorial
        >>cn=Roger Waters, ou=People, o=JNDITutorial
        >>cn=Ben Dubin, ou=People, o=JNDITutorial
        >>cn=Spuds Mackenzie, ou=People, o=JNDITutorial
        >>cn=John Fowler, ou=People, o=JNDITutorial
        >>cn=Londo Mollari, ou=People, o=JNDITutorial
        >>cn=Ted Geisel, ou=People,o=JNDITutorial 

上一页: JDK 5.0和JDK 6的新功能
下一页: 标准LDAP控制