Amrinder,

Sorry for the confusion.  When I added some comments I neglected to
correct the line numbers.

the error is on the line - Statement stmt = con.createStatement();

I have since tried changing the driver name in
Class.forName ("oracle.jdbc.driver.OracleDriver");
to Class.forName ("bugger");  to see if I received any other errors.  I
don't get any additional errors and the results is identical.  This makes
me think that Tomcat is unable to locate the driver at runtime.  Sound
reasonable?

Dave

"Amrinder, Arora (Meritage)" wrote:

> Dave,
>
> What line number is 54?  I pasted your code, and to me it seems like
> rs.close() statement is the line 54?
>
> Is that correct?
> --amrinder
>
> -----Original Message-----
> From: David Bustin [mailto:[EMAIL PROTECTED]]
> Sent: Friday, October 26, 2001 5:36 PM
> To: [EMAIL PROTECTED]
> Subject: A Servlet using JDBC error
>
> Servlet experts,
>
> I am learning Java and servlets and ran into a challenge getting a JDBC
> connection
>
> to work within a servlet.
>
> I can get the connection to work via a simple java app without any issues.
> As a
> servlet
> I get the errors (see screen shot) below.
>
> Using tomcat3.2 on NT4.0 w/ jdk1.3.1 and a Oracle 8.1.6 database on a remote
> Unix host.
>
> What am I doing wrong?
>
> Thanks,
> Dave
>
> ======== Screen shot ========
> it's a DB test
>
> Error: 500
>
> Location: /examples/servlet/DBServlet
>
> Internal Servlet Error:
>
> java.lang.NullPointerException
>         at DBServlet.service(DBServlet.java:54)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at
> org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
>         at org.apache.tomcat.core.Handler.service(Handler.java:287)
>         at
> org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
>         at
> org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:81
> 2)
>         at
> org.apache.tomcat.core.ContextManager.service(ContextManager.java:758)
>         at
> org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
> onnectionHandler.java:213)
>
>         at
> org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
>         at
> org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
>         at java.lang.Thread.run(Thread.java:484)
> ======== DBServlet.java ========
> import java.io.*;
> import java.sql.*;
> import javax.servlet.*;
> import javax.servlet.http.*;
>
> public class DBServlet extends HttpServlet {
> private Connection con;
> private PrintWriter out;
>
> public void init(ServletConfig conf)
>             throws ServletException {
>   super.init(conf);
>   try{
>
> // tried this - statement works within java app but not as servlet
> //DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
>
> // compiles w/o error but gives null pointer exception
> // on "Statement stmt = con.createStatement();" below
> Class.forName ("oracle.jdbc.driver.OracleDriver");
>
> con = DriverManager.getConnection("jdbc:oracle:thin:@myhost:1521:mySID",
>                                   "user", "passwd");
>
>   } catch(Exception e) {
>     System.err.println("Error was: " + e);
>   }
> }
>
> public void service(HttpServletRequest req,
>                     HttpServletResponse res)
>             throws ServletException, IOException {
>     res.setContentType("text/html");
>     try {
>         out = res.getWriter();
>         out.println("<html>");
>         out.println("<head>");
>         out.println("<title>DB Demo</title>");
>         out.println("</head>");
>         out.println("<body>");
>
>         out.println("<h1> it's a DB test </h1>");
>
>         Statement stmt = con.createStatement();
>         ResultSet rs = stmt.executeQuery("select key from keytable");
>
>         out.println("<UL>");
>
>         while(rs.next()) {
>             out.println("<LI>" + rs.getString("key"));
>         }
>
>         out.println("</UL>");
>         rs.close();
>
>         stmt.close();
>
>     } catch(SQLException e) {
>         out.println("An SQL Exception was thrown.");
>     } catch(IOException e) {
>         System.err.println("An IOException was thrown.");
>     }
>
>     out.println("</body>");
>     out.println("</html>");
>     out.close();
> }
>
> public void destroy(){
>     try{
>         con.close();
>     } catch(SQLException e) {
>           ;
>     }
> }
> }
>
> ___________________________________________________________________________
> To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
> of the message "signoff SERVLET-INTEREST".
>
> Archives: http://archives.java.sun.com/archives/servlet-interest.html
> Resources: http://java.sun.com/products/servlet/external-resources.html
> LISTSERV Help: http://www.lsoft.com/manuals/user/user.html

___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".

Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html

Reply via email to