Я пытаюсь добавить JSP с поддержкой базы данных в существующее приложение Tomcat 5.5 (GeoServer 2.0.0, если это помогает).
Само приложение прекрасно общается с Postgres, так что я знаю, что база данных работает, пользователь может получить к ней доступ, и все такое. Я пытаюсь сделать запрос к базе данных в JSP, который я добавил. Я использовал пример конфигурации в примере источника данных Tomcat практически из коробки. Необходимые теги находятся в нужном месте - никаких ошибок не возникает, если у меня просто есть ссылки на теги, поэтому он находит эти JAR-файлы. Драйвер jdbc postgres, postgresql-8.4.701.jdbc3.jar находится в каталоге $ CATALINA_HOME / common / lib.
Вот вершина 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>
Соответствующий раздел из $ CATALINA_HOME / conf / server.xml внутри <Host>
, который, в свою очередь, находится внутри <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>
Эти строки являются последними в теге в 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>
Наконец, исключение:
exception
org.apache.jasper.JasperException: Unable to get connection, DataSource invalid: "java.sql.SQLException: No suitable driver"
[...wads of ensuing goo elided]