请问jndi和ldap分别是干什么的?有什么区别??使用jndi需要做什么部署,启动什么服务???刚学,不太明白

allen830826 2004-02-02 06:54:48
3x
...全文
221 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
allen830826 2004-02-03
  • 打赏
  • 举报
回复
jndi不也是存储对象的吗?和ldap又有什么不同?
allen830826 2004-02-03
  • 打赏
  • 举报
回复
也就是说jndi必须和DNS或者LDAP结合起来使用,单独使用LDAP是没有意义的?就像JDBC必须用在数据库上,对不对?
马行空牛耕田 2004-02-03
  • 打赏
  • 举报
回复
augustbu 2004-02-03
  • 打赏
  • 举报
回复
JNDI就象JDBC,JDBC是Java提供的连接不同数据库的统一接口,只要数据库供应商提供了实现这一接口的Driver. 而JNDI是Java程序使用访问名字目录服务(比如:DNS,LDAP等)的统一接口,正如上面3936525(笑苍天) 给出的,只要你给出ContextFactory以及服务器的地址,就可以访问这些名字目录服务了。具体请参考:http://java.sun.com/j2se/1.4.2/docs/guide/jndi/
3936525 2004-02-02
  • 打赏
  • 举报
回复
你该知道DNS把
其实和ldap差不多的
都是提供目录服务
在java里你可以用ldap储存java对象
这样的话需要一个ldap服务器
在服务器上对象要有一个绑定名字,比如allen
然后你就可以在java中通过这个名字获得和这个名字绑定的对象

比如
InitialContext ctx=new InitialContext();
Allen allen=(Allen)ctx.lookup("allen");

在new InitialContext()的时候一般需要提供一个包含ContextFactory以及ldap的地址如:ldap://localhost:port的Properties对象
如:
Properties p=new Properties();
p.put("Context.INITIAL_FACTORY,"工厂的类名");
p.pur("Context.PROVIDER_URL,"服务器地址");
然后
InitialContext ctx=new InitialContext(p);
Allen allen=(Allen)ctx.lookup("allen");
就可以得到这个对象了

大致就是这样的
allen830826 2004-02-02
  • 打赏
  • 举报
回复
名字我知道啊
可还是不理解什么意思~!
3936525 2004-02-02
  • 打赏
  • 举报
回复
LDAP是轻量级目录服务(Lightweight Directory access protocol)
JNDI是java命名和目录接口(java Naming and Directory Interface)
从名字应该能看出来吧
jndi提供了在LDAP上执行标准操作的方式)
allen830826 2004-02-02
  • 打赏
  • 举报
回复
up

67,536

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧