jndi的绑定和取出问题
代码如下:package com.test;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
/*
* JNDI一组帮助多个命名和目录服务接口的API
* 是一种标准的java命名接口
* 有点:1.包含大量的命名和目录服务,使用通用的接口来访问不同的服务
* 2.可以同时连接到多个命名或目录服务上
* 3.建立起逻辑关联,允许把名称同java对象资源关联起来而不必知道对象或资源的
* 物理ID.
*/
public class Jndi {
public static void main(String[] args) {
String s="Hello";
try {
Context ctx=new InitialContext();
ctx.bind("name", s);
Context c=new InitialContext();
String str=(String)c.lookup("name");
System.out.println(str);
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
本来想是得到的结果为:Hello呢,可却报出了如下异常:javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.bind(Unknown Source)
at com.test.Jndi.main(Jndi.java:21)
大致意思是:需要指定的环境或系统属性,或作为小程序的参数,或在应用程序资源文件中的类名:
是不是我还要写什么属性文件呀...究竟该怎么样修改呢....在线急等....