`
猫不吃的鱼
  • 浏览: 157303 次
  • 性别: Icon_minigender_1
  • 来自: 芜湖市
社区版块
存档分类
最新评论

ldap分页排序

    博客分类:
  • JAVA
阅读更多
1、com.sun.jndi.ldap.ctl.VirtualListViewControl vlv分页
需要 sun-jndi-ldapbp.jar

public static void pageAndSort(){
		Hashtable env = new Hashtable();
		env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
		env.put(Context.PROVIDER_URL, "ldap://10.16.15.36:389");
		env.put(Context.SECURITY_AUTHENTICATION, "simple");
		env.put(Context.SECURITY_PRINCIPAL, "uid=yuyong,ou=applications,o=peter.com.cn,o=yy");
		env.put(Context.SECURITY_CREDENTIALS, "java");
		LdapContext ctx = null;
		try {
			ctx = new InitialLdapContext(env, null);
                        //排序字段
			String sortkey="uid";
			int beforeCount=0;
			int afterCount=0;
			int nTargetOffset=2;
                        int nPageSize=10;
			VirtualListViewControl vctl = new VirtualListViewControl(nTargetOffset,beforeCount,afterCount,nPageSize,Control.CRITICAL);;
			ctx.setRequestControls(new Control[]{new SortControl(sortkey,Control.CRITICAL),vctl});
			String retAtt[]={"uid"};
			SearchControls constraints=new SearchControls();
			constraints.setSearchScope(SearchControls.SUBTREE_SCOPE);
			constraints.setReturningAttributes(retAtt);
			NamingEnumeration results=ctx.search("ou=People,o=peter.com.cn,o=yy", "(code=30003357)",constraints);
			while(results!=null&&results.hasMore()){
				SearchResult entry = (SearchResult)results.next();
				System.out.println(entry.getAttributes());
			}
			ctx.close();
		} catch (NamingException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}


2、netscape ldap分页排序
需要下载 ldapsdk.jar

public static void pageAndSort2(){
		String HOST="10.16.15.36";
		int PORT = 389;
		int MIN_CONN_SIZE=1;
		int MAX_CONN_SIZE=5;
		String USER_ID="uid=yuyong,ou=applications,o=peter.com.cn,o=yy";
		String PASSWORD="java";
		ConnectionPool connPool;
		try{
			connPool=new ConnectionPool(MIN_CONN_SIZE,MAX_CONN_SIZE,HOST,PORT);
			LDAPConnection conn=connPool.getConnection();
			conn.authenticate(USER_ID, PASSWORD);
			String []attrs={"uid"};
			LDAPSearchResults res=conn.search("ou=People,o=peter.com.cn,o=yy", LDAPConnection.SCOPE_SUB, "code=30003357", attrs, false);
			LDAPCompareAttrNames compareAttrNames = new LDAPCompareAttrNames("uid",true);
			res.sort(compareAttrNames);
			while(res.hasMoreElements()){
				try{
					LDAPEntry entry=res.next();
					System.out.println(entry.getAttribute("uid").getStringValues().nextElement());
				}catch(Exception e){
					e.printStackTrace();
				}
			}
			connPool.close(conn); 
		}catch(Exception e){
			e.printStackTrace();
		}
		
	}

1
1
分享到:
评论
1 楼 Spring_g 2013-04-27  
这个不是不是开源的吧,我是用unboundid for java 操作openldap的,想实现对查询结果集的培训,

相关推荐

    php网络开发完全手册

    15.3.7 结果集的分页 248 15.3.8 用户动态添加记录 249 15.3.9 用户动态更新记录 251 15.3.10 用户动态删除记录 253 15.4 使用PHP获取MySQL数据库的信息 255 15.4.1 获取数据库的信息 255 15.4.2 获取表的信息 256 ...

    ORACLE9i_优化设计与系统调整

    第一部分 ORACLE系统优化基本知识 23 第1章 ORACLE结构回顾 23 §1.1 Oracle数据库结构 23 §1.1.1 Oracle数据字典 23 §1.1.2 表空间与数据文件 24 §1.1.3 Oracle实例(Instance) 24 §1.2 Oracle文件 26 ...

    java开源包1

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包11

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包2

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包3

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包6

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包5

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包10

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包4

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包8

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包7

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包9

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包101

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    Java资源包01

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    JAVA上百实例源码以及开源项目

    百度云盘分享 简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对...

    JAVA上百实例源码以及开源项目源代码

    Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 ...

Global site tag (gtag.js) - Google Analytics