In Tomcat 3.1, I have many web applications, each set up in its own separate context. To maintain a consistent look across the entire site, every JSP includes template files found in a templates context via <jsp:include page="/templates/header.jsp" flush="true">. This worked fine until I started using tomcat 3.2; suppose I had a /login-app context. I get an error saying 'jsp not found in /login-app/templates/header.jsp' ... is there anyway to disable the JSP's engine context when using the page attribute of <jsp:include> so that it won't include the path of the context when looking for another file?

Serge Knystautas

No, as unfortunately Tomcat 3.2 is correctly following the clarified servlet specification, meaning technically your design is illegal. Tomcat 3.1 was allowing this behavior as (for quite a while) people were unclear on how to handle absolute references within the servlet context. It was recently clarified that servlet contexts are not supposed to interact with each other, either via page references or shared object space, and so you cannot include or forward a page in one context from another.