private String getCN()
    {
        InitialContext initialcontext = new InitialContext();
        String s = "java:/lywww";
        DataSource datasource = (DataSource)initialcontext.lookup(s);
        conn = datasource.getConnection();
        return "ok";
    }
改为
private String getCN()
    {
        try{
        InitialContext initialcontext = new InitialContext();
        String s = "java:/lywww";
        DataSource datasource = (DataSource)initialcontext.lookup(s);
        conn = datasource.getConnection();
        return "ok";
        }catch(Exception e)
        {
         return "fails";
         System.out.println(e.getMessage());
        }
    }

解决方案 »

  1.   

    晕!
    建议楼主好好学习java基础知识!
      

  2.   

    为什么要加try()catch()呢
    那样把问题捕捉了,实质的问题没有解决,连不上数据库,是不是属于掩耳盗铃呀?
    提示是没有成功导入类。
      

  3.   

    晕,搂主看了你上面的话更应该建议你好好学习Java基础知识
      

  4.   

    为什么要加try()catch()呢
    那样把问题捕捉了,实质的问题没有解决,连不上数据库,是不是属于掩耳盗铃呀?
    提示是没有成功导入类。
    -------------------------------------
    lookup()方法的方法签名中指定要抛出异常,所以这些方法都要放在try catch块中
    异常不是一定会发生,但是如果发生了就要抛出,并且给出一个异常的处理办法,这是java的异常处理方法,具体好处可以参看java编程思想
      

  5.   

    大概意思是说,下面三个操作:
    InitialContext initialcontext = new InitialContext();
    DataSource datasource = (DataSource)initialcontext.lookup(s);
    conn = datasource.getConnection();
    都有可能发生错误,比如数据源没有找到,连接获得不成功(在连接池配置有问题的时候),但是也有可能执行完全顺利,没有发生这些错误,所以这就是一个未知的情况(可能成功运行,也可能因为数据源配置问题查找失败)
    在处理这种未知问题的时候java建议使用try...catch来捕捉这些异常,如果执行顺利自然没有异常,如果出现错误就被try抓住然后进入catch部分处理