You are doing a forward, not a redirect. They are not the same. In this case, a forward is correct.
The logic in your servlet is such that the values are being over-written on each loop. At the end of the loop all you have is the data from the last iteration. Ths is certainly not your intention.
To make the data available to a forwarded JSP, you create scoped variables in the request. You do this with request.setAttribute().
In your JSP, be sure to avoid old-fashioned scriptlets and use modern mechanisms such as the JSTL and EL.