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) { } } }
}