zoukankan      html  css  js  c++  java
  • J2EE技术(一)——JNDI

     一、JNDI基本思想

    JNDI(Java Naming & Directory Interface)即java的命名和目录接口。为开发人员提供了查找和访问的各种命名和目录服务的通用、统一方式。构建在DNS,LDAP等服务之上。

    命名服务提供一种绑定服务,即映射标识符到实体或对象。例如DNS——域名系统 (Domain Name System)就是一种命名服务。有了DNS,可以把容易记忆的名字www.baidu.com与IP地址202.108.22.5联系起来,在访问百度网站时只需要在地址栏中输入www.baidu.com即可。

    目录服务可以简单的理解为特殊的命名服务,目录服务本质上也提供命名服务,只不过在建立名字到实体的映射时还可以设置更多的属性。

    一个使用JNDI命名服务的程序可以分为四层:Java应用程序、JNDI API、JNDI命名管理器,以及不同的命名服务。对于使用命名服务的客户端而言,可以通过统一的接口访问不同的名字服务,这就是JNDI。

    JNDI体系架构

    通过JNDI体系结构可以看出JNDI命名服务是把RMI、CORBA、LDAP等现有命名服务进行封装,对用户提供统一的接口,大大简化了客户端使用命名服务的复杂度。

    二、JNDI优点

         1、只需要学习单一的API就可以访问各种目录服务信息。

         2、将应用程序与协议和实现细节隔离开。

    3、可以连接不同类型的目录服务器。

    三、JNDI在J2EE应用开发中的主要用途

         1、获取Web应用程序的资源引用。

         2、获取EJB对象。

         3、获取JMS对象。

         4、获取数据源对象。

         注:不要将JNDI当做数据库使用:1、JNDI对象存储在内存中;2、访问JNDI对象与网络性能有关。

    三、JNDI API包含的5个包

         1、javax.naming:包含访问命名服务的类和接口。

         2、javax.naming.event: 包含在命名服务中实现事件通知机制的类与接口。

         3、javax.naming.ldap: 包含支持LDAP v3扩展和控制的类与接口。

         4、javax.naming.spi:为服务提供商提供的接口,一般用户不会涉及。

         5、javax.naming.directory:包含访问目录服务的类与接口。

    四、JNDI树

  • 相关阅读:
    从量子加密到机器学习,盘点2015阿里云开放的黑科技
    架构设计:系统存储(24)——数据一致性与Paxos算法(中)
    深入理解Git (一) - 元数据
    IOS Using UIAlertView to show alerts
    gdal hdfs接口数据读取
    /usr/lib64/python2.6/site-packages/pycurl.so: undefined symbol: CRYPTO_set_locking_callback
    linux jexus mono 发布.net webservices web页面
    docker中使用systemd
    基于Open vSwitch搭建虚拟路由器
    Openstack Neutron DVR workflow
  • 原文地址:https://www.cnblogs.com/CharmingDang/p/9663970.html
Copyright © 2011-2022 走看看