本帖最后由 xyylove520 于 2010-02-23 15:54:09 编辑

解决方案 »

  1.   

    这是报的异常
    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(NamingManager.java:645) 
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247) 
    at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:284) 
    at javax.naming.InitialContext.lookup(InitialContext.java:351) 
    at com.ccit.xyy.util.DBUtils.init(DBUtils.java:34) 
    at com.ccit.xyy.util.DBUtils. <init>(DBUtils.java:21) 
    at com.ccit.xyy.util.DBUtils.main(DBUtils.java:77) 
      

  2.   

    System.out.println(new DBUtils()); 
    可以这样写?
      

  3.   

    回三楼的 那个是为了测试一下 可以不可以连接上。其实不用打印出来的。
     直接 new DBUtils();就行了。
      

  4.   

    主要问题在于 
     ds = (DataSource) context.lookup("java:/comp/env/jdbc/ccitDS"); 
    这个ds是空的
    也就是说lookup("java:/comp/env/jdbc/ccitDS");没有找到那个数据源。
    我就是不明白为什么找不到。,不知道是哪里写错了。
      

  5.   

    这段代码是在一个Web服务器里才能运行的,不是在main里的。 
    也就是说,要启动服务器,在服务器这个上下文环境中,才有什么InitialContext,普通的应用程序,不存在这个。
      

  6.   

    回sggsg我是启动tomact后在myeclipse中执行的。因为不通,所以为了测试一下才在这个连接数据源的类上写了个主方法,测试一下是否能连接上的。
      

  7.   

    6楼你的意思是 我要在jsp页面中调用这个方法才可以么?
     启动tomcat后 在myeclipse里 run一下这个方法是不可以的么?
      

  8.   

    谢谢 sggsg 问题已经解决了。