geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Bohn <joe.b...@earthlink.net>
Subject Re: Jetty 6 and JSP 2.1 support
Date Thu, 07 Dec 2006 03:20:43 GMT


David Jencks wrote:
> 
> On Dec 6, 2006, at 1:27 PM, David Jencks wrote:
> 
>>
>> On Dec 6, 2006, at 1:01 PM, Joe Bohn wrote:
>>
>>>
>>> Jetty 6 as currently integrated in trunk is still using the JSP   2.0 
>>> support from jasper (tomcat 5.5.15).   To support jetty for  the 
>>> 2.0-M1 milestone we will need a JSP 2.1 implementation.  I  half 
>>> thought about just shipping with the jsp 2.0 for jetty in 2.0- M1 but 
>>> the console and other jsp apps. will break when I update  the 
>>> assemblies to include JSTL 1.2 from glassfish which requires a  JSP 
>>> 2.1 implementation.
>>>
>>> There are a few choices here (details below):
>>> 1) Use the JSP supported provided by jetty.
>>> 2) Use jasper from tomcat 6
>>> 3) Don't deliver jetty with 2.0-M1
>>>
>>>
>>> 1)  I gate the JSP support in jetty a try.  AFAIK, jetty is  actually 
>>> picking up modules from glassfish and repackaging these  in their 
>>> build (can anybody confirm or deny this?).
>>> I may have a few things wrong but my initial attempt to use the  jsp 
>>> 2.1 jars delivered by jetty didn't go well.   You can see the  stack 
>>> traces in the attached file.  I haven't dug into the method  errors 
>>> yet and I'm not sure if it is worth the effort (see #2).
>>
>>
>> I think the problem might be the jetty 6 module builder line 983  
>> where the jasper servlet name is hardcoded:
>>
>>             servletData.setAttribute("servletClass",  
>> "org.apache.jasper.servlet.JspServlet");
>>
>> This should be an attribute on the builder.  I'll fix it shortly.
>>
>>
>> Also the default jsp servlet in the jetty6-deployer plan.xml most  
>> likely needs the same change:
>>
>>     <gbean name="JSPServlet"  
>> class="org.apache.geronimo.jetty6.JettyDefaultServletHolder">
>>         <attribute name="servletName">jsp</attribute>
>>         <attribute  
>> name="servletClass">org.apache.jasper.servlet.JspServlet</attribute>
>>         <attribute name="loadOnStartup">0</attribute>
>>         <attribute name="initParams">
>>             development=false
>>             fork=false
>>             logVerbosityLevel=DEBUG
>>             xpoweredBy=false
>>         </attribute>
>>         <attribute  
>> name="servletMappings">*.jsp,*.jspf,*.jspx,*.xsp</attribute>
>>     </gbean>
> 
> 
> Done, see GERONIMO-2631 and rev 483251.

Thanks David.  I think having this as a parameter is great but I'm not 
sure if it was the cause of the problem.  The jsp-2.1.jar from jetty 
includes many of the same classes from jasper including 
org.apache.jasper.servlet.JspServlet so I was assuming this didn't have 
to change.

> 
>>
>>>
>>> 2)  I'm about to try using the new jasper with jetty.  It seems  like 
>>> the web console works fine with the jsp 2.0 support provided  by 
>>> jasper.  I think that it should equally do fine with the jsp  2.1 
>>> support from jasper.  I like this approach because it has  worked in 
>>> the past and gives us some consistency between jetty and  tomcat.  If 
>>> it works then that pretty much settles it for me for  the 2.0-M1 
>>> delivery.  However, longer term I'm concerned because  it diverges 
>>> from the path that jetty has taken which means we may  be in for 
>>> problems down the road even if things work fine now.   Does anybody 
>>> know if the current jetty approach is a long-term  decision or just a 
>>> temporary one based upon the lack of jasper 2.1  support when they 
>>> needed it?
>>
>>
>> We'll have to ping greg.

See my response to Paul for what I learned from Greg on IRC.

I had a lot more success with my quick attempt to get jetty 6 working 
with jasper from tomcat 6.  I may check this in as an initial approach 
so that I can go ahead an try out the glassfish jstl.  Do you have any 
objections to that?  I'll dig into the jetty errors some more after I 
get a warm fuzzy on JSTL.

>>
>>>
>>> 3)  It is certainly the easiest approach to only deliver tomcat  for 
>>> 2.0-M1.   I'm not sure how others feel about it.  I don't want  to 
>>> open the whole "multiple-container" can of worms ... but it  sure 
>>> does complicate things trying to support both tomcat and jetty.
>>
>>
>> OK, lets drop tomcat :-)  The easiest approach is to deliver only  
>> jetty6 for 2.0-M1, it's already implemented.
>>
>>>
>>> Please let me know your thoughts.
>>
>>
>> I think we should continue to support both servlet containers.
> 
> 
> I also think we should put the jsp support jars (jasper/ glassfish  
> equivalent) into a configuration so we can swap them in a server  
> without rebuilding e.g the jetty_6 configuration to change its  
> dependencies.

I'll look into this as well.

Thanks!  Joe

Mime
View raw message