Strictly speaking, you should never have a resultset in a servlet. DB access should happen at a lower layer, with non-DB constructs passed up to the UI layer. If you're doing your DB access in a servlet, you're not following best practices (MVC) for web app design.
That said, regardless of where you do the DB access, you should copy the data from the resultset into another construct (Lists, arrays, whatever makes the most sense for the nature of the data) and close the rsultset and statement as soon as possible.
For reporting, are you rolling your own, or using a prefab reporting package? That might dictate what format you transform the resultset data into. For simply showing a grid of data on a JSP, copying the data into a simple Object can work just fine.