Devo creare un file XML da una pagina JSP, eseguendo delle qeury al DB, fino ad ora ha sempre funzionato, ma eseguivo una sola query,stavolta me ne servono 2, e i 2 resultSet vanno innestati. Ma stavolta nn funziona, questo è il codice:
codice:
<%@ page contentType="text/xml" pageEncoding="windows-1252"%>
<%@ page language="java" import="java.sql.*"%>
<%
Connection dbconn = null;
Class.forName("com.mysql.jdbc.Driver");
dbconn = DriverManager.getConnection("", "" "");
Statement stmt = dbconn.createStatement();
String query_1; 
String query_2;  
        
query_1 = "SELECT * .....";
                  
query_2 = "SELECT * .......";

ResultSet rs1 = stmt.executeQuery(query_1);
ResultSet rs2 = stmt.executeQuery(query_2);

%>

<xmlRoot>

<%    
    while(rs1.next()) {
    out.println("<figlio>");
            while (rs2.next()) {
                out.println("<nipote ...");
                out.println("</nipote>");
             }
    out.println("</figlio>");
    }
%>

</xmlRoot>
e questa l'intera pagina di errore:
codice:
HTTP Status 500 -

type Exception report

message

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

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /xml/xml.jsp at line 30

la riga 30 sarebbe quella con while(rs1.next())

Stacktrace:
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:524)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:417)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)

root cause

javax.servlet.ServletException: java.sql.SQLException: Operation not allowed after ResultSet closed
	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)
	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
	org.apache.jsp.xml.quest_005fcomp_jsp._jspService(quest_005fcomp_jsp.java:105)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)

root cause

java.sql.SQLException: Operation not allowed after ResultSet closed
	com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
	com.mysql.jdbc.ResultSet.checkClosed(ResultSet.java:666)
	com.mysql.jdbc.ResultSet.next(ResultSet.java:7274)
	org.apache.jsp.xml.quest_005fcomp_jsp._jspService(quest_005fcomp_jsp.java:84)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.14 logs.
Apache Tomcat/6.0.14
Come potete vedere, nel codice nn sono presenti chiusure di ResultSet, quind non capsco:
java.sql.SQLException: Operation not allowed after ResultSet closed

Ovviamente se ignoro la parte while che itera sul secondo ResultSet, tutto funziona.Idee????