Problem loading jdbc driver in servlet, but not in program
От | Keith/Suzanne Barron |
---|---|
Тема | Problem loading jdbc driver in servlet, but not in program |
Дата | |
Msg-id | 373D9FD8.198A35D5@barron.com обсуждение исходный текст |
Список | pgsql-interfaces |
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; Stringurl = "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) { } } } }
В списке pgsql-interfaces по дате отправления: