We are facing the same problem lividpixel is. What i plan to do (using MVC and JSP pages) is have a page that displays random text messages and an animated GIF. In the onLoad method of the <body> tag, I will have it call the query or whatever we plan to do, so if it takes a while, the animated gif and text is still displayed. The only downside to this is making sure the gif isn't too big and itself takes a while to download. A worry I have is that the onLoad "blanks" the frame while going off to the browser. I don't know if it does this or not in various versions of browsers. Generally I would have to say it doesn't "change" the frame to the new page until its received. But it is possible that some pages you access return portions of it at a time. I prefer to get the whole returned stream at one time, rather than see portions of a page download and take a while. I think it depends on your needs. If you want portions of the page, you can set the cache flush size of a JSP page to X number of bytes which means the response buffer of the servlet will flush the contents of the response when it fills up to X bytes. Not sure what the default is either..but keep in mind that if you return a large result set from a query, you may very well want to set the buffer size of a JSP page to what you think is the maximum bytes you'll return, otherwise the browser will start receiving pages long before the full query is done.