codice:
exception

org.apache.jasper.JasperException: java.lang.NullPointerException
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:492)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:422)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

root cause

java.lang.NullPointerException
	com.itextpdf.text.pdf.XfaForm.findFieldName(XfaForm.java:275)
	com.itextpdf.text.pdf.AcroFields.setField(AcroFields.java:1310)
	com.itextpdf.text.pdf.AcroFields.setField(AcroFields.java:1288)
	stampaPDF.GestorePdf.stampaFoglio(GestorePdf.java:45)
	org.apache.jsp.foglio.stampa_jsp._jspService(stampa_jsp.java:126)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:68)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:376)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
codice:
public boolean stampaFoglio(Persona p, String nomeFilePdf) throws IOException, DocumentException, ClassNotFoundException, SQLException{
		boolean stato=false;
		PdfReader reader = new PdfReader("C:/PDF/"+nomeFilePdf);
		//creo il nome del file di output
		nomeFile="Foglio_"+p.getNome()+p.getCognome()+"_id_"+p.getCodice()+".pdf";
		System.out.println(nomeFile);
		PdfStamper stamp = new PdfStamper(reader, new FileOutputStream(nomeFile));
		//questo oggetto gestisce i form del pdf vuoto
	    AcroFields form = stamp.getAcroFields();

	    
	    form.setField("data", p.getData());
            form.setField("cognome",p.getCognome() );
	    form.setField("nome",p.getNome() );
	    form.setField("sesso",p.getSesso() );
	    form.setField("dataDiNascita",p.getDataDiNascita() );
	    form.setField("luogoDiNascita",p.getLuogoDiNascita() );
	    form.setField("indirizzo",p.getIndirizzo() );
	    form.setField("comune",p.getComune() );
	    form.setField("provincia",p.getProvincia() );
	    form.setField("statoCivile",p.getStatoCivile() );
	   
		//indico che non e più modificabile
		stamp.setFormFlattening(true);
	    stamp.close();
	    stato=true;
		return stato;

	}
l'eccezione da quello che ho capito riguarda la riga 45: stampaPDF.GestorePdf.stampaFoglio(GestorePdf.java: 45)

che sarebbe questa:

form.setField("data", p.getData());

Ho controllato e p.getData() non è null