我试图向现有的 Tomcat 5.5应用程序(GeoServer 2.0.0,如果有帮助的话)添加一个支持数据库的 JSP。
这个应用程序本身和 Postgres 交流的很好,所以我知道数据库已经建立起来了,用户可以访问它,所有的好东西。我要做的是在我添加的 JSP 中执行一个数据库查询。我已经在 Tomcat 数据源示例中使用了这个配置示例。所需的 taglib 都在正确的位置——如果只有 taglib 参考文献,就不会出现错误,所以它会找到那些 JAR。Postgres jdbc 驱动程序 postgreql-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]