`
一凡蹈客
  • 浏览: 20876 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

JNDI

    博客分类:
  • Java
 
阅读更多
JNDI 与 静态变量 有什么不同: 命名目录接口,功能和代码中的静态变量有点相同,不过静态变量只在当前程序中使用,而 JDNI 可以有好几个程序来使用。

(
    JNDI走的是网络,因此共享资源是多进程,多机器之间.而静态变量只是本进程共享.
    JNDI主要作用是为分布式开发作服务的,当你需要网络上其它主机给你提供服务时候,可以将该主机的服务注册成JNDI,之后直接从JNDI处获取服务.
)

How to use:

1.创建初始上下文环境
Properties p = new Properties();
//JNDI Server Type 
p.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
//JNDI Server URL
p.put(javax.naming.Context.PROVIDER_URL, "t3://localhost:7001");
//Set Security (Optional)
p.put(javax.naming.Context.SECURITY_PRINCIPAL, "User_Name");
p.put(javax.naming.Context.SECURITY_CREDENTIALS, "User_Password");
//JNDI Context Initial
javax.naming.Context ctx = null;
try {
	ctx = new InitialContext(p);
} catch (NamingException e) {
	e.printStackTrace();
}


2.JNDI操作
2.1 JNDI对象绑定
try {
	String nameString = "Hello World";
	ctx.bind("name", nameString);
} catch (NamingException e) {
	e.printStackTrace();
}

2.2 JNDI对象的重新绑定
try {
	String nameString = "Hello World Rebind";
	ctx.bind("name", nameString);
} catch (NamingException e) {
	e.printStackTrace();
}

2.3 JNDI对象的删除
try {
	ctx.unbind("name");
} catch (NamingException e) {
	e.printStackTrace();
}

2.4 JNDI对象的查找
try {
	String nameStr = (String)ctx.lookup("name");
} catch (NamingException e) {
	e.printStackTrace();
}

2.5 注意重复绑定的问题
try {
	Object obj = ctx.lookup("name");
	if(obj instanceof String)
		ctx.unbind("name");
	String newString = "New World";
	ctx.bind("name", newString);
} catch (NamingException e) {
	e.printStackTrace();
}


How to implement:
分享到:
评论

相关推荐

    jndi-1_2_1.zip_jndi_jndi-1.2.1.jar

    标题中的"jndi-1_2_1.zip_jndi_jndi-1.2.1.jar"表明这是一个关于JNDI的版本1.2.1的开源软件包,其中包含了一个名为"jndi-1.2.1.jar"的JAR文件。这个JAR文件包含了JNDI库的所有实现,使得开发者可以在他们的Java项目...

    jndi-tool JNDI服务利用工具

    "jndi-tool"是一个专门针对JNDI服务的利用工具,它可以被用来测试和利用JNDI相关的安全漏洞。此工具特别关注RMI和LDAP服务,这两种服务是JNDI常用的两种协议。RMI允许Java对象在不同的Java虚拟机之间进行远程调用,...

    Tomcat中JNDI原理

    ### Tomcat中JNDI原理详解 #### 一、引言 Java Naming and Directory Interface (JNDI) 是Java平台中用于访问命名和目录服务的API。它为开发者提供了访问各种命名和目录服务(如DNS、LDAP等)的统一接口。在Tomcat...

    jndi所依赖的jar包

    Java Naming and Directory Interface (JNDI) 是Java平台中用于访问命名和目录服务的API,它为各种不同的命名和目录服务提供了统一的接口。在Java应用程序中,JNDI允许开发者查找和绑定对象,这些对象可以是数据源、...

    JNDI-Injection-Exploit-1.0-SNAPSHOT-all

    《深入解析JNDI注入攻击与防御》 Java Naming and Directory Interface (JNDI) 是Java平台中用于访问各种命名和目录服务的API,它提供了一种统一的方式来查找和访问不同类型的网络资源,如数据库、对象、服务器等。...

    jboss配置MySql的JNDI

    在IT领域,特别是Java应用服务器环境下,JBoss与MySQL数据库的集成是常见需求之一,而JNDI(Java Naming and Directory Interface)在此过程中扮演着关键角色。本文将深入解析如何在JBoss中配置MySQL的JNDI数据源,...

    spring获取weblogic jndi数据源的两种方式

    ### Spring 获取 WebLogic JNDI 数据源的两种方式 在Spring框架中,通过JNDI(Java Naming and Directory Interface)可以方便地访问WebLogic服务器中的数据源。这为应用程序提供了高度解耦的数据访问机制,使得...

    jndi-JNDI-Injection-Exploit

    java asm jndi_JNDI-Injection-Exploit,用于log4j2漏洞验证 可执行程序为jar包,在命令行中运行以下命令: $ java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar [-C] [command] [-A] [address] 其中: -C ...

    JNDIDemo 以及相关文档

    Java Naming and Directory Interface (JNDI) 是Java平台中用于访问命名和目录服务的一组API。JNDI允许Java应用程序查找和操作各种类型的资源,如数据源、对象服务、邮件服务器等,而无需知道这些资源的具体实现细节...

    用JNDI绑定DataSource

    在Java应用中,JNDI(Java Naming and Directory Interface)是一种标准的接口,它允许应用程序查找和使用资源,如数据源(DataSource),而无需直接在代码中硬编码这些资源的位置或配置信息。JNDI的核心理念是将...

    JNDI示例整合SSH

    **标题:“JNDI示例整合SSH”** 在IT领域,`JNDI`(Java Naming and Directory Interface)是Java平台提供的一种标准接口,用于访问命名和目录服务。它允许应用程序查找和操作不同类型的网络资源,如数据源、EJB等...

    JNDI-Injection-Exploit-1.0-SNAPSHOT-all.zip

    Java Naming and Directory Interface (JNDI) 是Java平台中用于访问命名和目录服务的API,它允许程序查找和操作各种命名和目录服务,如 Lightweight Directory Access Protocol (LDAP)、Java Database Connectivity ...

    JNDI简单应用示例

    Java Naming and Directory Interface (JNDI) 是Java平台中用于访问命名和目录服务的一组API。它提供了一种标准的方法来查找和绑定数据,这些数据可以是对象引用、配置信息或者其他资源。JNDI通常与Java应用程序...

    JNDI-Inject-Exploit

    # JNDI-Inject-Exploit ## 免责声明 本工具仅面向**合法授权的企业安全测试**,如您需测试本工具的可用性请自行搭建靶机环境,在使用本工具进行检测时,您应确保该行为符合当地的法律法规,并且已经取得了足够的...

    JNDI学习文档.doc

    **Java Naming and Directory Interface (JNDI) 是Java平台中用于访问命名和目录服务的一组API。它提供了一个统一的接口来查找、访问和管理分布式系统中的资源,如数据库连接池、邮件服务器、对象服务等。JNDI的核心...

    com.sun.jndi.ldap.jar

    JNDI是一个接口,提供了一种标准的方式来访问命名和目录服务,而LDAP则是一种网络协议,常用于存储和查询用户账户、组信息、配置数据等结构化信息。 JNDI的主要作用是将Java应用程序与各种不同的命名和目录服务连接...

    jndi数据库查询例子

    **JNDI(Java Naming and Directory Interface)数据库查询例子** JNDI是Java平台中用于查找和绑定资源的接口,它允许程序通过名称查找数据源、对象服务等。在Java应用中,特别是企业级Java应用中,JNDI被广泛用于...

    JNDI配置详细介绍

    ### JNDI配置在Tomcat中的详细介绍 JNDI(Java Naming and Directory Interface)是Java平台的一个标准接口,用于访问命名和目录服务。在企业级应用中,JNDI常被用于查找和引用各种资源,如数据库连接、消息队列等...

Global site tag (gtag.js) - Google Analytics