tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <david_jen...@yahoo.com>
Subject Re: JspRuntimeContext & JspServlet - Using SpringSource's Jasper 5.5.23 implementation in Http Service?
Date Sat, 06 Nov 2010 07:15:37 GMT
I don't understand the diagram you show nor what you mean by bridging, but you might want to
consider looking at geronimo 3.  We have tomcat and jasper running in an osgi environment
and can deploy WABs and also EE wars as osgi bundles.   I believe you can (as of a few days
ago) look up the bundle/bundle context in jndi and get it injected into your ee components.

Whether or not this is something you want to look into I'd suggest you look into a container
that supports WABs.

thanks
david jencks

On Nov 5, 2010, at 9:02 PM, Misha Koshelev wrote:

> Dear All:
> 
> My sincerest apologies if this is the wrong forum for this question. I
> was unable to find a better place for Jasper API support/questions.
> 
> I am working on a ticket to make the OpenMRS medical records system
> run in an OSGi environment.
> http://tickets.openmrs.org/browse/TRUNK-1596
> 
> SUMMARY:
> My simple question - is there, at the very least, some clear
> explanation of JspRuntimeContext and JspServlet (besides
> http://tomcat.apache.org/tomcat-5.5-doc/jasper/docs/api/org/apache/jasper/compiler/JspRuntimeContext.html
> http://tomcat.apache.org/tomcat-5.5-doc/jasper/docs/api/org/apache/jasper/servlet/JspServlet.html
> ) or, more importantly, is there any clear guide or suggestions for
> how to use these within a non-JSP aware server to have proper JSP
> support, esp. with regard to
> taglibs (as, at the very least, the Jsp file seems to be processed and
> include directives seem to be occurring - which seems strange if
> Jasper is not functioning at all, although this is the case at least
> based on the logs).
> 
> Any help much appreciated
> 
> DETAILS:
> We are able to use Spring Web extender
> http://static.springsource.org/osgi/docs/current/reference/html/web.html
> to successfully make OpenMRS run within an OSGi environment
> http://tickets.openmrs.org/secure/attachment/34857/1596-latest.patch
> 
> we would like to have a "proxy" setup, i.e.,
> 
> Tomcat -> WAR -> OSGi -> OSGified OpenMRS
>                                           -> module 1
>                                           -> module 2
>                                           etc.
> 
> I am currently trying to thus move to using an OSGi HTTP Service
> implementation, as this allows bridging as above. I have found Apache
> Felix HTTP Service
> http://felix.apache.org/site/apache-felix-http-service.html
> to be quite nice for this purpose.
> 
> I am using SpringSource's version of Jasper for my OSGi project:
> https://s3browse.springsource.com/browse/maven.springframework.org/osgi/org/springframework/osgi/jasper.osgi/5.5.23-SNAPSHOT/
> (I was not able to find the source for these JARs, but based on the
> output of jar tvf
> http://maven.springframework.org/osgi/org/springframework/osgi/jasper.osgi/5.5.23-SNAPSHOT/jasper.osgi-5.5.23-20080229.204604-1.jar,
> the MANIFEST.MF, and the pom.xml from that JAR - all attached; it
> seems that this is more or less an unmodified Jasper (I am a Jasper
> newbie and so could be _very_ wrong).
> 
> The latest update that regards Jasper can be found here:
> http://tickets.openmrs.org/browse/TRUNK-1596?focusedCommentId=163205&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_163205
> 
> In brief, in the current version, index.jsp is clearly being
> processed, as the mapping to /favicon.ico
> DEBUG - InternalResourceView.renderMergedOutputModel(236) |2010-11-05
> 19:57:55,239| Forwarding to resource [/WEB-INF/view/index.jsp] in
> InternalResourceView 'index'
> WARN - DispatcherServlet.noHandlerFound(962) |2010-11-05 19:57:55,277|
> No mapping found for HTTP request with URI [/favicon.ico] in
> DispatcherServlet with name 'servlet_4'
> is clearly coming from our file:
> <link rel="icon" type="image/ico"
> href="<openmrs:contextPath/><spring:theme code='favicon' />">
> webapp/src/main/webapp/WEB-INF/template/headerFull.jsp
> which is linked in
> 		<%@ include file="headerFull.jsp" %>
> ./webapp/src/main/webapp/WEB-INF/template/header.jsp
> which, in turn, is linked in
> <%@ include file="/WEB-INF/template/header.jsp" %>
> ./webapp/src/main/webapp/WEB-INF/view/index.jsp
> 
> (full files, for reference, are:
> http://svn.openmrs.org/openmrs/trunk/webapp/src/main/webapp/WEB-INF/view/index.jsp
> http://svn.openmrs.org/openmrs/trunk/webapp/src/main/webapp/WEB-INF/template/header.jsp
> http://svn.openmrs.org/openmrs/trunk/webapp/src/main/webapp/WEB-INF/template/headerFull.jsp
> )
> 
> However, for one thing, our taglibs are _not_ being processed at all,
> as, the class referenced in
> 	<name>contextPath</name>
> 	<tag-class>org.openmrs.web.taglib.ContextPathTag</tag-class>
> http://svn.openmrs.org/openmrs/trunk/webapp/src/main/webapp/WEB-INF/taglibs/openmrs.tld
> for openmrs:contextPath never receives calls in its doStartTag() or
> doEndTag() methods (class is here
> http://svn.openmrs.org/openmrs/trunk/web/src/main/java/org/openmrs/web/taglib/ContextPathTag.java
> ).
> 
> SpringSource seems to do ClassLoader magic to somehow make Jasper
> support work (by chaining a Jasper classloader to the bundle
> classloader?), see, e.g.,
> https://src.springframework.org/svn/spring-osgi/tags/spring-osgi-1.2.1/web/src/main/java/org/springframework/osgi/web/deployer/jetty/JettyWarDeployer.java
> https://src.springframework.org/svn/spring-osgi/tags/spring-osgi-1.2.1/web/src/main/java/org/springframework/osgi/web/deployer/internal/util/
> 
> Notably, if I turn org.apache.jasper logging to DEBUG, I see:
> DEBUG - JspRuntimeContext.<init>(103) |2010-11-05 22:19:01,881| Parent
> class loader is: Openmrsorg.openmrs.util.OpenmrsClassLoader@58d67b44
> DEBUG - JspRuntimeContext.initClassPath(344) |2010-11-05 22:19:01,889|
> Compilation classpath initialized:
> /tmp/Jetty_0_0_0_0_8080_jetty-openmrs3074779251420665248.osgi__openmrs__15846m/jsp:null
> DEBUG - JspServlet.init(103) |2010-11-05 22:19:01,890| Scratch dir for
> the JSP engine is:
> /tmp/Jetty_0_0_0_0_8080_jetty-openmrs3074779251420665248.osgi__openmrs__15846m/jsp
> DEBUG - JspServlet.init(105) |2010-11-05 22:19:01,890| IMPORTANT: Do
> not modify the generated servlets
> INFO - AbstractWarDeployer.deploy(94) |2010-11-05 22:19:01,989|
> Successfully deployed bundle [openmrs-webapp
> (org.openmrs.web.openmrs-webapp)] at [/openmrs] on server Jetty-6.1.x
> (AbstractWarDeployer.java is here:
> https://src.springframework.org/svn/spring-osgi/tags/spring-osgi-1.2.1/web/src/main/java/org/springframework/osgi/web/deployer/support/AbstractWarDeployer.java
> and is subclassed by JettyWarDeployer.java
> https://src.springframework.org/svn/spring-osgi/tags/spring-osgi-1.2.1/web/src/main/java/org/springframework/osgi/web/deployer/jetty/JettyWarDeployer.java
> which does all the work).
> 
> Further, when we load index.jsp I see
> DEBUG - ContentNegotiatingViewResolver.resolveViewName(386)
> |2010-11-05 18:06:37,132| Returning
> [org.springframework.web.servlet.view.JstlVi\
> ew: name 'index'; URL [/WEB-INF/view/index.jsp]] based on requested
> media type 'text/html'
> DEBUG - InternalResourceView.renderMergedOutputModel(236) |2010-11-05
> 18:06:37,136| Forwarding to resource [/WEB-INF/view/index.jsp] in
> Inte\
> rnalResourceView 'index'
> DEBUG - JspServlet.service(248) |2010-11-05 18:06:37,136| JspEngine
> --> /WEB-INF/view/index.jsp
> DEBUG - JspServlet.service(249) |2010-11-05 18:06:37,136| ServletPath:
> /WEB-INF/view/index.jsp
> DEBUG - JspServlet.service(250) |2010-11-05 18:06:37,137| PathInfo: null
> DEBUG - JspServlet.service(251) |2010-11-05 18:06:37,137| RealPath:
> /tmp/jetty-openmrs3852173793073389964.osgi/WEB-INF/view/in\
> dex.jsp
> DEBUG - JspServlet.service(252) |2010-11-05 18:06:37,137| RequestURI:
> /openmrs/WEB-INF/view/index.jsp
> DEBUG - JspServlet.service(253) |2010-11-05 18:06:37,138| QueryString: null
> DEBUG - JspServlet.service(254) |2010-11-05 18:06:37,138| Request Params:
> 
> whereas JspServlet is clearly _not_ involved in the current HTTP
> Service implementation.
> 
> My simple question - is there, at the very least, some clear
> explanation of JspRuntimeContext and JspServlet (besides
> http://tomcat.apache.org/tomcat-5.5-doc/jasper/docs/api/org/apache/jasper/compiler/JspRuntimeContext.html
> http://tomcat.apache.org/tomcat-5.5-doc/jasper/docs/api/org/apache/jasper/servlet/JspServlet.html
> ) or, more importantly, is there any clear guide or suggestions for
> how to use these within a non-JSP aware server to have proper JSP
> support, esp. with regard to
> taglibs (as, at the very least, the Jsp file seems to be processed and
> include directives seem to be occurring - which seems strange if
> Jasper is not functioning at all, although this is the case at least
> based on the logs).
> 
> Any help much appreciated
> 
> Thank you
> 
> Yours
> Misha
> <jar_tvf_org.springframework.osgi.jasper.osgi_5.5.23.SNAPSHOT.txt><pom.xml>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Mime
View raw message