Few days back I have upgraded Tomcat from 4.1.29 to 5.0.25 ... When I deploy the war file in Tomcat 5.0.25 , and tried to login into the web page using username and password , the control passes over to next page and in that page links are there to Edit or Delete a User , when i am clicking on the link "Edit" i am getting the following error "java.net.MalformedURLException: Path . does not start with a "/" character" If the same war file is deployed in Tomcat 4.1.29 ... its working fine .... here i am able to edit user info We are using a cocoon frame work in our project , When ever You click on the Edit link , control goes to Sitemap and searches for the suitable pattern and calls the particular action I am also pasting the Stack Trace of the Error : org.apache.cocoon.ProcessingException: IOException JSPReader.generate(): java.net.MalformedURLException: Path . does not start with a "/" character at org.apache.cocoon.reading.JSPReader.generate(JSPReader.java:153) at org.apache.cocoon.components.pipeline.CachingStreamPipeline.processReader (CachingStreamPipeline.java:251) at org.apache.cocoon.components.pipeline.AbstractStreamPipeline.process (AbstractStreamPipeline.java:168) at org.apache.cocoon.components.pipeline.CachingStreamPipeline.process (CachingStreamPipeline.java:293) at org.apache.cocoon.components.treeprocessor.sitemap.ReadNode.invoke (ReadNode.java:133) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeN odes(AbstractParentProcessingNode.java:85) at org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.invoke (ActTypeNode.java:150) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeN odes(AbstractParentProcessingNode.java:85) at org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke (PreparableMatchNode.java:156) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeN odes(AbstractParentProcessingNode.java:109) at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke (PipelineNode.java:140) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeN odes(AbstractParentProcessingNode.java:109) at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke (PipelinesNode.java:144) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process (TreeProcessor.java:328) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process (TreeProcessor.java:293) at org.apache.cocoon.Cocoon.process(Cocoon.java:575) at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:999) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:157) at org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:214) at org.apache.catalina.core.StandardValveContext.invokeNext (StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardContextValve.invokeInternal (StandardContextValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:152) at org.apache.catalina.core.StandardValveContext.invokeNext (StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:137) at org.apache.catalina.core.StandardValveContext.invokeNext (StandardValveContext.java:104) at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:117) at org.apache.catalina.core.StandardValveContext.invokeNext (StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:109) at org.apache.catalina.core.StandardValveContext.invokeNext (StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:793) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnecti on(Http11Protocol.java:702) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run (ThreadPool.java:644) at java.lang.Thread.run(Thread.java:536) Caused by: java.net.MalformedURLException: Path . does not start with a "/" character at org.apache.catalina.core.ApplicationContext.getResource (ApplicationContext.java:469) at org.apache.catalina.core.ApplicationContextFacade.getResource (ApplicationContextFacade.java:176) at org.apache.cocoon.reading.JSPReader.generate(JSPReader.java:116) ... 41 more java.net.MalformedURLException: Path . does not start with a "/" character at org.apache.catalina.core.ApplicationContext.getResource (ApplicationContext.java:469) at org.apache.catalina.core.ApplicationContextFacade.getResource (ApplicationContextFacade.java:176) at org.apache.cocoon.reading.JSPReader.generate(JSPReader.java:116) at org.apache.cocoon.components.pipeline.CachingStreamPipeline.processReader (CachingStreamPipeline.java:251) at org.apache.cocoon.components.pipeline.AbstractStreamPipeline.process (AbstractStreamPipeline.java:168) at org.apache.cocoon.components.pipeline.CachingStreamPipeline.process (CachingStreamPipeline.java:293) at org.apache.cocoon.components.treeprocessor.sitemap.ReadNode.invoke (ReadNode.java:133) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeN odes(AbstractParentProcessingNode.java:85) at org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.invoke (ActTypeNode.java:150) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeN odes(AbstractParentProcessingNode.java:85) at org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke (PreparableMatchNode.java:156) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeN odes(AbstractParentProcessingNode.java:109) at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke (PipelineNode.java:140) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeN odes(AbstractParentProcessingNode.java:109) at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke (PipelinesNode.java:144) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process (TreeProcessor.java:328) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process (TreeProcessor.java:293) at org.apache.cocoon.Cocoon.process(Cocoon.java:575) at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:999) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:157) at org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:214) at org.apache.catalina.core.StandardValveContext.invokeNext (StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardContextValve.invokeInternal (StandardContextValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:152) at org.apache.catalina.core.StandardValveContext.invokeNext (StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:137) at org.apache.catalina.core.StandardValveContext.invokeNext (StandardValveContext.java:104) at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:117) at org.apache.catalina.core.StandardValveContext.invokeNext (StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:109) at org.apache.catalina.core.StandardValveContext.invokeNext (StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:793) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnecti on(Http11Protocol.java:702) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run (ThreadPool.java:644) at java.lang.Thread.run(Thread.java:536) The same thing is working fine in Tomcat 4.1.29 Kindly help me if anybody knows the solution for this
It should be obvious you need to post a test case to investigate something like this. Here, it seems quite clear, though: the spec says very clearly that getResource needs a path starting with a '/'.
*** Bug 30282 has been marked as a duplicate of this bug. ***
*** Bug 30283 has been marked as a duplicate of this bug. ***