JNDI也看了这么多资料,也没有完全搞懂它,今天讲讲JNDI的基础知识部分,下一个部分会说JNDI的实例。
JNDI包括了两个部分,一个部分叫做命名服务,一个部分叫做目录服务。
命名服务,比如我们的dns,就是通过一个名称映射到另一个对象。比如dns服务,我们输入www.baidu.com这个网址时,它会帮我们自动从域名服务器中找到它对应的ip地址。
目录服务,可以理解为一个非关系型的数据库吧,一般可以用树结构来理解。
看了书上很多的知识理论,总是觉得有点云里雾里的,下面我用自己比较通俗的理解来阐述什么事jndi,并且为后面jndi的实例做准备。
首先,jndi的作用是让我们的应用程序可以像在本地一样调用远程的类的方法。
既然,调用远程的类,jndi是这样做的,我们首先要初始化一个jndi的上下文环境。这主要是jndi采用什么样的目录服务提供程序,然后我们把jndi注册到一个服务器上的端口上,这样就相当于一个远程对象的容器了。
有了这个容器,我们下一步要做的当然就是往这个容器里面放置远程的对象喽,因此我们创建好jndi的环境之后就是向这个容器里绑定对象。当然这个对象要是可序列话的,因为毕竟是远程对象,所以它肯定要在网络上是可以传输的。
第三步,我们想要访问远程对象,远程对象在哪里,远程对象注册到了jndi环境中,jndi环境注册到了服务器上的端口上。因此,我们从指定的服务器端口来初始化jndi环境,得到服务器上的jndi环境之后,我们就可以通过lookup来寻找绑定在上面的远程对象了对不对。
上面的应该很好理解了吧,得到了远程对象之后,我们就可以调用它的方法了。下一篇我们将通过一个实例来具体展示什么事jndi。