Rod Macpherson wrote:

Can we specify that we want all JSPs compiled at deploy time? The servlet
approach has shortcomings such as losing the ability to just update a page
on the fly. Since jetty controls the package structure and the location of
class files  it would be nice to have a compile-on-deploy switch or at least
an interface to point to a war and say "compile this".

compile on the fly is a development-time feature.

compile-on-deploy is simply JSP precompilation. The only difference being that the one is done by the container, the other by the developer.

There is an extra optimisation step that can be taken in the latter, which is to actually cut Jasper out of the dispatch of URI->Servlet, mapping url-patterns in your web.xml directly to compiled pages.

This step is problematic to perform in an automated manner, due to the need for development time knowledge (which jsps are servlets and which are just included, etc...).

Since taking the middle route (compile-on-deploy) gives you neither the development-time benefit of compile-on-the-fly, nor the production-time benefit of removing Jasper from the dispatch (precompilation), I have chosen not to implement it.

JSP precompilation is explained in the Jetty/JBoss FAQ :

http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/jboss/contrib/jetty/* FAQ*?rev=HEAD&content-type=text/vnd.viewcvs-markup

I will add this discussion,


Cheers,


Jules


----- Original Message -----
From: "Jules Gosnell" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Sunday, February 16, 2003 9:35 AM
Subject: Re: [JBoss-user] classpath for JSP compiling


Jasper expects it's classpath to be passed as a string via an init-param.

This string is generated by walking up the classloader hierarchy and
adding all relevant dirs/jars to it.

This generation is done on deployment of the war.

It looks s if it is missing the classes in your ejb-jar.

was it deployed when you deployed the war ? If not redeploy it and try
again. If so, let me know and we will investigate further (if you are
using Jetty).

Jules


SainTiss wrote:

Hi,

I'm writing a simple JSP in which I try to access an Entity EJB. Yet
while accessing the jsp, I get javac errors in the JBoss log, like this:

Error compiling file:

/usr/local/jboss-3.0.4_tomcat-4.1.12/tomcat-4.1.x/work/MainEngine/localhost/
eenloketsysteem/jsp/stTest_jsp.java

/usr/local/jboss-3.0.4_tomcat-4.1.12/tomcat-4.1.x/work/MainEngine/localhost/
eenloketsysteem/jsp/stTest_jsp.java:7: package eenloketsysteem.entitybeans
does not exist

import eenloketsysteem.entitybeans.*;
^

/usr/local/jboss-3.0.4_tomcat-4.1.12/tomcat-4.1.x/work/MainEngine/localhost/
eenloketsysteem/jsp/stTest_jsp.java:45: cannot resolve symbol

symbol  : class PersoonUtil
location: class org.apache.jsp.stTest_jsp
       PersoonUtil pUtil = new PersoonUtil();
       ^

And so on...

Obviously, JBoss seems unable to locate the Beans... The beans are in a
.jar file with the following structure:

META-INF/MANIFEST.MF
META-INF/ejb-jar.xml
META-INF/jboss.xml
META-INF/jbosscmp-jdbc.xml
eenloketsysteem/entitybeans/PersoonUtil.class
eenloketsysteem/entitybeans/Persoon.class
eenloketsysteem/entitybeans/PersoonData.class
...

The JSP is in a .war file like this:

META-INF/MANIFEST.MF
WEB-INF/jboss-web.xml
WEB-INF/web.xml
jsp/stTest.jsp
...

The URL I use for accessing the JSP is:
Http://localhost:8080/eenloketsysteem/jsp/stTest.jsp

Now the odd thing is, that I also have some servlets in that .war (which
are compiled by myself of course, and not by JBoss), and there's no
problem with them, i.e. JBoss does find the Beans at runtime, when the
servlets need them...

I guess the most logical explanation would be that JBoss uses a special
classpath when compiling JSP's, but I'm not sure...

Does anyone know what could be the problem here?

Thanks,

Hans





-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user




________________________________________________________________________
This email has been scanned for all viruses by the MessageLabs SkyScan
service. For more information on a proactive anti-virus service working
around the clock, around the globe, visit http://www.messagelabs.com
________________________________________________________________________


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to