WEB开发网
开发学院软件开发Java 在 Apache 目录服务器中存储 Java 对象,第 2 部分... 阅读

在 Apache 目录服务器中存储 Java 对象,第 2 部分:在 ApacheDS 中存储、搜索和检索 Java 对象(下)

 2010-04-19 00:00:00 来源:WEB开发网   
核心提示: 清单 6 中的搜索应用程序包含 11 个步骤,前两个步骤您应该可以从 清单 1 中回想起来,在 Apache 目录服务器中存储 Java 对象,第 2 部分:在 ApacheDS 中存储、搜索和检索 Java 对象(下)(2),即装入 JNDI 属性并实例化一个 DirContext 对象,可以

清单 6 中的搜索应用程序包含 11 个步骤。前两个步骤您应该可以从 清单 1 中回想起来,即装入 JNDI 属性并实例化一个 DirContext 对象。

可以回想一下,在讨论 清单 1 的步骤 1 中名为 java.naming.provider.url 的 JNDI 属性时,我提到过供应者的 URL 包含两个组件,其中一个是要操作的目录上下文。您可能已经注意到 清单 4 中 java.naming.provider.url 的值是 ou=system。ou=system 字符串可在其中进行工作的目录上下文。所以,所有搜索操作实际上都是在这个目录上下文中执行的。

因为要在这个示例中执行搜索操作,所以可以把 ou=system 目录上下文叫做搜索上下文。现在来看一下搜索应用程序的剩余步骤:

步骤 3. 缩小搜索上下文:已知 Alice 是一个用户,所以不必在整个 ou=system 搜索上下文中搜索 Alice,只需在用户的组织单元(即 ou=users)中搜索即可。

步骤 4. 创建搜索属性:将关于 Alice 的已知信息作为搜索属性。因为知道 Alice 的 uid 和对象类,所以可以创建一个只有两个属性的集合:uid 和 objectClass。可以在 清单 6 的步骤 4 看到这些。(从 第 1 部分 的讨论您应该可以想起 uid 是 RDN 的组件,而不是属性。但在指定搜索参数时,JNDI 要求指定 uid 值,就像它是属性一样。)

步骤 5. 执行搜索:在这里调用 清单 6 的步骤 2 得到的 DirContext 对象的 search() 方法。search() 方法采用了两个参数:第一个参数是在练习的第 3 步创建的搜索上下文,第二个参数是第 4 步的两个属性的集合。search() 方法返回 NamingEnumeration 对象,其中包含搜索结果。

步骤 1 到 5 设置搜索操作。其余的步骤处理 NamingEnumeration 对象并提取搜索结果。

上一页  1 2 3 4 5 6 7  下一页

Tags:Apache 目录 服务器

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接