Well that depends on your requirements. If your resultset is guaranteed to be small, or never go over a certain limit, and you have a "close"/"fast" connection from your
servlet engine to your DB (transfer of large resultset can hinder network perf) you can stick w/ your current easy solution. Also consider the size of the machine the servlet engine is running on, the memory that is. You don't want for every user to pull back 8000 records and stuff them into a session, it just doesn't scale and you could get the dreadful "java.lang.OutOfMemoryException"
However, if the size of your resultset is to grow and/or you don't have the best connection between your servlet engine and your db then you need to implement a paging pattern as you have already indicated. I would recommend looking at the sun petstore for a complete implementation of the paged list pattern. I would recommend this approach. It allows you to fine-tune the size of your "pages" if you will. So if you are running your servlet engine on a smaller box, with an extremely high user load then you can use smaller page size, say 100 records, with more roundtrips to the db. However, if you are running on a heavyweight machine then you can use large page sizes.
Hope this helps,
Chris