不知道为什么下面代码中运行到红色那行就报错,好像取得环境命名上下文出的错,请大家帮忙看看报错内容是: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 
代码: 
public static void main(String[] args) { 
     try {                     
     Context initCtx = new InitialContext(); 
     Context envCtx = (Context) initCtx.lookup("java:comp/env"); 
     } catch (NamingException e) { 
         e.printStackTrace(); 
     } 

解决方案 »

  1.   

    你用的是tomcat么?如果是,去看下server.xml文件配置了数据源没有;配置了看名字对不对还忘记说了,你的结贴率太低了点,赶紧把以前的结了吧。影响不好,不然以后很少有人帮你了。
      

  2.   

    Context envCtx = (Context) initCtx.lookup("java:comp/env");  "java:comp/env 有这样的jndi名字?再去检查下吧。
      

  3.   

    你是在tomcat中配置的服务吗?
    这个类必须运行在tomcat环境中才可以,而且要启动tomcat服务器,如果你单独的运行在jvm上是不可以的,你应该在jsp页面上调用就可以了 
      

  4.   

    java:comp/env");   少东西了。没写全
      

  5.   

    initCtx.lookup("java:comp/env/dataSourceName")不是获得dataSource吗