JDBC for Postgresql(on Linux): java.lang.NullPointerExceptio--Please HELP!

I'm trying to build a JSP web application with Apache Tomcat 4.0 on Linux, using PostgreSQL database.

The test page for building a connection to the database is very simple.

However, unfortunately, I always get the following error message from the web server.

The code is also show below.

I have another Tomcat server working on Window2000 with Oracle. So I change the JDBC driver to Oracle on that machine, and it works fine.

I guessed I might have some problem with the Tomcat setting, but I'm not sure what I need to change.

The directory of my web application is built under the webapps.

And I've added JAVA_HOME, JAVA_HOME/lib/tool.jar, and JDBC for PostgreSQL to my CLASSPATH.

Is there any other configuration that I missed?

Please help if you see the problem.

Thanks a lot in advance.

--

Error message:

--

type: Exception report

message: Internal Server Error

description: The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.

exception

java.lang.NullPointerException

at org.apache.jsp.index$jsp._jspService(index$jsp.java:231)

at org.apache.jasper.runtime.HttpJspBase.service(Unknown Source)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(Unknown Source)

at org.apache.jasper.servlet.JspServlet.serviceJspFile(Unknown Source)

at org.apache.jasper.servlet.JspServlet.service(Unknown Source)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown Source)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source)

at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown Source)

at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source)

at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)

at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)

at org.apache.catalina.core.StandardContextValve.invoke(Unknown Source)

at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source)

at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)

at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)

at org.apache.catalina.core.StandardContext.invoke(Unknown Source)

at org.apache.catalina.core.StandardHostValve.invoke(Unknown Source)

at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source)

at org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown Source)

at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source)

at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown Source)

at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source)

at org.apache.catalina.valves.AccessLogValve.invoke(Unknown Source)

at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source)

at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)

at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)

at org.apache.catalina.core.StandardEngineValve.invoke(Unknown Source)

at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source)

at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)

at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)

at org.apache.catalina.connector.http.HttpProcessor.process(Unknown Source)

at org.apache.catalina.connector.http.HttpProcessor.run(Unknown Source)

at java.lang.Thread.run(Thread.java:484)

--

Here's my code:

--

<%@ page language="java" import="java.io.*, java.sql.*, java.util.*, java.lang.*" %>

<HTML>

<HEAD>

<TITLE>TEST</TITLE>

</HEAD>

<BODY>

<b> City </b>

<%

Class.forName("org.postgresql.Driver");

String sqlurl = "jdbc:postgresql://localhost:5432/customer";

String username = "guest";

String passwd = username;

Connection conn = DriverManager.getConnection(sqlurl, username, passwd);

Statement st = conn.createStatement();

String queryStr = "select CITY from WEATHER";

ResultSet rs = st.executeQuery(queryStr);

if (rs != null){

while(rs.next()){

String strCity = rs.getString(1);

%>

-- <%=strCity %> --

<%

}

}

st.close();

conn.close();

%>

</BODY>

</HTML>

[5353 byte] By [wita_j] at [2007-9-18]
# 1
forgot to say, the PostgreSQL JDBC driver should work since I wrote a Java program to call it which works fine.
wita_j at 2007-7-4 > top of java,Enterprise & Remote Computing,Web Tier APIs...
# 2
Error is not there in the code what you are showing. Can you edit index$jsp.java and see what is there in line 231?You may find it in tomcat_home\work\your_application directory.Sudha
sudha_mp at 2007-7-4 > top of java,Enterprise & Remote Computing,Web Tier APIs...