You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Aadi Deshpande <ma...@clubmom-inc.com> on 2004/03/03 17:02:29 UTC
Re: Cross context c:import not working?
For the archives :
this is bug 27309 (
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=27309 ) and has been
fixed in head.
-a
Aadi Deshpande wrote:
> Hi,
>
> I'm not sure if this or the taglibs-user is the right place for
> posting this, but it looks to be a Tomcat error.
>
> When trying to use a c:import in the vein of :
>
> <c:import url="/test.jsp" context="/profile"/>
> Hi,
>
> Not sure if this is the right place or taglibs-user for this issue (
> it seems to be a tomcat problem ), but it looks like cross context
> c:imports don't work if a page is session-enabled. This used to work
> in Tomcat 5.0.16 but is broken in 5.0.19
>
> For example :
>
> Both "/" and "/profile" contexts have crossContext="true"
>
> <c:import url="/cross_context_import.jsp" context="/profile"/>
>
> if cross_context_import.jsp has <%@ page session="false" %>,
> everything works well.
>
> if cross_context_import doesn't have that ( or <%@ page session="true"
> %> ), then it gives me a NullPointerException ( stack trace at the end )
>
> The problem it seems is that inside
> ApplicationHttpRequest.getSession(), the call to
> context.getManager().findSession(<id>) returns null ( this is for the
> first time that the context is accessed ).
>
> However, before checking to see if the session is null, the .access()
> method is called on it ( presumably to update the access time ) . The
> whole thing is wrapped in an IOException, but which gets ignored since
> NullPointerException is a RuntimeException.
>
> What's odd is that the check for the ( localSession == null ) follows
> immediately after the try block, so it looks like some sort of
> oversight in my eyes.
>
> What I've done is take the source code, and refactor it so that the
> access comes in an else block ( it looks like other session management
> code was put in place after 5.0.16 )
>
>
> I'd like to make sure I didn't miss anything before erroneously
> reporting a bug.
>
>
>
>
> java.lang.NullPointerException
> at
> org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:546)
>
> at
> org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:512)
>
> at
> org.apache.jasper.runtime.PageContextImpl._initialize(PageContextImpl.java:192)
>
> at
> org.apache.jasper.runtime.PageContextImpl.initialize(PageContextImpl.java:167)
>
> at
> org.apache.jasper.runtime.JspFactoryImpl.internalGetPageContext(JspFactoryImpl.java:149)
>
> at
> org.apache.jasper.runtime.JspFactoryImpl.getPageContext(JspFactoryImpl.java:106)
>
> at org.apache.jsp.index_jsp._jspService(index_jsp.java:55)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> at
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
>
> at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
>
> at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:750)
>
> at
> org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:636)
>
> at
> org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:546)
>
> at
> org.apache.taglibs.standard.tag.common.core.ImportSupport.doEndTag(ImportSupport.java:179)
>
> at
> org.apache.jsp.cross_005fcontext_005fimport_jsp._jspx_meth_c_import_0(cross_005fcontext_005fimport_jsp.java:85)
>
> at
> org.apache.jsp.cross_005fcontext_005fimport_jsp._jspService(cross_005fcontext_005fimport_jsp.java:59)
>
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> at
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
>
> at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
>
> at
> clubmom.framework.PersistentHibernateSession.doFilter(PersistentHibernateSession.java:62)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:233)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
>
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:257)
>
> at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
>
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
>
> at
> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:245)
>
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:199)
>
> at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
>
> at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
>
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
>
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:184)
>
> at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
>
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
>
> at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
>
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
>
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)
>
> at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
>
> at
> org.apache.catalina.valves.RequestDumperValve.invoke(RequestDumperValve.java:216)
>
> at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
>
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
>
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)
> at
> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:206)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:833)
>
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:732)
>
> at
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:619)
>
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:688)
>
> at java.lang.Thread.run(Thread.java:534)
>
>
>
> the application fails with the error
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org