为什么我的JavaServer Faces应用程序无法连接到我的数据资源?

时间:2015-01-16 14:56:23

标签: jsf netbeans jdbc

我正在学习JavaServer Faces应用程序,我正在尝试部署一些简单的应用程序。我已经成功部署了不使用数据库的应用程序,但我遇到的问题却很困难。

当我第一次在Netbeans中本地构建应用程序时,我将首先创建一个JDBC连接池,然后通过Glassfish管理控制台创建一个使用该池的JDBC资源,从而连接到JavaDB。然后在代码中,我按如下方式连接到数据库:

@Resource(name="jdbc/slideshow")
DataSource dataSource;

这是我访问数据库的方法:

private ArrayList<Image> getImages() throws SQLException {
    if (dataSource == null) {
        throw new SQLException("Unable to obtain DataSource");
    }

    Connection connection = dataSource.getConnection();

    if (connection == null) {
        throw new SQLException("Unable to connect to DataSource");
    }

    PreparedStatement stmt = connection.prepareStatement("SELECT * FROM slideshowimages");
    ResultSet rs = stmt.executeQuery();

    ArrayList<Image> list = new ArrayList<Image>();

    while (rs.next()) {
        list.add(new Image(rs.getString("url"), rs.getString("title"), rs.getString("description")));
    }

    connection.close();
    stmt.close();
    rs.close();

    return list;
}

当我通过Netbeans在本地运行应用程序时,这很好用。但是,当我在自己的服务器上部署它时,我收到以下错误:

Table/View 'SLIDESHOWIMAGES' does not exist.

你可以在这里看到这个:http://162.209.84.39:8080/Slideshow/

在Netbeans Services窗格中,我已经能够创建与远程服务器上资源的新连接(jdbc:derby://162.209.84.39:1527 / slideshow)并在其上运行SQL命令。根据输出,SQL已成功运行(我可以从Netbeans的代码运行查询并获取我期望的数据);但是,在尝试加载页面时仍然出现错误。我错过了什么?

0 个答案:

没有答案