Re: [INTERFACES] Problem loading jdbc driver in servlet, but not in program

From: Benoit Foucher <benoit(at)ooc(dot)com>
To: Keith/Suzanne Barron <keith(at)barron(dot)com>
Cc: pgsql-interfaces(at)postgreSQL(dot)org
Subject: Re: [INTERFACES] Problem loading jdbc driver in servlet, but not in program
Date: 1999-05-15 18:44:50
Message-ID: 373DC09D.772323F5@ooc.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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 JVM
wrapper.classpath=/usr/local/lib/ApacheJServ.jar
wrapper.classpath=/usr/local/lib/postresql.jar
wrapper.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) { }
> }
> }
> }

In response to

Browse pgsql-interfaces by date

  From Date Subject
Next Message Tatsuo Ishii 1999-05-16 01:48:26 Re: [INTERFACES] JDBC driver should use database encoding
Previous Message Keith/Suzanne Barron 1999-05-15 16:24:56 Problem loading jdbc driver in servlet, but not in program