我正在学习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的代码运行查询并获取我期望的数据);但是,在尝试加载页面时仍然出现错误。我错过了什么?