`
todd841026
  • 浏览: 8176 次
  • 性别: Icon_minigender_1
  • 来自: 河北
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

J2EE总结---JNDI技术 我的所有随笔属于个人总结,有不足之处请回复指出

阅读更多
 

1.       什么是JNDIJava Naming and Directory Interface

JNDI是用于访问不同命名和目录服务的统一API接口;

2.       JNDI的架构和原理

      1.       架构:

         第一层:java代码,是访问JNDI的代码;

         第二层:JNDI API:统一的命名和目录服务接口

         第三层:JNDI Naming ManagerJNDI管理器

         第四层:JNDI SPI:用于构建JNDI实现的框架,能够动态的插入命名和目录服务提供商的产品;

         第五层:命名和目录服务提供商的产品;

         命名和目录服务提供商的产品,例如:DNS,LDAP,NIS,NDS……..;因为这些产品都是不同的提供商提供的产品,所以他们的命名和目录服务的标准不一致,各个目录服务采用的访问协议也是不一样的,所以,要是直接访问他们的话,就要编写不同的java代码来访问他们;因此,JNDI SPI就解决了这个问题,它能动态的插入这些命名和目录服务,能够将其协议专属的目录产品集成到系统中,使得我们能只需要调用一个统一的javaAPI就能够访问插入的产品了;

         2.原理:

               JNDI其实很好理解,他就是一个树状的结构,它的最顶是一个initialContext节点,然后它的下面就是绑定的一些对象或是一些subContext,用JNDI树就能够查找到树中每一个绑定上的节点上的对象的引用;

3.怎样连接到JNDI上?

                  Environment environment = new Environment() ;//创建一个环境对象

                   environment.setProviderurl(“t3://www.blogjava.net”) ;

                   environment.setSecurityPrincipal(“todd”) ;//认证的用户名

                   environment.setSecurityCredentials(“841026”) ;//密码

                   Context context = environment.getInitialContext() ;

         //创建一个subContext并绑定一个对象:

                   Context subContext = context.createSubcontext(“subContext”) ;

                   subContext.rebind(“newObject”,object) ;//绑定的对象必须是可序列化的

                   subContext.close() ;

                   context.close() ;

4.如何通过JNDI查找bind的对象?

         Object object = context.lookup(“User”) ;

         //user窄化到原型

         User user = (User)javax.rmi.PortableRemoteObject.narrow(object, User.class) ;

         context.close() ;



田亮 2007-04-09 08:16 发表评论
分享到:
评论

相关推荐

    J2EE------- 全面简介

    ### J2EE全面简介 #### 一、J2EE概念 Java 2 Platform, Enterprise Edition (J2EE) 是一种企业级应用开发平台标准,它基于 Java 语言,并且为开发分布式多层 Web 应用提供了强大的支持。J2EE 的主要目标是使企业级...

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

    $ java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar [-C] [command] [-A] [address] where: -C - command executed in the remote classfile. (optional , default command is "open /Applications/...

    j2ee-1_4-doc-tutorial

    **Java 2 Platform, Enterprise Edition (J2EE) 1.4 教程文档** Java 2 Platform, Enterprise Edition(J2EE)1.4 是一个用于构建企业级分布式应用程序的平台,它提供了多种服务、API 和服务器端的运行时环境。这个...

    JNDI-Injection-Exploit-1.0-SNAPSHOT-all

    该压缩包"JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar"可能包含了一个JNDI注入攻击的示例或者测试工具,"SNAPSHOT"通常表示这是一个开发中的版本,可能尚未经过完整测试,因此可能存在漏洞或不稳定性。使用这样的...

    J2EE框架---笔记

    总结,J2EE框架提供了丰富的工具和技术,帮助开发者构建高效、可扩展的企业级应用。从Servlet和JSP的基础,到Spring和Hibernate的高级应用,每一个环节都值得深入研究和实践。通过学习和使用这些框架,不仅可以提高...

    J2EE1.5-API.chm英文版

    **J2EE 1.5 API详解** J2EE(Java 2 Platform, Enterprise Edition)是Java平台上用于构建企业级应用程序的框架。1.5版本是J2EE平台的一个重要里程碑,它引入了许多新特性,优化了现有功能,并对开发人员提供了更...

    深入掌握J2EE技术----多个教程

    J2EE,全称为Java 2 Platform, Enterprise Edition,是Java平台的一个版本,专为构建企业级分布式应用程序而设计。这个技术栈包含了多种组件和服务,旨在提供强大的后端支持,如Web服务器、应用服务器、数据库连接、...

    j2ee笔记--很有用的东西

    标题"j2ee笔记--很有用的东西"表明这是一份关于J2EE技术的学习资料,可能包含了开发者在学习或工作中需要的重要知识点,对于面试准备或是日常开发工作都有很大的帮助。 描述"j2ee笔记--当你面试JAVA程序员的时候...

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

    在压缩包中有一个文件名为 "JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar",这很可能是一个Java可执行的jar文件,其中封装了用于演示JNDI注入攻击或者进行安全测试的代码。用户可以通过运行这个jar文件来触发或者...

    J2EE完全参考手册-J2EE部署-pdf.rar_J2EE_java入门_部署_部署 JAVA

    《J2EE完全参考手册-J2EE部署-pdf.rar》是一个针对Java初学者的资源包,主要聚焦于J2EE(Java 2 Platform, Enterprise Edition)的部署知识。J2EE是Oracle公司推出的企业级Java应用平台,用于构建分布式、多层的Web...

    精通J2EE--Eclipse、Struts、Hibernate、Spring整合應用案例

    《精通J2EE--Eclipse、Struts、Hibernate、Spring整合應用案例》是一本深入探讨J2EE平台开发的专业书籍,特别关注了四个关键的技术框架:Eclipse集成开发环境(IDE)、Struts MVC框架、Hibernate对象关系映射(ORM)...

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

    J2EE完全参考手册-J2EE部署-pdf

    《J2EE完全参考手册-J2EE部署》是IT领域一本极为重要的参考资料,尤其对于Java企业级应用开发者来说,它是理解和掌握J2EE部署的关键工具。J2EE(Java 2 Platform, Enterprise Edition)是Oracle公司提供的一个用于...

    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-Injection-Exploit:JNDI注入测试工具(生成JNDI链接的工具可以启动多个服务器来利用JNDI Injection漏洞,例如Jackson,Fastjson等)

    JNDI注入漏洞 描述 JNDI-Injection-Exploit是用于生成可用的JNDI链接并通过启动RMI服务器,... 我们可以用JNDI-Injection-Exploit生成的链接替换“ rmi://127.0.0.1:1099 / Object”,以测试漏洞。 免责声明 所有信

    j2EE-doc-en

    Java 2 Platform, Enterprise Edition (J2EE) 是一个企业级的应用开发平台,它由Sun Microsystems(现已被Oracle收购)开发并推广,用于构建分布式、多层的企业应用程序。"j2EE-doc-en" 提供的是J2EE 5版本的官方...

    j2ee技术大全(包含现在的主流技术)

    **J2EE技术大全概述** J2EE(Java 2 Platform, Enterprise Edition)是Java平台的一个版本,专门针对企业级应用开发。它提供了一个全面的框架来构建、部署和管理多层、分布式、跨平台的企业应用程序。J2EE技术大全...

    JNDI-Inject-Exploit

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

    J2EE课程设计--网上书店.rar

    【J2EE课程设计--网上书店.rar】是一个包含完整的J2EE项目实例,旨在帮助学习者理解和实践如何构建一个基于Java平台的企业级电子商务系统,即网上书店。J2EE(Java 2 Platform, Enterprise Edition)是Java技术在...

    中间件和J2EE技术

    ### 中间件与J2EE技术详解 #### J2EE技术概览 J2EE(Java 2 Platform, Enterprise Edition)是一种广泛应用于企业级应用程序开发的技术框架,它由Sun Microsystems提出并在2001年发布第一个版本。J2EE旨在简化企业...

Global site tag (gtag.js) - Google Analytics