Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 什么是JNDI?我需要它来建立网站吗_Java_Jndi - Fatal编程技术网

Java 什么是JNDI?我需要它来建立网站吗

Java 什么是JNDI?我需要它来建立网站吗,java,jndi,Java,Jndi,我正在为网站学习Java和Spring。有几次我看到了JNDI这个词。 它是什么?我需要学习它还是在构建web应用程序的过程中需要它?Java命名和目录接口(JNDI)是一种用于目录服务的Java API,允许Java软件客户端通过名称发现和查找数据和对象。与所有与主机系统接口的JavaAPI一样,JNDI独立于底层实现。也许你可以用,但我从来没有试过 JNDI是一种方便的方式,应用程序可以说“我需要资源X”,容器(例如Tomcat)可以说“资源X可用,请查看X实际配置的位置” 例如,您可以使用

我正在为网站学习Java和Spring。有几次我看到了JNDI这个词。
它是什么?我需要学习它还是在构建web应用程序的过程中需要它?

Java命名和目录接口(JNDI)是一种用于目录服务的Java API,允许Java软件客户端通过名称发现和查找数据和对象。与所有与主机系统接口的JavaAPI一样,JNDI独立于底层实现。也许你可以用,但我从来没有试过

JNDI是一种方便的方式,应用程序可以说“我需要资源X”,容器(例如Tomcat)可以说“资源X可用,请查看X实际配置的位置”

例如,您可以使用上述机制来避免在代码中硬编码数据库属性。您可以通过配置文件实现同样的效果,但某些上下文(例如:.war文件)配置文件在重新部署之间不会持久化,因此它们不是一个选项

绑定到JNDI的好例子是数据库数据源、对SMTP电子邮件服务器的引用、安全领域等等

将JNDI视为一个
HashMap
,其中键是一个
字符串
,值是一个具体的对象或另一个具有相同结构的
HashMap
。所以定位一个值,比如
jndi://a/b
将决定转到顶级映射,找到键
a
,并期望它的值是另一个映射。然后将在该子映射中查找键
b
,并将相关值返回给用户。

可能重复的