我的數據庫中的表的可見性存在問題。 我想從JavaServer Faces一章中編寫一本書「Java How To Program 9th edition」的示例項目,並且我已經完成了一切,沒有任何錯誤,但是我的Web應用程序沒有看到我的表。NetBeans + GlassFish應用程序不會從數據庫中看到表
servicetab in netbeans http://www.iv.pl/images/98495825713921260154.png
正如你可以看到我有一個表,它應該是(名稱ADRESY)。 這是我的代碼與SQL查詢。
public ResultSet getAddresses() 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");
try{
PreparedStatement getAddresses = connection.prepareStatement(
"SELECT FIRSTNAME, LASTNAME, STREET, CITY, STATE, ZIP " +
"FROM ADRESY ORDER BY LASTNAME, FIRSTNAME");
CachedRowSet rowSet = new com.sun.rowset.CachedRowSetImpl();
rowSet.populate(getAddresses.executeQuery());
return rowSet;
}finally{
connection.close();
}
}
而在這之前我有註釋:
@Resource (name="jdbc/addressbook")
DataSource dataSource;
有沒有錯誤,但是當我跑步時使用此聲明的網頁我有一個錯誤:
An Error Occurred:
Table/view 'ADRESY' does not exist.
而且帶資源的屏幕: resources glassfish http://www.iv.pl/images/77706421595933269755.png
並根據要求(n加時賽知道這是你想要的): resource jndi name http://www.iv.pl/images/79884566162836729459.png
我的web.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>faces/index.xhtml</welcome-file>
</welcome-file-list>
<resource-ref>
<res-ref-name>jdbc/addressbook</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
我以前是沒有的<resource-ref>
標籤,我加入它剛纔,但它仍然沒有按」工作。我想我沒有glassfish-resources.xml文件。
而且我檢查該驅動程序,這裏是下面的截圖: connection pool driver http://www.iv.pl/images/78467121145061967972.png
驅動程序類名是空的,但是當我創建的連接池,我選擇的Java DB作爲驅動程序供應商。我不知道,如果它看起來應該或不...
你真的創建了一個名爲addressbook的JDBC資源嗎? – unwichtich
是的,我編輯我的文章與截圖 – Dess
什麼是你的JDBC連接池'AddressBookPool'的驅動程序?請發佈您的項目文件夾中的配置文件(例如web.xml和/或glassfish-resources.xml)。 –