Mevcut bir Tomcat 5.5 uygulamasına veritabanı etkin bir JSP eklemeye çalışıyorum (GeoServer 2.0.0, yardımcı oluyorsa).
Uygulamanın kendisi Postgres ile gayet iyi konuşuyor, bu yüzden veritabanının hazır olduğunu, kullanıcının ona erişebileceğini, tüm bu güzel şeyleri biliyorum. Yapmaya çalıştığım şey, eklediğim bir JSP'deki bir veritabanı sorgusu. Ben yapılandırma örneğini kullandımTomcat veri kaynağı örneğindeki örneğini hemen hemen kutunun dışında kullandım. Gerekli taglib'ler doğru yerdedir - sadece taglib refs'e sahipsem hiçbir hata oluşmaz, bu yüzden bu JAR'ları bulur. Postgres jdbc sürücüsü, postgresql-8.4.701.jdbc3.jar $ CATALINA_HOME / common / lib dizinindedir.
İşte JSP'nin zirvesi:
<%@ 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'deki ilgili bölüm, içinde <Host>
sırayla <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>
Bu satırlar webapps / gs2 / WEB-INF / web.xml'deki etiketin son satırlarıdır:
<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>
Son olarak, istisna:
exception
org.apache.jasper.JasperException: Unable to get connection, DataSource invalid: "java.sql.SQLException: No suitable driver"
[...wads of ensuing goo elided]