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
