A little hard to judge based on the information you give. But the JSP should be compile once only during the container lifetime. So most likely there is not going to be a compiler issue. How many processors have you allocated for Tomcat's listeners? How much load are you generating? How much heap space have you allocated? Are you noticing any thrashing?
Check the Tomcat pages, also looking at the Jasper section for an understanding of the tuning issues with Tomcat.
It sounds like a blocking problem but there is not enough information abut the nature and characteristics of the load to make even a rough guess on where to look.
Thanks for the tips.
I'm the only user, there are more than enough threads. The database is local to the same box the app server is on (a desktop xp), there's ample memory for the VM and there's no thrashing (monitoring the box with perfmon).
I'll take a look at the Jasper pages.
I guess that you should at least turn it off development mode for Jasper, keep generated and no reloading.
If I'm reading this correctly, you say it is on a desktop XP. Are you sure it is not having a Windows moment - such as tying up processor doing inexplicable Windows things such as AD related-bursts, tcp/ip stack seizures and other things that put a halt to other services? Just a question.