Ciao a tutti, ho quasi completato il suddetto progetto mettendo a posto tutto, solo che mi rimane un problema nella scrittura del PDF; probabilmente mi perdo in un bicche d'acqua ma proprio non so più
dove sbattere la testa.

Di seguito posto la classe java che ha il compito di creare e popolare il file Pdf con tutte le informazioni che mi servono:

codice:
package PDF;

import java.io.*;
import com.lowagie.text.*;
import com.lowagie.text.pdf.PdfWriter;


public class Pdf {
    
    
    public Pdf(String username,String pwd,String nome,String cogn,String datanasc,String naz,
               String indirizzo,String città,int cap,String provincia,String doc,String n_doc,int tel,String email,
               String qualif, String esp, String ins, String motivi, String tipo_dipl, String data_dipl,
               int voto_dipl,String data_immat) {
        
        // step 1: creation of a document-object
        Document document = new Document();
        
        try {
// step 2:
// we create a writer that listens to the document
            PdfWriter.getInstance(document, new FileOutputStream("Registrazione.pdf"));
// step 3: we open the document
            document.open();
// step 4:
            Paragraph p1 = new Paragraph(new Phrase("INFORMAZIONI PERSONALI", FontFactory.getFont(
                    FontFactory.HELVETICA, 16)));
            p1.add("\n");
            Paragraph p2 = new Paragraph("",FontFactory.getFont(FontFactory.HELVETICA, 10));
            p2.add("USERNAME: " + username + "\n");
            p2.add("PASSWORD: " + pwd + "\n");
            p2.add("NOME: " + nome + "\n");
            p2.add("COGNOME: " + cogn + "\n");
            p2.add("DATA DI NASCITA: " + datanasc + "\n");
            p2.add("NAZIONE: " + naz + "\n");
            p2.add("INDIRIZZO: " + indirizzo + "\n");
            p2.add("CITTA': " + città + "\n");
            p2.add("CAP: " + cap + "\n");
            p2.add("PROVINCIA: " + provincia + "\n");
            p2.add("DOCUMENTO IDENTITA': " + doc + "\n");
            p2.add("N° DOCUMENTO: " + n_doc + "\n");
            p2.add("TELEFONO: " + tel + "\n");
            p2.add("EMAIL: " + email + "\n");
            p2.add("\n\n");
            document.add(p1);
            document.add(p2);
            
            Paragraph p3 = new Paragraph(new Phrase("CURRICULUM VITAE", FontFactory.getFont(
                    FontFactory.HELVETICA, 16)));
            p3.add("\n");
            Paragraph p4 = new Paragraph("",FontFactory.getFont(FontFactory.HELVETICA, 10));
            p4.add("QUALIFICHE: " + qualif + "\n");
            p4.add("ESPERIENZE: " + esp + "\n");
            p4.add("INSEGNAMENTI: " + ins + "\n");
            p4.add("MOTIVAZIONI: " + motivi + "\n"); 
            p4.add("\n\n");
            document.add(p3);
            document.add(p4);
            
            Paragraph p5 = new Paragraph("INFORMAZIONI ACCADEMICHE",FontFactory.getFont(
                    FontFactory.HELVETICA, 16));
            p5.add("\n");
            Paragraph p6 = new Paragraph("",FontFactory.getFont(FontFactory.HELVETICA, 10));
            p6.add("TIPO DIPLOMA: " + tipo_dipl + "\n");
            p6.add("DATA DIPLOMA: " + data_dipl + "\n");
            p6.add("VOTO DIPLOMA: " + voto_dipl + "\n");
            p6.add("DATA IMMATRICOLAZIONE: " + data_immat + "\n"); 
            p6.add("\n\n");
            document.add(p5);
            document.add(p6);
            
        } catch (DocumentException de) {
            System.err.println(de.getMessage());
        } catch (IOException ioe) {
            System.err.println(ioe.getMessage());
        }
// step 5: we close the document
        document.close();
    }
    
   public static void main(String a []){
    
        Pdf pdf = new Pdf("si","si","si","si","si","si","si","si",10,"si","si","si",14,"si",
                "si","si","si","si","si","si",15,"si");
        /*pdf.Pdf_Writer("si","si","si","si","si","si","si","si",10,"si","si","si",14,"si",
                "si","si","si","si","si","si",15,"si");*/
    
    }
    
    
}
IL Metodo main in fondo serve esclusivamente a provarela il funzionamento della classe singolarmente, nienetea che vedere con l'interfacciamento in jsp.

Poi devo creare un jsp che viene chiamato alla pressione di un pulsante su una jsp precedente, che deve contenere il costruttore Pdf con tutti i parametri passati per poterli scrivere su pdf..e qui nasce il problema:

Non riesco a trovare un modo per catturare i dati dal DB e passarli come parametro al costruttore in questione; in un primo momento sono riuscito a creare una connessione al DB tramite sintassi jsp e quindi richiamare il costruttore sempre all'interno dello stesso tag jsp..però dato che la query sql deve essere una cosa del tipo Select usr, pwd,ecc FROM utenti WHERE usr='<%=session.getAttribute("user")', quest'iltima parte della session scritta così non me la riconosce nel jsp, cioè, quando scrivo il terminatore "%>" mi termina tutta la parte jsp quando invece dopo quella riga c'è ancora codsice e di conseguenza non me lo riconosce più..una cosa di questo tipo:

codice:
 <%@ page language="java" import="java.sql.*" %>
<%
   Class.forName("org.hsqldb.jdbcDriver");
   
Connection dbconn = null;



dbconn = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/xdb","sa",""); 

Statement statement = dbconn.createStatement(); 

ResultSet rs = statement.executeQuery("SELECT usr FROM utenti WHERE usr = '<%= session.getAttribute("user")%>' " );

while (rs.next()){
//ottiene il dato
String usr = rs.getString("usr");
//stampa a video
out.println(usr);
}//while


dbconn.close();
%>
QAualcuno sa dirmi come posso fare per tirare fuori i dati dal DB e passarli come parametri al costruttore della clase in jsp?

grazie ciao