`

JNDI接触

 
阅读更多

Java Naming and Directory Interface,Java命名和目录接口;

百度百科提到:

命名服务将名称和对象联系起来,使得我们可以用名称访问对象。目录服务是一种命名服务,在这种服务里,对象不但有名称,还有属性。

命名服务:

给对象起个名称,并将名称和该对象绑定,然后可以通过名称找到相应的对象;

目录服务:

不只保存对象和对应名称的关联,对象还有各种属性,并且可以对属性进行增删改查;

JNDI会在内存中构件一个树形结构或叫层次结构,保存名称和对象、属性;(个人理解)

JNDI类似Jdbc,有两套接口,一套给厂商使用,另一套给开发者使用;

Tomcat自己提供了连接池,但需要以JNDI的方式访问;

Tomcat作为厂商提供了IntialContext的实现;

java:comp/env -->固定名称,JNDI的命名空间,访问入口;

Tomcat6.X配置自己的连接池,示例:

$Tomcat_home/conf/catalina/localhost/a.xml:

<Context>

<Resource

name="jdbc/news" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="orcl" password="name" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@localhost:1521:orcl" />

</Context>

jdbc/news:是数据库连接的jndi名称,可通过这个名称获得连接;

Tomcat5.5配置自己的连接池,除了上面的配置还需配置web.xml:

<web-app>

<resource-ref> <description>news DataSource</description> <res-ref-name>jdbc/news</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth></resource-ref>

</web-app>

(参考http://blog.csdn.net/qy1387/article/details/8053962

配置结束后,需要在代码中通过jndi调用:

Context ctx = new InitialContext();

DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/news");

Connection conn = ds.getConnection();

(以上全文,如有不正确,欢迎指正!)

分享到:
评论

相关推荐

    Tomcat中JNDI原理

    简单我tomcat5.0中的JNDI应用

    jndi-tool JNDI服务利用工具

    JNDI服务利用工具 RMI/LDAP,支持部分场景回显、内存shell,高版本JDK场景下利用等,fastjson rce命令执行,log4j rce命令执行 漏洞检测辅助工具

    关于JNDI测试项目

    JNDI测试项目JNDI测试项目JNDI测试项目JNDI测试项目JNDI测试项目JNDI测试项目JNDI测试项目JNDI测试项目JNDI测试项目JNDI测试项目JNDI测试项目JNDI测试项目JNDI测试项目JNDI测试项目JNDI测试项目JNDI测试项目JNDI测试...

    jboss配置MySql的JNDI

    jboss配置MySql的JNDI

    hibernate 3.1+tomcat 5.5.x(配置jndi)

    hibernate 3.1+tomcat 5.5.x(配置jndi)hibernate 3.1+tomcat 5.5.x(配置jndi)hibernate 3.1+tomcat 5.5.x(配置jndi)hibernate 3.1+tomcat 5.5.x(配置jndi)hibernate 3.1+tomcat 5.5.x(配置jndi)hibernate 3.1+...

    jndi配置

    jndi配置,jndi配置jndi配置jndi配置jndi配置jndi配置jndi配置jndi配置

    JNDI基础教程课件

    jndi入门学习资料,介绍jndi基本原理,安装和使用,基本配置

    jndi-1_2_1.zip_jndi_jndi-1.2.1.jar

    在JAVA编程中对JNDI的支持.是一个开放的源码.

    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 ...

    tomcat jndi数据源解密factory

    自定义jndi数据源factory类,用于解密jndi中的加密数据,解密方式为DES,具体可根据实际需求修改。

    JNDI Java操作示例

    JNDI java操作示例,JNDI java操作示例

    jndi jndi jndi

    jndi.jndi.jndi.jndi.jndi.jndi.jndi.jndi.jndi.

    Windows_7_下搭建LDAP服务器并使用JNDI

    Windows_7_下搭建LDAP服务器并使用JNDI Windows_7_下搭建LDAP服务器并使用JNDI Windows_7_下搭建LDAP服务器并使用JNDI

    JNDI配置详细介绍

    tomcat的JNDI配置详细介绍 介绍详细,思路清晰

    jndi所依赖的jar包

    jndi所依赖的jar包,fscontext.jar和providerutil.jar,jndi.jar 将jndi.jar复制到%JAVA_HOME%\jre\lib\ext目录下就可得到持久的扩展

    hibernate中jndi的配置使用

    配置了tomcat之后发现jndi好简单啊,可是碰到了hibernate该怎么做呢,本例详细解析

    JNDI配置原理详解.doc

    JNDI配置原理详解 JNDI配置原理详解.doc

    tomcat8 JNDI数据源加密

    TOMCAT8 JNDI对用户名和密码加密

    JNDI配置方法详解

    JNDI(Java Naming and Directory Interface)是SUN公司提供的一种标准的Java命名系统接口,JNDI提供统一的客户端API,通过不同的访问提供者接口JNDI SPI的实现,由管理者将JNDI API映射为特定的命名服务和目录系统,...

Global site tag (gtag.js) - Google Analytics