Received: from relay1.sfo.com (root@relay1.sfo.com [205.162.14.55]) by hub.org (8.9.3/8.9.3) with ESMTP id NAA77256 for ; Sat, 15 May 1999 13:16:14 -0400 (EDT) (envelope-from keith@barron.com) Received: from barron.com (IDENT:root@adsl-216-102-199-33.dsl.snfc21.pacbell.net [216.102.199.33]) by relay1.sfo.com (8.9.2/8.9.2/SFO.r.04) with ESMTP id KAA26825 for ; Sat, 15 May 1999 10:16:10 -0700 (PDT) Sender: root@relay1.sfo.com Message-ID: <373D9FD8.198A35D5@barron.com> Date: Sat, 15 May 1999 09:24:56 -0700 From: Keith/Suzanne Barron X-Mailer: Mozilla 4.07 [en] (X11; I; Linux 2.0.36 i586) MIME-Version: 1.0 To: pgsql-interfaces@postgresql.org Subject: Problem loading jdbc driver in servlet, but not in program Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit I have two simple programs, one is a regular java program, the other is a java servlet. When I try to run the servlet, I get "Could not load database driver". Any ideas on why this happens? -Keith Here are the programs: 1. regular java program: import java.io.*; import java.sql.*; import javax.servlet.*; import javax.servlet.http.*; public class DBPhoneLookup { public static void main (String args[]) throws ClassNotFoundException, FileNotFoundException, IOException, SQLException { try { Connection con = null; Statement stmt = null; ResultSet rs = null; String url = "jdbc:postgresql:school"; String usr = "postgres"; String pwd = "postgres"; // Load (and therefore register) the Postgres driver Class.forName("postgresql.Driver"); // Get a connection to the database con = DriverManager.getConnection(url, usr, pwd); // Create a Statement object stmt = con.createStatement(); // Execute an SQL query, get a ResultSet rs = stmt.executeQuery("Select first_name from students"); // Display the result set as a list while (rs.next()) { System.out.println(rs.getString("first_name")); } con.close(); } catch(ClassNotFoundException e) { System.out.println("Could not load database driver: " + e.getMessage()); } } } 2. servlet program: import java.io.*; import java.sql.*; import javax.servlet.*; import javax.servlet.http.*; public class DBPhoneLookup extends HttpServlet { public void doGet (HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { Connection con = null; Statement stmt = null; ResultSet rs = null; res.setContentType("text/html"); PrintWriter out = res.getWriter(); try { String url = "jdbc:postgresql:school"; String usr = "postgres"; String pwd = "postgres"; // Load (and therefore register) the Postgres driver Class.forName("postgresql.Driver"); // Get a connection to the database con = DriverManager.getConnection(url, usr, pwd); // Create a Statement object stmt = con.createStatement(); // Execute an SQL query, get a ResultSet rs = stmt.executeQuery("Select first_name from students"); // Display the result set as a list out.println(""); out.println(""); out.println(""); while (rs.next()) { out.println(" " + rs.getString("first_name")); } out.println(" "); } catch(ClassNotFoundException e) { out.println("Could not load database driver: " + e.getMessage()); } catch(SQLException e) { out.println("SQLException caught: " + e.getMessage()); } finally { // Always close the database connection try { if (con != null) con.close(); } catch (SQLException ignored) { } } } }