Ich versuche, einer vorhandenen Tomcat 5.5-Anwendung eine datenbankfähige JSP hinzuzufügen (GeoServer 2.0.0, falls dies hilfreich ist).
Die App selbst spricht gut mit Postgres, also weiß ich, dass die Datenbank aktiv ist, der Benutzer darauf zugreifen kann, all das gute Zeug. Ich versuche, eine Datenbankabfrage in einer JSP durchzuführen, die ich hinzugefügt habe. Ich habe das Konfigurationsbeispiel im Tomcat-Datenquellenbeispiel ziemlich sofort verwendet. Die erforderlichen Taglibs befinden sich an der richtigen Stelle. Wenn ich nur die Taglib-Refs habe, treten keine Fehler auf, sodass diese JARs gefunden werden. Der postgres jdbc-Treiber postgresql-8.4.701.jdbc3.jar befindet sich in $ CATALINA_HOME / common / lib.
Hier ist die Spitze der 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>
Der relevante Abschnitt aus $ CATALINA_HOME / conf / server.xml, in dem <Host>
sich wiederum befindet <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>
Diese Zeilen sind die letzten im 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>
Zum Schluss die Ausnahme:
exception
org.apache.jasper.JasperException: Unable to get connection, DataSource invalid: "java.sql.SQLException: No suitable driver"
[...wads of ensuing goo elided]