Skip site navigation (1) Skip section navigation (2)

Servlet problems

From: "Nikola Milutinovic" <Nikola(dot)Milutinovic(at)ev(dot)co(dot)yu>
To: "PostgreSQL JDBC" <pgsql-jdbc(at)postgresql(dot)org>
Subject: Servlet problems
Date: 2001-12-17 14:32:08
Message-ID: 001901c18707$9b9d9080$0a3ea8c0@ev.co.yu (view raw or flat)
Thread:
Lists: pgsql-jdbc
Hi all.

I'm a bit confused here. I'm using Tomcat JSP/Servlet engine. I have a database in PostgreSQL, which holds a table describing an n-tree structure (hierarchy). I would like my JSP page to able to display (if parameter "print" is present) a complete sub-tree of a given node. This is a simple recursion. What I'm trying to do is make our coroporate E-Mail address book, so I have organizational units and users.

Without recursion everything works fine, all the direct subnodes are displayed. When I use recusrion to include all subnodes, I get strange errors.

First, it was killing the response in the middile of a table, in the middle of a row. Now it dies with "NullPointerException: next()". In other words, in one of the "ResultSet.next()" methods, it runs into a non existant ResultSet.

I have tried putting a "breakpoint" (throwing a ServletException) on all lines of my JSP page. When there is a "breakpoint" I do not run into a NullPointerException. When I remove it, I have exception.

My conclusion was that I get the error AFTER my JSP page starts emerging from the recursion (if it was inside recursion, it would have been stopped by the "breakpoint"). So, after a page calls itself once, the "insider" does it's thing and then exits and releases control to it's caller, the the exception occurs.

I must admit that JSP page closes it's JDBC objects, I thought it would be OK, since the page creates them.

This is the flow of events:

OUDisplay.jsp [instance 1]:
----------------------------
  DriverManager.getConnection()
  Connection.createStatement()
  Statement.executeQuery()
  while( ResultSet.next() ) {
    ...
    <jsp.include page="OUDisplay.jsp" />

    OUDisplay.jsp [instance 2]:
    ----------------------------
      DriverManager.getConnection()
      Connection.createStatement()
      Statement.executeQuery()
      while( ResultSet.next() ) {
        ...
      }
      ResultSet.close()
      Statement.close()
      Connection.close()
    --------------[instance 2]-

  }
  ResultSet.close()
  Statement.close()
  Connection.close()
--------------[instance 1]-

The problem occurs inside the outer "next() {...}", which leads me to believe that Some objects in the "instance 1" get screwed up, but I don't know how.

Any insight?

Nix.

Responses

pgsql-jdbc by date

Next:From: Antonio Fiol BonnínDate: 2001-12-17 14:54:30
Subject: Re: Servlet problems
Previous:From: Jens KießlingDate: 2001-12-17 10:03:04
Subject:

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group