Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
这两句在我自己写的main()调用有错
我用jsp里面调用这两句就没错,不知道为啥?
[b]问题补充:[/b]
那是因为tomcat已经绑定了这个jndi上下文
那我如何在main()里面使用这两句呢
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
因为你的main方法的那个当前类没有绑定这个jndi,当然没法调用Context envCtx = (Context) initCtx.lookup("java:comp/env"); 去查找这个上下文
要设计环境上下文变量
Context initCtx = new InitialContext(有个构造器是要传递环境上下文变量的);
你去google搜索下吧
那是因为tomcat已经绑定了这个jndi上下文啊
JNDI的上下文获取要通过一些配置的...
如果一定想要在普通 Java类里面用到,可以去查看JSP编译后的java文件...放在
tomcat-home\work\catalina\localhost....看这里面是怎么获取的,
你是在tomcat里绑定的jndi,怎么能脱离tomcat来获取jndi对象呢?