Re: jdbc works in java app, fails in servlet: "no suitable jdbc found"

From: Craig Ringer <craig(at)postnewspapers(dot)com(dot)au>
To: philfrei(at)aol(dot)com
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: jdbc works in java app, fails in servlet: "no suitable jdbc found"
Date: 2010-06-03 02:19:33
Message-ID: 4C071135.3020607@postnewspapers.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

On 3/06/2010 8:28 AM, philfrei(at)aol(dot)com wrote:
> Thank you for the reply!
>
>> You need to preload the PostgreSQL driver...
>
> Being new to this, I find myself second-guessing words as simple as
> "preload". The servlet "NearbyTest" has a constructor and a single
> method "doGet" which is invoked by an HTML page. As the first working
> statement in the "doGet" method (at this point everything else is
> commented out), I tried using the recommended statements. Both of them
> elicited the same error message:
>
> try {
> // Class.forName("org.postgresql.Driver");
> this.getClass().getClassLoader().loadClass("org.postgresql.Driver");
> } catch (ClassNotFoundException e1) {
> e1.printStackTrace();
> }
>
> java.lang.ClassNotFoundException: org.postgresql.Driver

I'd say your classpath is misconfigured; the classloader cannot find
PostgreSQL.

On web service containers sometimes the dependencies for the servelet
must all be embedded in a .war with the serverlet jar. Is that the case
here?

> Is there another stage (prior to the servlet's
> "doGet") at which the "preloading" should occur?

Nope, just loading the class is sufficient.

> The stack trace indicates code that is part of Apache. Is there possibly
> something that has to be configured in Apache that is missing?

Well the trace refers to org.apache.catalina.loader.WebappClassLoader ,
which is a part of Apache Catalina. It has nothing to do with the Apache
web server except that they're both from the Apache project.

Catalina is Tomcat's servlet container.

That further suggests that you need to configure your classpath in your
web app environment, or have an issue with how your app and dependencies
are packaged. I've only done this stuff with Maven & Netbeans targeting
Glassfish, so I can't really offer much help with the details of doing
it right using Eclipse's build system and a Tomcat target.

--
Craig Ringer

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Craig Ringer 2010-06-03 02:26:46 Re: JDBC SSL with postgresql
Previous Message Jeffrey Baker 2010-06-03 00:46:18 JDBC SSL with postgresql