Tôi đang cố gắng thêm JSP hỗ trợ cơ sở dữ liệu vào ứng dụng Tomcat 5.5 hiện có (GeoServer 2.0.0, nếu điều đó có ích).
Bản thân ứng dụng nói chuyện với Postgres rất tốt, vì vậy tôi biết rằng cơ sở dữ liệu đã được thiết lập, người dùng có thể truy cập nó, tất cả những thứ tốt đó. Những gì tôi đang cố gắng thực hiện là một truy vấn cơ sở dữ liệu trong JSP mà tôi đã thêm. Tôi đã sử dụng ví dụ cấu hình trong ví dụ nguồn dữ liệu Tomcat khá nhiều. Các taglib cần thiết ở đúng vị trí - không có lỗi nào xảy ra nếu tôi chỉ có các tham chiếu taglib, vì vậy nó đang tìm các JAR đó. Trình điều khiển postgres jdbc, postgresql-8.4.701.jdbc3.jar nằm trong $ CATALINA_HOME / common / lib.
Đây là đầu của 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>
Phần có liên quan từ $ CATALINA_HOME / conf / server.xml, bên <Host>
trong lần lượt nằm trong <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>
Những dòng này là dòng cuối cùng trong thẻ trong 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>
Cuối cùng, ngoại lệ:
exception
org.apache.jasper.JasperException: Unable to get connection, DataSource invalid: "java.sql.SQLException: No suitable driver"
[...wads of ensuing goo elided]