Sto cercando di aggiungere un JSP abilitato per database a un'applicazione Tomcat 5.5 esistente (GeoServer 2.0.0, se aiuta).
L'app stessa parla bene con Postgres, quindi so che il database è attivo, l'utente può accedervi, tutte quelle cose buone. Quello che sto cercando di fare è una query di database in un JSP che ho aggiunto. Ho usato l'esempio di configurazione nell'esempio dell'origine dati Tomcat praticamente fuori dagli schemi. I taglib richiesti sono nel posto giusto: non si verificano errori se ho solo i rif taglib, quindi è trovare quei JAR. Il driver jdbc postgres, postgresql-8.4.701.jdbc3.jar si trova in $ CATALINA_HOME / common / lib.
Ecco la parte superiore del JSP:
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<sql:query var="rs" dataSource="jdbc/mmas">
select current_validstart as ValidTime from runoff_forecast_valid_time
</sql:query>
La relativa sezione da $ CATALINA_HOME / conf / server.xml, all'interno della <Host>
quale si trova a sua volta all'interno <Engine>
:
<Context path="/gs2" allowLinking="true">
<Resource name="jdbc/mmas" type="javax.sql.Datasource"
auth="Container" driverClassName="org.postgresql.Driver"
maxActive="100" maxIdle="30" maxWait="10000"
username="mmas" password="very_secure_yess_precious!"
url="jdbc:postgresql//localhost:5432/mmas" />
</Context>
Queste righe sono le ultime nel tag in webapps / gs2 / WEB-INF / web.xml:
<resource-ref>
<description>
The database resource for the MMAS PostGIS database
</description>
<res-ref-name>
jdbc/mmas
</res-ref-name>
<res-type>
javax.sql.DataSource
</res-type>
<res-auth>
Container
</res-auth>
</resource-ref>
Infine, l'eccezione:
exception
org.apache.jasper.JasperException: Unable to get connection, DataSource invalid: "java.sql.SQLException: No suitable driver"
[...wads of ensuing goo elided]