I found out today (the “fun” way) that there is a size limit surrounding compiled JSPs. That limit is 64k. Of course, the limit does not happen during compilation. No, that would be too simple. Instead the server will compile the page happily to something > 64k, but will then blow up when trying to execute the page.

If you recall, java (and so jsp) is a compiled language, unlike Python which is interpreted. So web app servers (like Tomcat, WebSphere, WebLogic, JBoss, Jetty, etc) take the .jsp file and compile it to a .class file. It is this .class file that actually gives you content in the browser.

It would certainly be well worth the time check your app server’s work directory (or whatever it is in your context; work is a Tomcat term) and see if there are any class files hovering around the 50k mark or so. If indeed there are, they would be worthwhile candidates for some refactoring before they grow any larger and kill the test teams productivity for a day whilst investigating the problem.

Not that the last sentance is an indicator of how my day is going. 🙂