Salve a tutti.

Sto iniziando a sviluppare una web app (sono alle prime armi) e mi ritrovo col seguente problema.

Devo fare, all'interno di una servlet, una query a un DB, e utilizzare tutti i dati estrapolati per settare un Java Bean da ripassare ad una pagina JSP dove andrò a leggere tutti i dati utilizzando i vari tag "get.Property".

Fino a che il risultato della query è di una sola riga tutto funziona bene. Se devo estrapolare più righe, avevo pensato di restituire alla pagina JSP un ArrayList del JavaBean.
Vi scrivo un pò di codice con le parti essenziali per rendere l'idea:

codice:
HttpSession session = request.getSession();

ArrayList<Links> links = new ArrayList<Links>();

while (rs.next()) {


                int id = rs.getInt(1);
                String name = rs.getString(2);
                String url = rs.getString(3);
                int researc = rs.getInt(4);

                Links link = new Links();


                link.setId(id);
                link.setName(name);
                link.setUrl(name);
                link.setResearcher(researc);

                links.add(link);
            }

           session.setAttribute("links", links);

            RequestDispatcher disp = request.getRequestDispatcher("index.jsp");
            disp.forward(request, response);
Vorrei andare a leggere il tutto nella JSP con un <jsp:usebean> e finché c'è una sola riga funziona, poi mi si solleva un java.lang.NullPointerException.

Premettendo che sono alle prime armi, mi potete far presente dov'è il problema e come provare a risolverlo?

Grazie a tutti