程序在执行到catch段的时候没有返回值
public Connection getConnection(){
    try {
      Context ctx = new InitialContext();
      ds = (DataSource) ctx.lookup("jdbc/test");
      return ds.getConnection();
    }
    catch (Exception e) {
      System.out.println("could not locate datasource!");
      return null;//加一个返回语句
    }
  }

解决方案 »

  1.   

    最好改成这样:
    public Connection getConnection(){
        Connection conn = null;
        try {
          Context ctx = new InitialContext();
          ds = (DataSource) ctx.lookup("jdbc/test");
          conn = ds.getConnection();
        }
        catch (Exception e) {
          System.out.println("could not locate datasource!");
        }
        return conn;
      }
    这样不用把返回语句写在catch块里
      

  2.   

    提示你没有返回值。你定义的方法public Connection getConnection()是要返回一个Connection
    你必须在try..catch块外返回东西,试试看
      

  3.   

    通常,我不这样写。一般是在方法的catch块中,throw一个异常出来,最后到页面上由一个error.jsp来处理。