Hola erwing
Lo que te pasa no tiene nada que ver con la caché del navegador.
El contenedor de JSP/Servlets utiliza un bufer donde almacena temporalmente la respuesta antes de ser enviada al cliente. Como tú lees muchos datos de una BD, haces que este bufer se llene relativamente rápido, y el contenedor debe enviar el contenido del mismo al cliente (navegador) para vaciar el bufer y poder seguir almacenando la respuesta.
El objeto ServletResponse tiene varias funciones para tratar el bufer. Principalmente necesitarás:
int getBufferSize() -> obtiene el tamaño actual del bufer
setBufferSize(int) -> establece un nuevo tamaño para el bufer
flushBuffer() -> Envía el contenido del bufer al navegador
Usa la función setBufferSize() para darle un tamaño mayor al bufer. Ojo, la debes utilizar antes de enviar algo al navegador, o te dará error.
Bueno, todo esto es la teoría. Yo no lo he llegado a probar, así que cuéntame como te ha ido, ok? ;)
Para más información sobre éstas y otras funciones relacionadas consulta la API: <a href='ir.asp?http://java.sun.com/products/servlet/2.3/javadoc/index.html' target='_blank'>http://java.sun.com/products/servlet/2.3...</a>
Salud
s