为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

阿晨1998 2019-06-01 10:42:11
臭名昭著的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]
查看完整描述

4 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

url="jdbc:postgresql//localhost:5432/mmas"

该URL看起来不对,您需要以下内容吗?

url="jdbc:postgresql://localhost:5432/mmas"


查看完整回答
反对 回复 2019-06-01
?
杨__羊羊

TA贡献1943条经验 获得超7个赞

我也面临着类似的问题。上下文中的项目是动态Web项目(Java 8+Tomcat 8),错误用于PostgreSQL驱动程序异常:没有找到合适的司机

它通过添加Class.forName("org.postgresql.Driver")在打电话之前getConnection()方法

这是我的代码示例:

try {
            Connection conn = null;
            Class.forName("org.postgresql.Driver");
            conn = DriverManager.getConnection("jdbc:postgresql://" + host + ":" + port + "/?preferQueryMode="
                    + sql_auth,sql_user , sql_password);
        } catch (Exception e) {
            System.out.println("Failed to create JDBC db connection " + e.toString() + e.getMessage());
        }


查看完整回答
反对 回复 2019-06-01
  • 4 回答
  • 0 关注
  • 3639 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信