Re: [INTERFACES] Problem loading jdbc driver in servlet, but not in program - Mailing list pgsql-interfaces

From Benoit Foucher
Subject Re: [INTERFACES] Problem loading jdbc driver in servlet, but not in program
Date
Msg-id 373DC09D.772323F5@ooc.com
Whole thread Raw
In response to Problem loading jdbc driver in servlet, but not in program  (Keith/Suzanne Barron <keith@barron.com>)
List pgsql-interfaces
Hi, 

I think it's a configuration problem of your servlet engine. 
I use JServ from java.apache.org and I had to add the postresql.jar
archive to the classpath environment variable in the config file of 
the servlet engine. Here's a part of my configuration file:
# CLASSPATH environment variable passed to the
JVMwrapper.classpath=/usr/local/lib/ApacheJServ.jarwrapper.classpath=/usr/local/lib/postresql.jarwrapper.classpath=/usr/local/lib/gnujsp.jar

(you'll probably have to restart your web server to restart
the servlet engine...)
Hope this will help you...

Cheers
Benoit Foucher


Keith/Suzanne Barron wrote:
> 
> 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) { }
>         }
>     }
> }


pgsql-interfaces by date:

Previous
From: Keith/Suzanne Barron
Date:
Subject: Problem loading jdbc driver in servlet, but not in program
Next
From: Tatsuo Ishii
Date:
Subject: Re: [INTERFACES] JDBC driver should use database encoding