Próbuję dodać stronę JSP z obsługą bazy danych do istniejącej aplikacji Tomcat 5.5 (GeoServer 2.0.0, jeśli to pomaga).
Sama aplikacja dobrze komunikuje się z Postgresem, więc wiem, że baza danych działa, użytkownik ma do niej dostęp i wszystkie te dobre rzeczy. To, co próbuję zrobić, to zapytanie do bazy danych w dodanej przeze mnie stronie JSP. Użyłem przykładu konfiguracji w przykładzie źródła danych Tomcat prawie po wyjęciu z pudełka. Wymagane taglib znajdują się we właściwym miejscu - nie pojawiają się żadne błędy, jeśli mam tylko refs taglib, więc znajduje te pliki JAR. Sterownik postgres jdbc, postgresql-8.4.701.jdbc3.jar, znajduje się w katalogu $ CATALINA_HOME / common / lib.
Oto początek strony 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>
Odpowiednia sekcja z $ CATALINA_HOME / conf / server.xml, wewnątrz <Host>
której znajduje się z kolei w <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>
Te wiersze są ostatnimi w tagu w 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>
Wreszcie wyjątek:
exception
org.apache.jasper.JasperException: Unable to get connection, DataSource invalid: "java.sql.SQLException: No suitable driver"
[...wads of ensuing goo elided]