臭名昭著的java.sql.SQLException:找不到合适的驱动程序

臭名昭著的java.sql.SQLException:找不到合适的驱动程序

我正在尝试将启用数据库的JSP添加到现有的Tomcat 5.5应用程序(Geoserver 2.0.0,如果这有帮助的话)。

应用程序本身与Postgres的对话非常好,所以我知道数据库已经启动,用户可以访问它,所有这些都是好东西。我要做的是添加一个JSP中的数据库查询。我在Tomcat数据源示例几乎是从盒子里拿出来的。必需的标记库位于正确的位置-如果我只有taglib引用,就不会出现错误,所以它正在查找那些JAR。PostgresJDBC驱动程序PostgreSQL8.4.701.jdbc3.jar位于$Catalina_HOME/public/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>

这些行是webapp/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]


阿晨1998
浏览 3640回答 4
4回答

潇潇雨雨

url="jdbc:postgresql//localhost:5432/mmas"该URL看起来不对,您需要以下内容吗?url="jdbc:postgresql://localhost:5432/mmas"

杨__羊羊

我也面临着类似的问题。上下文中的项目是动态Web项目(Java 8+Tomcat 8),错误用于PostgreSQL驱动程序异常:没有找到合适的司机它通过添加Class.forName("org.postgresql.Driver")在打电话之前getConnection()方法这是我的代码示例:try&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Connection&nbsp;conn&nbsp;=&nbsp;null; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Class.forName("org.postgresql.Driver"); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn&nbsp;=&nbsp;DriverManager.getConnection("jdbc:postgresql://"&nbsp;+&nbsp;host&nbsp;+&nbsp;":"&nbsp;+&nbsp;port&nbsp;+&nbsp;"/?preferQueryMode=" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+&nbsp;sql_auth,sql_user&nbsp;,&nbsp;sql_password); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;catch&nbsp;(Exception&nbsp;e)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("Failed&nbsp;to&nbsp;create&nbsp;JDBC&nbsp;db&nbsp;connection&nbsp;"&nbsp;+&nbsp;e.toString()&nbsp;+&nbsp;e.getMessage()); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
打开App,查看更多内容
随时随地看视频慕课网APP