I have installed Tomcat 3.2.1 with the default configuration files -- still did not 
care to make changes. Then connected to the examples page -- everything fine, examples 
work.

However, showing the source of a jsp page using sourse.jsp does not work and throws 
JspTagException.
In
$TOMCAT_HOME/webapps/examples/WEB-INF/classes/examples/ShowSource.java
the following code does that:

...
    public int doEndTag() throws JspException {
        if ((jspFile.indexOf( ".." ) >= 0) ||
            (jspFile.toUpperCase().indexOf("/WEB-INF/") != 0) ||
            (jspFile.toUpperCase().indexOf("/META-INF/") != 0))
            throw new JspTagException("Invalid JSP file " + jspFile);
...

As far as I can recall the 2nd and the 3rd conditions were added for security reasons. 
However, as I read them, they mean that the jsp file path SHOULD begin with 
"/WEB-INF/" or "/META-INF/". Is it really what they meant? Shouldn't the access to 
WEB-INF and META-INF be denied (i.e. in the above confitions '>= 0' or ' != -1', or at 
least "= 0") -- at least this is what the apache conf chunk does. Well -- we have for 
the numguess example an URL of 
http://localhost:8080/examples/jsp/source.jsp?/jsp/num/numguess.jsp -- i.e. it does 
not meet the condition and throws exception.

It is not clear to me what does an absolute path mean when calling a method from a jsp.

(Bellow is what I get if somebody cares to read it)

Thanx in advance for any assistance.

Best regards,
Emil S. Petkov


Error: 500
Location: /examples/jsp/source.jsp
Internal Servlet Error:

javax.servlet.ServletException: Invalid JSP file /jsp/num/numguess.jsp
 at 
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:459)
 at 
jsp._0002fjsp_0002fsource_0002ejspsource_jsp_1._jspService(_0002fjsp_0002fsource_0002ejspsource_jsp_1.java:89)
 at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
 at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:177)
 at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318)
 at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:391)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
 at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
 at org.apache.tomcat.core.Handler.service(Handler.java:286)
 at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
 at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797)
 at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
 at 
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:210)
 at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
 at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
 at java.lang.Thread.run(Thread.java:484)

Root cause: 
javax.servlet.jsp.JspTagException: Invalid JSP file /jsp/num/numguess.jsp
 at examples.ShowSource.doEndTag(ShowSource.java:26)
 at 
jsp._0002fjsp_0002fsource_0002ejspsource_jsp_1._jspService(_0002fjsp_0002fsource_0002ejspsource_jsp_1.java:76)
 at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
 at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:177)
 at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318)
 at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:391)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
 at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
 at org.apache.tomcat.core.Handler.service(Handler.java:286)
 at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
 at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797)
 at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
 at 
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:210)
 at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
 at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
 at java.lang.Thread.run(Thread.java:484)



Reply via email to