You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Phil Zoio <ph...@realsolve.co.uk> on 2005/04/20 16:51:36 UTC

Server Side include won't work from root context

I am trying to get server side includes to work across app contexts in 
Tomcat 5.5.4

My ROOT webapp has the file
includer/do_include.shtml

The content is:

<html>
<head>
    <link rel ="stylesheet" type="text/css" href="style.css">
</head>
<body>
    <table style="color: #ff9900">
        <tr>
            <td><h2>This page shows the use of the SSI</h2></td>
        </tr>   
    </table>
    <table style="border:1px solid;">
        <tr>
            <td>
                <!--#include virtual="/test/index.jsp" -->
            </td>
        </tr>
    </table>
</body>
</html>

The application context "test" is deployed. If you type 
http://localhost:8080/test/, the content of index.jsp shows.

Finally, SSI functionality has been "turned on" in TOMCAT_HOME/conf/web.xml:

<servlet>
    <servlet-name>ssi</servlet-name>
    <servlet-class>
      org.apache.catalina.ssi.SSIServlet
    </servlet-class>
    <init-param>
      <param-name>buffered</param-name>
      <param-value>1</param-value>
    </init-param>
    <init-param>
      <param-name>debug</param-name>
      <param-value>5</param-value>
    </init-param>
    <init-param>
      <param-name>expires</param-name>
      <param-value>666</param-value>
    </init-param>
    <init-param>
      <param-name>isVirtualWebappRelative</param-name>
      <param-value>0</param-value>
    </init-param>
    <load-on-startup>4</load-on-startup>
</servlet>

and

<servlet-mapping>
    <servlet-name>ssi</servlet-name>
    <url-pattern>*.shtml</url-pattern>
</servlet-mapping>

When I go try to do the Server include using 
http://localhost/includer/do_include.shtml, I get
"[an error occurred while processing this directive]"

SEVERE: ssi: #include--Couldn't include file: /test/index.jsp
java.io.IOException: Couldn't get context for path: /test/index.jsp
        at 
org.apache.catalina.ssi.SSIServletExternalResolver.getServletContextAndPathFromVirtualPath(SSIServletExternal
Resolver.java:273)
        at 
org.apache.catalina.ssi.SSIServletExternalResolver.getServletContextAndPath(SSIServletExternalResolver.java:3
17)
        at 
org.apache.catalina.ssi.SSIServletExternalResolver.getFileText(SSIServletExternalResolver.java:366)
        at 
org.apache.catalina.ssi.SSIMediator.getFileText(SSIMediator.java:154)
        at org.apache.catalina.ssi.SSIInclude.process(SSIInclude.java:40)
        at 
org.apache.catalina.ssi.SSIProcessor.process(SSIProcessor.java:145)
        at 
org.apache.catalina.ssi.SSIServlet.processSSI(SSIServlet.java:193)
        at 
org.apache.catalina.ssi.SSIServlet.requestHandler(SSIServlet.java:170)
        at org.apache.catalina.ssi.SSIServlet.doGet(SSIServlet.java:106)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        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.StandardContextValve.invoke(StandardContextValve.java:178)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
        at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:731)
        at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
        at 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
        at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:595)

The include does work for files within the ROOT context, though

Any tips on what's still wrong would be appreciated.




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