I've just built a prototype with two people at work to test JSP vs. XSL. We're fetching mostly static strings out of a java object with one dynamic field that simply counts accesses. The backend is the same for both JSP and XSL.

Serge Knystautas

There are no things you can do to try to improve performance. The first is to turn off reloading in your context definition in your server.xml conf file. Out of the box, this is usually true which means each request checks the file's timestamp to see if it has changed.

The second thing you can do is precompile all your JSPs using a tool like jspc. I'm not sure if Weblogic includes such a tool, but JRun and Tomcat 3.2 both do. This will convert all your JSPs into servlet source files and build a web.xml file that maps to these servlets. This will remove compile time, and seeing the source code of these servlets might show what are performance bottlenecks in the JSPs.

The next step would be to try a profiling tool like OptimizeIt to see what is causing the problem. I would also try your tests on other servlet engines to see if this is a function of your servlet engine rather than the JSP architecture.