在 Apache 目录服务器中存储 Java 对象,第 2 部分:在 ApacheDS 中存储、搜索和检索 Java 对象(下)
2010-04-19 00:00:00 来源:WEB开发网搜索已访问过的上下文
在进入搜索和反序列化 Alice 的 MessagingPreferences 对象的步骤之前,您可能想回顾一下 图 1,该图显示了位于 Alice 数据条目中的 Alice 的 MessagingPreferences 对象。所以,需要在 Alice 的数据条目中查找 MessagingPreferences 对象。
如何在数据条目 “内部进行查找” 呢?针对这一目的,我们将明确使用搜索上下文 的概念。在这个示例中,需要缩小在第一个应用程序(清单 6 所示的 SearchForAlice)中介绍的搜索上下文。
这项工作在 清单 8 的步骤 9 进行,在这一步骤中将把 Alice 的 RDN(uid=alice)与原来用于搜索 Alice 数据条目的上下文(ou=users,ou=system)合并在一起。生成的上下文(uid=alice,ou=users,ou=system)就可以用来查看 Alice 数据条目内部。
现在来看一下 FetchAliceMessagingPreferences 应用程序剩下的步骤。
构建和使用搜索控件
在 清单 8 的步骤 10 中,实例化了一个 SearchControls 对象,可以用它构建一些搜索控件。搜索控件有两个主要用途:
指定搜索结果中包含的数据类型。在这个示例中,因为您想要检索 Java 对象,所以将调用 SearchControls 对象的 setReturningObjFlag() 方法。这个方法在搜索控件中设置标志,以指定将要执行的获得某一对象的搜索操作。
指定搜索范围。“搜索范围” 意味着您想在特定数据条目中搜索,还是还想在比该条目更低的级别上进行搜索。通过调用 SearchControls 对象的 setSearchScope() 方法,可以设置搜索范围。
过滤搜索结果
在 清单 8 的步骤 11 中,制作了名为 “filter” 的字符串。可以看到 filter 字符串的值是 (|(javaClassName=MessagingPreferences) (javaClassName=ShippingPreferences))。括号中的这两个属性-值对为一个名为 javaClassName 的属性指定了不同的值。还请注意这两个属性-值对之前的 “OR”。这意味着要查询的是 MessagingPreferences 或 ShippingPreferences 对象。
- ››apache设置域名绑定 以及绑定不起作用的排查
- ››apache rewrite将指定URL转向指定的几个服务器
- ››apache配置文件httpd.comf部分参数说明
- ››Apache+Mysql+PHP+phpMyAdmin+Mac OS X 10.7 Lion...
- ››apache+tomcat负载均衡_项目实例
- ››apache mysql php 源码编译使用
- ››Apache添加mod_aspdotnet.so支持ASP.NET配置指南
- ››Apache中改变php.ini的路径
- ››Apache2.2与Tomcat6整合及虚拟主机配置
- ››Apache+php+mysql在windows下的安装与配置图解
- ››服务器群集:Windows 2000 和 Windows Server 200...
- ››服务器维护经验谈 图解DHCP故障排除
更多精彩
赞助商链接