- 浏览: 99327 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
xqxmh:
哈哈哈哈哈哈
12月编程语言榜单公布 C#等评级创新高 - CSDN新闻 -
niechanggang:
这个图片很是形象,linux也来祭奠了。。
【转】悼念一个伟大的公司——Sun - CSDN新闻
在J2EE中,JNDI的目的是用来查找J2EE服务器的注册资源(如EJB等)
一、JNDI简介
命名服务提供了一种为对象命名的机制,这样你就可以在无需知道对象位置的情况下获取和使用对象。只要该对象在命名服务器上注册过,且你必须知道命名服务器的地址和该对象在命名服务器上注册的JNDI名。就可以找到该对象,获得其引用,从而运用它提供的服务。
利用JNDI可以寻找在命名服务器上注册过的所有对象。
JNDI就是为JAVA中命名和目录服务定义的JAVA API,是命名服务的抽象机制。我们可以直接通过JNDI来操作命名服务,而不要与底层的命名服务器交互,大大减轻了程序员的压力。
二、应用JNDI
1. 启动和关闭JNDI服务器
在用j2ee –verbose启动J2EE 服务器的同时,也就启动了JNDI服务器。一般情况下,J2EE服务器启动的同时,JNDI服务器也就启动了。
J2ee –stop关闭JNDI服务器
2. 获得名字服务的初始环境
Contect ctx=new InitailContext();
这样获得的初妈环境为默认的命名服务。假如你想改变提供JNDI服务的类(或厂商)和提供JNDI服务的命名服务器,可以采用以下方法:
Hashtable Env=new Hashtable();
Env.put(Context.INITIAL_CONTEXT_FACTORY,”com.sun.enterprise.naming.SerialInitContextFactory”);//指定提供命名服务的类名
Env.put(Context.PROVIDER_URL,”localhost:1099”);//指定提供命名服务的服务器名和端口
Context ctx=new InitialContext(env);
2. 对象绑定
用bind(String name,Object o)方法 ,把对象o绑定到名字name上
例:import javax.naming.*;
public class TestJNDI{
public static void main(String[] args){
try{
Context ctx=new InitialContext();
Ctx.bind(“ABC”,”JAVA1”);//把JAVA1字符串绑定到ABC 上
}catch(NamingException e){
e.printStackTrace();
}
}
}
如果名字已绑定或命名服务器没有启动,则会出现NamingException异常
3. 重新绑定
用ctx.rebind(String name,Object o)
如:ctx.rebind(“ABC”,”JAVA2”);//现在ABC就绑定到JAVA2字符串
4. 解除绑定
ctx.unbind(String name);
不过你要确保该名字存在,否则出现NameNotFoundException 异常
5. 查找已绑定的对象
用ctx.lookup(String name);根据name找对象
例:
import javax.naming.*;
public class TestJNDI{
public static void main(String[] args){
try{
Context ctx=new InitialContext();
Object o=ctx.lookup(“ABC”);//根据JNDI名查找绑定的对象
String s=(String)o;//强制转换
}catch(NamingException e){
e.printStackTrace();
}catch(ClassCastException e){
e.printStackTrace();
}
}
}
6. 在EJB中的应用(查找EJB HOME对象)
InitialContext ic=new InitialContext();
Object o=ic.lookup(“java:comp/env/ejb/Hello”);//利用JNDI名查找EJB HOME
HelloHome home=(HelloHome)PortableRemoteObject.narrow(lookup,HelloHome.class);//定位EJB //HOME对象
Hello hello=home.create();//用EJB HOME创建EJB对象
JAVA命名和目录服务(JNDI) - 王朝网络 - wangchao.net.cn
发表评论
-
数据库数据批量SQL导出工具
2011-07-04 16:05 1354好久没有完整的编码了,没有了code带来的乐趣,每天忙碌与b ... -
ultraedit 中中文乱码 的解决方法
2010-08-25 08:24 0ultraedit 中中文乱码 的解决方法 问题:同样的一个 ... -
was配置jms 进行mq的访问方法
2010-09-07 08:24 01、 软件准备,mq、was均安装完毕,此处使用的是mq ... -
db2 ERRORCODE=-4499, SQLSTATE=08001
2010-09-19 06:50 45541、 db2 ERRORCODE=-4499, SQLSTAT ... -
ultraedit 中中文乱码 的解决方法
2010-08-25 08:24 2339ultraedit 中中文乱码 的解决方法 问题:同样的一个 ... -
was配置jms 进行mq的访问方法
2010-09-07 08:24 15891、 软件准备,mq、was均安装完毕,此处使用的是mq ... -
Hibernate3.3使用手册下载chm版
2010-07-15 13:57 1035Hibernate3.3使用手册下载chm版,欢迎下载 -
利用P6SPY +SQL Profiler记录、统计web app对数据库的操作。 - 每日E读 - BlogJava
2010-07-13 05:14 930弄hibernate时,想显示 ... -
P6SPY结合SQL Profile进行数据库调优
2010-07-13 07:51 1059使用p6spy进行数据库操作执行时间的记录极大的方便了数据库程 ... -
设计模式学习笔记,不断更新中……
2010-06-21 03:05 7082010-6-21 设计模式不过是在编程过程中需要遵守的一些 ... -
java容器分类图
2010-05-29 03:07 1010做个笔记 -
关于Hibernate获取JDBC连接 直接执行SQL - 客观,辩证,务实,创新 - JavaEye技术网站
2010-06-09 07:58 1020关于Hibernate获取JDBC连接 直接执行SQL关 ... -
NIO入门pdf分享
2010-04-13 14:39 1173根据IBM developerwork上的教材整理的pdf文档 ... -
守护线程 - walkes - JavaEye技术网站
2010-04-08 01:51 637守护线程 关键字: 守护线程 守护线程是为其他线程的运 ... -
同步、异步、长连接、短连接
2010-04-08 02:24 1754四个概念对应于网络连 ... -
【转】GEF+EMF Step By Step (转) - 嘟嘟 - BlogJava
2010-04-06 04:55 867学习GEF的曲线还是比较陡峭的,建议按照以下步骤来学(要求先熟 ... -
Java 理论与实践: 使用通配符简化泛型使用
2010-04-07 06:37 596Java 理论与实践: 使用通配符简化泛型使用 理解通配 ... -
draw2d
2010-03-29 22:28 628draw2d,画图简单,n多东西的页面展示搞得我筋疲力尽,稳住 ... -
MQ大大降低了程序的耦合性
2010-03-25 03:20 690通过同一个MQ队列的消息读取,可以将不同的程序模块联系起来,大 ... -
关于strtus2上传文件的问题
2010-03-17 06:26 7741、 strtus2在上传文件时,同样将java.io.Fil ...
相关推荐
$ 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/...
Java Naming and Directory Interface (JNDI) 是Java平台中用于访问命名和目录服务的API,它允许程序查找和操作各种命名和目录服务,如 Lightweight Directory Access Protocol (LDAP)、Java Database Connectivity ...
Java Naming and Directory Interface (JNDI) 是Java平台中用于访问和管理命名和目录服务的一组接口和类。它提供了一种标准的方式来查找和访问多种类型的资源,如数据源、对象服务、邮件服务器等。JNDI的核心理念是...
Java Naming and Directory Interface (JNDI) 是Java平台中用于访问各种命名和目录服务的API,它提供了一种统一的方式来查找和访问不同类型的网络资源,如数据库、对象、服务器等。然而,JNDI在带来便利的同时,也...
自用CVE-2018-3191 weblogic反序列化exp。
Moritz Bechler编写,源码地址为:https://github.com/mbechler/marshalsec,下载下来之后使用maven编译,此工具为编译好的jar包,方便没有编译环境的同学们直接jar包开启ldap和rmi服务 开启rmi服务 java -cp ...
### 在Win7系统下抛出java.net.SocketException的解决办法 #### 问题背景及原因分析 在使用MyEclipse开发工具结合JBoss服务器进行项目开发的过程中,遇到一个常见但令人头疼的问题:当启动JBoss服务器时,控制台...
JNDI(Java Naming and Directory Interface)是Java平台提供的一种标准接口,用于访问命名和目录服务。它允许程序查找和操作存储在不同类型的命名或目录服务中的对象,如 LDAP(Lightweight Directory Access ...
java asm jndi_JNDI-Injection-Exploit,用于log4j2漏洞验证 可执行程序为jar包,在命令行中运行以下命令: $ java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar [-C] [command] [-A] [address] 其中: -C ...
# JNDI-Inject-Exploit ## 免责声明 本工具仅面向**合法授权的企业安全测试**,如您需测试本工具的可用性请自行搭建靶机环境,在使用本工具进行检测时,您应确保该行为符合当地的法律法规,并且已经取得了足够的...
在Java应用程序中,JNDI是访问目录和命名服务的标准API,它允许程序查找、绑定和管理网络中的资源。 ApacheDS是一个高性能、灵活且可扩展的LDAP(Lightweight Directory Access Protocol)服务器,它实现了各种 ...
jar包版本9.4.8.v20171121,包含jetty-server-9.4.8.v20171121.jar,jetty-servlet-9.4.8.v20171121.jar,...jetty-annotations-9.4.8.v20171121.jarjetty-deploy-9.4.8.v20171121.jar,jetty-jndi-9.4.8.v20171121.jar
8. **JNDI查找**:在应用服务器环境中,可以通过JNDI服务查找已配置的数据库连接URL,简化配置。 9. **性能优化**:包括预编译的SQL(`PreparedStatement`)、设置适当的超时值、使用最新的驱动版本等。 10. **...
C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。 该jar用于与最新版的c3p0配合使用, 若使用c3p0-0.9.5.2.jar 请下载mchange-...
Apache Tomcat是一款开源的Java Servlet容器,主要用于部署和运行Java Web应用程序,特别是那些基于Java EE的Web应用。在Linux环境中,Tomcat与操作系统紧密结合,提供高效稳定的服务。最新版的Apache Tomcat 8.5.69...
Apache Tomcat是一款开源的Java应用服务器,主要用于运行Java Servlet和JavaServer Pages(JSP)技术。这个"apache-tomcat-8.0.50-windows-x64.zip"压缩包包含了适用于64位Windows操作系统的Tomcat 8.0.50版本。它是...
在Java编程领域,JNDI(Java Naming and Directory Interface)是一个关键的API,它为Java应用程序提供了一种标准的方式来访问命名和目录服务。JNDI 1.2.1是这个接口的一个版本,它在JNDI 1.2的基础上进行了优化和...
java运行依赖jar包
java运行依赖jar包
MySQL Connector/J是MySQL数据库与Java应用程序之间的重要桥梁,它是一个实现了Java Database Connectivity (JDBC) API的驱动程序,使得Java开发者能够通过编写Java代码来访问和操作MySQL数据库。"mysql-connector-...