Precompiling JSPs: Is that server specific?

246 views Asked by At

Since JSPs adhere to a standard API, can I precompile them in my projects and then deploy the result on any server?

Specifically, I'm using Tomcat, JBoss and WebSphere.

2

There are 2 answers

1
skaffman On BEST ANSWER

No, not really. If you look at the java source that gets created by the JSP compiler, you'll see that it extends a base class that's proprietary to the container. For example, JBoss 4's servlet container generates JSP classes that extend org.apache.jasper.runtime.HttpJspBase, which is Tomcat and JBossWeb-specific.

So you might be able to reuse pre-compiled JSPs between different tomcat-based servers, but even then it might not work.

1
duffymo On

Since the servlet/JSP engines are different between app servers there could be byte code added that's not portable.

I'd have to write a test to confirm it. If I have time I'll try it with Tomcat and WebLogic and report back.