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>

