Salve a tutti.

Sono inesperto di java, quindi kiedo il vostro aiuto.
Devo passare due array di stringhe da una servlet ad una pagina jsp; nella servlet eseguo le due query per riempire i due array, i cui contenuti devo visualizzarli in una tabella nella pagina jsp. Per ogni valore dell'indice dei due array, sarà inserita una nuova riga nella tabella contente i due risultati dei due array. Però nn funziona.

Ecco il codice:

Servlet (VisualizzaTuttiCv.java)
codice:
public class VisualizzaTuttiCV extends HttpServlet {
	
	String Url = "jdbc:mysql://localhost:3306/gestionedati";
	String ex="vuoto";		//questa variabile sarà modificata se viene lanciata qualche eccezione
	String UsernameDB ="root";
	String PasswordDB ="bari";
	int i=0;
	int cont=0;	
	int NumeroUser;
	
	public void service(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
	
		HttpSession	session = request.getSession();
		String ID = (String)session.getAttribute("login");
		
		try {
			Class.forName("com.mysql.jdbc.Driver");	
		}
		catch(ClassNotFoundException e) {
			System.out.println("Error loading driver");
		}			    
		catch (Exception e) {
			e.printStackTrace();
			ex = e.toString();
		}

		try {
			java.sql.Connection	conn = DriverManager.getConnection(Url, UsernameDB, PasswordDB);
			java.sql.Statement st3 = conn.createStatement();
			ResultSet risultato3=st3.executeQuery("SELECT Count(IdUtente) AS i FROM utente WHERE IdUtente != '1'");
			if (risultato3.next()) {
				i = risultato3.getInt("i");
			}
			/*request.setInt("i",i);*/ //questo nn funziona...
			String Id[] = new String[i];
			String User[] = new String[i];
			java.sql.Statement st1 = conn.createStatement();			
			System.out.println("--------VISUALIZZAZIONE DI TUTTI I CV-----------");
			String querySQL = "SELECT IdUtente FROM utente WHERE IdUtente != '1'";
			ResultSet risultato1=st1.executeQuery(querySQL);			
			if (risultato1 != null){		
				while (risultato1.next()) {								
					Id[cont] = risultato1.getString("IdUtente");
					request.setAttribute("Id[cont]", Id[cont]);	
					java.sql.Statement st2 = conn.createStatement();
					String querySQL2 = "SELECT UserName FROM utente WHERE IdUtente = '"+Id[cont]+"'";
					ResultSet risultato2=st2.executeQuery(querySQL2);
					risultato2.next();
					User[cont] = risultato2.getString("UserName");					
					request.setAttribute("User[cont]", User[cont]);
					System.out.println("Numero id "+Id[cont]);
					System.out.println("User "+User[cont]);
					System.out.println("indice array = "+cont);
					cont=cont+1;
				}
				System.out.println("Numero di utenti trovati = " +cont);
				System.out.println("Numero di utenti trovati = " +i);
				String jspPage = "/VisualizzaAdmin.jsp";
				request.getRequestDispatcher(jspPage).forward(request,response);
				
			}	
			else {
				String jspPage = "/NoCVTrovati.jsp";
				request.getRequestDispatcher(jspPage).forward(request,response);			
			}
		}
		catch( SQLException e ) {
			e.printStackTrace();
			ex = e.toString();
		}	
		if (ex == "vuoto") {
		System.out.println("Visualizzazione tutti i CV terminata");				
		}
		else {
			System.out.println("Visualizzazione tutti i CV non effettuata");
			System.out.println("eccezione: "+ex);
			response.setContentType("text/html");
			PrintWriter pw = response.getWriter();
			pw.println("Visualizzazione non effettuata 
	Ritorna alla <a href=\"../../ejob/BenvenutoAdmin.html\">Home Page</a></p>");	
			pw.close();	
		}
	}
}
In pratica, prima faccio una query per trovare la lunghezza degli array (i), poi faccio le due query per riempire i due array ke devo passare (Id[] e User[] ). Poi setto gli attributi (setAttribute). Gli array vengono effettivamente riempiti, infatti i vari out.println mi danno i risultati corretti.
Il problema è nella pagina jsp.

PAGINA JSP (VisualizzaAdmin.jsp)
codice:
<html>

<head>
<title>Visualizzazione di tutti gli utenti registrati</title>
</head>

<body background="/ejob/images/prato.gif">

<table bgcolor="white" border="2" cellpadding="10" align="center" width="500">
<caption>
Ecco tutti gli utenti registrati
</caption>
<tr><td><p align="center"> Id Utente </p></TD> <TD><p align="center"> Username </p></td></tr> 

<%for (int j=0; j<4; j=j+1) {%>
	<%out.print("<tr><td><p align=center>");%>
	<%out.print(request.getAttribute("Id[j]").toString());%>
	<%out.print("</td></p><td><p align=center>");%>
	<%out.print(request.getAttribute("User[j]").toString());%>
	<%out.print("</td></p></tr>");	
}%>
%>

</table>

<a href="../../ejob/BenvenutoAdmin.html">Home
</body>

</html>
Ho messo nel cilo for j<4 perkè ho riempito il mio database mysql in modo tale ke gli array avessero lunghezza 4; infatti, altro problema, nn riesco a passare la lunghezza dei due array alla pagina jsp (forse è questa la causa dell'errore? devo fare setInt nella servlet e poi getInt nella jsp?).

L'errore ke mi dà il server tomcat è NullPointerExeption.

Spero di essere stato kiaro.